Full Lifecycle Testing

Starting from the requirement-gathering stage and continuing through the implementation and maintenance of your solution, A1QA will test every interim deliverable to ensure that it meets requirements and specifications for that phase.

The classic — and ideal — approach to quality assurance demands end-to-end software testing. In practice, much depends on project and resource constraints, including time and budget. A1QA's flexible processes can deviate from the classic approach and can be adjusted to real project conditions at any stage.

The strategy of early and frequent testing optimizes costs and reduces a solution's time-to-market, although that may seem contradictory at first glance. However, the later code defects are discovered in the development lifecycle, the higher the costs will be and the more time will be required to fix them.

By outsourcing the quality assurance function to A1QA, with our constant improvement of business processes, deep expertise and focus on QA services, clients receive significant business value and cost benefits. A1QA's independent team will handle all quality assurance tasks, including the development of a QA strategy, resource planning, team building and overall management, while business directors concentrate on their core activities.

Contact us to benefit from full lifecycle testing service!

Stages of full lifecycle testing

Full lifecycle testing is a sequence of different phases, each having a specific input and output. In full lifecycle testing, the development and testing stages are coordinated to complement each other. These stages are described below.

1. Software requirements stage

Because a tester thinks from the user's point of view, it is particularly important that he or she is involved in the project from the requirements-gathering stage (this is especially true for product-based companies). In this case, the tester gets firsthand information from the customer and has a clear understanding of testing and QA goals. Ideally, each module should be discussed by a developer, a tester and a user.

2. QA strategy development and planning

A1QA attaches high value to a well-defined QA strategy, as it allows delivery of a cost-effective solution and tests the most important parts of the software at the right times. A good strategy eliminates the confusion of unorganized and frequent testing yet ensures that the most crucial parts of the application are not neglected.

Well-timed planning — essential at all stages of the project — builds trust between the customer and the vendor. At the beginning of the project, the team establishes estimates and accurate definition of plans (build planning, test types and order, efforts).

The test plan aligns with the QA strategy and contains the following information:

  • Testing methodologies and tools
  • Duration and objective of each phase
  • Test types
  • Number of features to be tested and test coverage
  • Efforts and human resources required
  • Other QA-related and auxiliary activities (test documentation creation, analysis, reports creation, etc.)

3. Requirements testing

Even flawless code may prove ineffective if it is based on poorly documented, incomplete and ill-defined requirements.

For optimal results, testing should begin before the first line of code is written, at the requirements analysis stage. A1QA will test project requirements for conformity, completeness, relevance and consistency. This process eliminates the majority of potential defects in the solution, since many issues arise at the requirements stage.

4. Test documentation creation

Depending on the project, test documentation may vary in detail, format and coverage, but in each case it makes the process transparent, increases testing quality and demonstrates return on investment. Results can be presented in various formats, as appropriate — acceptance sheets, test cases, test surveys, etc. As a project grows, it is also important to keep all testing documentation up-to-date. At A1QA we pay special attention to the relevance of documents and their regular update.

5. Prototype testing

A prototype can be a set of images, static Web pages or the initial release version of a system. As the foundation of an application, the prototype reveals the application's stability and performance, and thus plays an important role in the overall QA strategy. Prototype testing includes the detection of design, structural or logical errors. During prototype testing A1QA gives great consideration to usability testing, as revising the prototype at the conceptual level can prevent expensive rework. At this stage, code is also tested for compliance with coding (XHTML/HTML, CSS, RSS/RDF, WAI, etc.), functional, GUI and accessibility standards.

6. Regular testing

Planned testing may cover different aspects. 

System Elements Test Depth Specific Areas

Unit Testing

Integration Testing

Acceptance Test (Smoke Test)

Positive Test (Minimal Acceptance Test)

Ad-hoc Test (Full Acceptance Test)

Regression testing

Functional Testing
GUI Testing
Usability Testing
Security Testing
Database Testing
Cross-platform Testing
Cross-browser Testing
Accessibility Testing
Installation Testing
Configuration Testing
Localization Testing
Performance/Load Testing
Stress Testing

We produce customized online reports about activities performed and identified defects. These summary analyses save time and allow our clients to be as involved as they wish. Both the customer's and A1QA's own templates can be used for reporting.

7. Stabilization testing

Stabilization testing is carried out when all functionality has been developed and the application is nearly ready to be launched into production. Interconnection among all modules and parts becomes refined, and testing is carried out in live conditions. Some features — e.g., the work of large databases, real life payments, SMS services, etc. — can be tested authentically only at this stage.

8. Release to production and product support

Even after the system has been released, testing still plays an important role in the maintenance process.  All changes introduced to a system must be tested to ensure that the system continues to provide the business function it was originally designed for, without impacting other functions or other systems it interacts with. When the environment changes (hardware or software), the solution must be retested to ensure that it continues to operate as expected and works effectively with other parts and modules of the software (regression testing is used here).