QA activities are very important for the success of any project and should start at the same time as development or even before when the first drafts of project requirements are being developed. Each phase includes time for test plan development and then for intensive on-going QA. At the end of each phase, we reserve time for stabilization, regression, and post-deployment testing.
We believe that automated unit-testing should often play a significant role in the development process. Therefore all estimates in the proposed project’s plan include time for the development of unit tests that ensures better code quality and less amount of time spent fixing bugs.
Another important role of QA is to be the internal product owner and to have the necessary understanding of the system, which ensures full of value functional testing on the one hand, and development team consultation on the other.
Quality Assurance Is More Than Simply Test Execution
- Analysis and Design
Mission, goals, test activities.
Actual progress against the plan.
- Transformation of test activities into test conditions and test scenarios
- Designing and prioritizing test scenarios based on Acceptance criteria for the story
Implementation and Execution
- Manual test execution
- Developing automated test scripts
- Test environment maintenance
- Logging test execution results
- Repeating test activities as a result of action taken for each inconsistency
Evaluating Exit Criteria and Reporting
- Review failed tests: either create bug or update test
- Test closure activities
- Collection of data from completed test activities to consolidate experience, test ware, facts and numbers
All listed QA activities are repeatable at project milestones, system release, maintenance release etc.
While performing QA, we will make sure that:
- Test coverage of all core functions is close to or equals 100%
- Existing functionality was not affected by the changes
- System performance corresponds requirements
- System throughput is not degraded and has enough capacity for growth
- Extensive testing will be integrated into each development phase
The QA team is responsible for providing management with detailed information about the quality of the developing solution so they can make important decisions regarding the project. Management needs to be equipped with metrics from all aspects of QA.
There are four categories of metrics for functional testing that are typically used by DataArt in the projects:
This metric indicates a performance (past, present, and future) of the implemented automated testing process and related efforts and artifacts. It can also be differentiated as: unit test automation and integration or system test automation.
Percent of test case execution indicates the progress of testing by giving the percentage of test cases executed with the result of a pass, fail, or blocked result. Test case pass rate indicates how many tests have passed, grouped by test type, phase tested, and/or functional area.
Trend analysis indicates the number of open or unresolved defects by date and aids in determining the quality of testing as well as the progress of resolving defects. Defects by severity indicates the number of defects grouped by severity level. The number of defects in each level indicates the quality of the solution.
Indicate the percentage of tests that have at least one associated requirement. This metric determines the amount of test coverage for the requirements.