loading ...
  • Success stories

    Get to know our skills and experience by examining featured projects.


  • Full Lifecycle Testing

     

    QA involvement at every phase of software development

     

    Starting from the requirements gathering stage (or any other stage of your current project), 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.

    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. A1QA has flexible processes that can deviate from the classic approach and be adjusted to the 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 life cycle, 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 its constant improvement of business processes, deep expertise and focus on QA services, you get significant business value and cost benefits. A1QA'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.

    Contact us to benefit from full life-cycle testing service!

     

    Stages of full life-cycle testing

    Full life-cycle testing is a sequence 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.

     

    1. 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.

    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 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, estimates 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.)

     

    3. Requirements testing

    Even flawless code may prove ineffective if 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. By performing requirements testing, we assist you in eliminating the majority of potential defects in the solution, since many of them arise at the requirements stage. A1QA will test your requirements for conformity, completeness, relevance and consistency.

     

    4. Test documentation creation

    Depending on your project, test documentation may vary in detail, format and coverage, but in each 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 all testing documentation up-to-date, therefore 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 an application's foundation, the prototype reveals stability and performance of the application and by this plays an important role in the overall QA strategy. Prototype testing includes detection of design, structural or logical errors. During prototype testing A1QA gives much consideration to usability testing, since making changes on the conceptual level of the prototype prevents potential expensive rework. Testing of code for compliance with standards (xhtml/html, css, rss/rdf, wai, etc.), functional, GUI and accessibility testing are also executed, if necessary.


    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 defects found that will save your time and allow you to be as much involved as you 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 almost ready to be launched into 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.

     

    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 has to be retested in different aspects to make sure that it continues to operate as expected and works well with other parts and modules of the software (regression testing is used here).