Full Lifecycle Testing
Full Lifecycle Testing is QA involvement at every phase of the application development process. Starting from the requirements gathering stage (or any other stage in which your project is at present), and continuing through the implementation and maintenance of your solution, Vyom will test every interim deliverable to insure that it meets requirements and specifications for that phase.
In the classic and ideal approach to quality assurance, an end-to-end testing of the software should be performed. In practice, much depends on the project and resource constraints, including time and budget. Vyom has flexible processes that can deviate from the classic approach and adjust to the real project conditions at any stage.
The strategy of early and often testing optimizes costs and reduces a solution�s time-to-market, although it may seem to contradict from the first approach. However, the later code defects are found in the development life cycle, the higher the costs and the longer the time needed to fix them.
By outsourcing the quality assurance function to Vyom with its constant improvement of business processes, deep expertise and focus on QA services, you get significant business value and cost benefits. Vyom�s independent team will handle all your quality assurance tasks, including the development of a QA strategy, resource planning, team building and overall management, while you concentrate on your core activities.
Stages of full lifecycle testing
Full lifecycle testing is a combination of different phases, each having a specific input and output. In full lifecycle testing, development and testing stages are coordinated to complement each other. These stages are described below.
-
Software requirements stage :
Since 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 first-hand 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.
-
QA strategy development and planning :
Vyom 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 hassle of unorganized and frequent testing, and ensures that the most crucial parts of the application are not left out.
Well-timed planning is essential at all stages of the project and builds trust between the customer and the vendor. At the beginning of the project, estimation and accurate definition of plans (build planning, test types and order, efforts) are established
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.)
-
Requirements testinge :
Even flawless code may prove ineffective if based on poorly-documented, incomplete and ill-defined requirements � that is, if the software is not accepted by end users.
For optimal results, testing should begin before the first line of code is written, at the requirements analysis stage. By performing requirements testing, we assure you eliminate the majority of potential defects in the solution, since many of arise at the requirements stage. Vyom will test your requirements for conformity, completeness, relevance, and consistency.
-
Test documentation creation :
Depending on your project, test documentation may vary in detail, format and coverage, but in any case it makes the process transparent to you, increases the testing quality, and shows what you are paying for. This can be presented in different types of documents: acceptance sheets, test cases and test surveys, etc. As your project grows, it is also important to keep testing documentation current, so at Vyom we pay special attention to the relevancy of documents and continuously update them.
-
Prototype testing :
A prototype can be a set of images, static web pages, or the initial release version of a system. As an application�s foundation, the prototype defines the further stability and performance of the application and by this plays an important role in the overall QA strategy. Prototype testing includes detection of design, logical, and structural errors. During prototype testing, Vyom gives much consideration to usability testing, since making changes on the conceptual level of the prototype prevents potentially expensive rework. Testing of code for compliance to standards (xhtml/html, css, rss/rdf, wai, etc.), functional, GUI and accessibility testing are also executed, if necessary.
-
Regular testing :
Planned testing may cover different aspects:
Unit testing Acceptance Test (Smoke Test) Functional Testing Integration testing Positive Test (Minimal Acceptance Test) GUI Testing Ad-hoc Test (Full Acceptance Test) Usability Testing Regression 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 defects found that will save you time and allow you to stay as involved as you wish. Both customer and Vyom�s own templates can be used for reporting.
-
Stabilization testing :
Stabilization testing is carried out when all functionality has been developed and the application is almost ready to be launched in production. Interconnection between all modules and parts becomes ever more clear, and the testing is carried out in live conditions. Some features can be tested to their best only at this stage, e.g. the work of large databases, real life payments, sms services, etc.
-
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 it continues to provide the business function it was originally designed for, without impacting other functions or other systems with which it interacts. When the environment changes (hardware or software), the solution has to be retested in different aspects to make certain that it continues to operate as expected and works well with other parts and modules of the software (regression testing is used here).