Issued throughout the quality assurance process, QA deliverables help track the progress of QA activities and keep project stakeholders informed of it. Our experience as a provider of managed testing shows that QA deliverables are of particular importance in the context of vendor management, as they provide a realistic look into a vendor’s performance. ScienceSoft’s QA team issues the deliverables as sets of particular documents at three key stages of the software testing process.
A test strategy is the most high-level testing delivarable aimed to address quality-related risks during the software development lifecycle, outline testing approach, objectives, and test automation involvement, if relevant.
In the majority of ScienceSoft’s projects, a test plan guides the upcoming testing activities. A QA manager or a lead QA issues a test plan in line with the standards welcomed at an organization, for instance, IEEE 29119-3. The test plan covers the following aspects:
- Test deliverables.
- Testing objectives.
- Testing scope.
- Test coverage.
- A test team structure.
- Testing risks and contingencies.
- Critical success factors.
- A testing schedule.
Large-scale, long-term projects with a number of vendors involved may require a quality plan. It formalizes a project’s quality objectives, documentation requirements, quality control procedures, stakeholders’ roles and responsibilities, and other aspects of quality management.
In small-scale projects following Agile methodologies, QA activities planned for each new sprint are, as a rule, covered in a sprint plan. In their turn, Agile project of a larger scale require a test plan, which gets tuned and updated to reflect the objectives of every release.
At this stage, the test team plans and describes the steps to perform in order to achieve the set testing objectives. These steps can be reflected in test cases or checklists.
Test cases outline the preconditions, inputs and actions required for verifying a particular requirement, as well as state an expected test result. Several test cases applied to specific functionality or used with a specific purpose can be united in test suites.
Checklists can replace test cases in projects with limited time allocated for test design or when an application under test is simple in terms of functionality.
We also advise to prepare test data at the test design stage, especially when it comes to the projects dealing with applications strongly dependent on data, for instance, BI applications. The test data should cover all required inputs: text values, images (e.g., logos, signatures), test credit cards, etc.
In projects with complex requirements to a test environment, ScienceSoft’s QA team provides test environment configuration guidelines as well. The guidelines describe the hardware, software, and network configurations for each required environment.
Test engineers execute the designed test cases and document test execution results in the form of test protocols. Then, they report the discovered defects according to the policy described in the test plan. As a rule, defect reports feature the data about the nature, priorities and statuses of the identified issues.
Also, ScienceSoft’s test teams issue a test results report on a build/daily/weekly basis or any other appropriate schedule. This report helps project stakeholders evaluate the quality of software under test and make a fact-based decision on the software release. The test results report features a summary of the performed testing activities, including:
- Software quality analysis.
- Quality analysis of separate software modules.
- The number of defects discovered.
- The distribution of defects by severity.
- Test execution and defect validation statistics.
- Overall defect dynamics.
- Defect dynamics by severity.
Detailed QA deliverables provided according to schedule help you make fact-based decisions and ensure transparent collaboration with your managed testing services provider. ScienceSoft has a 20-years’ experience in providing managed testing services and is ready to support you throughout the software testing process, making sure you are well-informed about the quality of your software.