Find out what Test Design, Test Implementation, Test Execution, and Test Completion is.
Beniamin Martis
?QA Software Tester @CodeRevival ? Freelancer ? Contractor | I don’t care if it works on your machine! We are not shipping your machine!
Test Design
During test design, the test conditions are elaborated into high-level test cases, sets of high-level test cases, and other testware. ?Test analysis answers the question “what to test?” while test design answers the question “how to test?”
Test design includes the following major activities:
· Designing and prioritizing test cases and sets of test cases
· Identifying necessary test data to support test conditions and test cases
· Designing the test environment and identifying any required infrastructure and tools
· Capturing bi-directional traceability between the test basis, test conditions, and test cases
Test implementation
During test implementation, the testware necessary for test execution is created and/or completed, including sequencing the test cases into test procedures. So, test design answers the question “how to test?” while test implementation answers the question “do we now have everything in place to run the tests?”
Test implementation includes the following major activities:
· Developing and prioritizing test procedures, and, potentially, creating automated test scripts
· Creating test suites from the test procedures and (if any) automated test scripts
· Arranging the test suites within a test execution schedule in a way that results in efficient test execution (see section 5.2.4)
· Building the test environment (including, potentially, test harnesses, service virtualization, simulators, and other infrastructure items) and verifying that everything needed has been set up correctly
· Preparing test data and ensuring it is properly loaded in the test environment
· Verifying and updating bi-directional traceability between the test basis, test conditions, test cases, test procedures, and test suites
Test execution
During test execution, test suites are run in accordance with the test execution schedule.
领英推荐
Test execution includes the following major activities:
· Recording the IDs and versions of the test item(s) or test object, test tool(s), and testware
· Executing tests either manually or by using test execution tools
· Comparing actual results with expected results
· Analyzing anomalies to establish their likely causes (e.g., failures may occur due to defects in the code, but false positives also may occur ?
· Reporting defects based on the failures observed ?
· Logging the outcome of test execution (e.g., pass, fail, blocked)
· Repeating test activities either as a result of action taken for an anomaly, or as part of the planned testing (e.g., execution of a corrected test, confirmation testing, and/or regression testing)
· Verifying and updating bi-directional traceability between the test basis, test conditions, test cases, test procedures, and test results.
Test completion
Test completion activities collect data from completed test activities to consolidate experience, testware, and any other relevant information. Test completion activities occur at project milestones such as when a software system is released, a test project is completed (or cancelled), an Agile project iteration is finished, a test level is completed, or a maintenance release has been completed.
Test completion includes the following major activities:
· Checking whether all defect reports are closed, entering change requests or product backlog items for any defects that remain unresolved at the end of test execution
· Creating a test summary report to be communicated to stakeholders
· Finalizing and archiving the test environment, the test data, the test infrastructure, and other testware for later reuse
· Handing over the testware to the maintenance teams, other project teams, and/or other stakeholders who could benefit from its use
· Analyzing lessons learned from the completed test activities to determine changes needed for future iterations, releases, and projects
· Using the information gathered to improve test process maturity