Test planning
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.
Test design
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 execution and reporting
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.