The skills needed to execute tests, design test cases; use test tools; and monitor testing to ensure correctness and completeness. Specifically this knowledge category will address:
Test Design and Test Data/Scripts Preparation
- Specifications – assure test data scripts meet the objectives included in the test plan.
- Cases – development of test cases, including techniques and approaches for validation of the product. Determination of the expected result for each test case.
- Test Design – considerations including tests (including functional, negative, performance, load/stress); Test Design Strategies (e.g. small modular tests, scenario based tests); Test Design Attributes (repeatable, reusable level of detail: trade-offs in specificity vs. test case maintenance, how to organize; e.g. by feature, by test type, by application architectural area (client/server).
- Scripts – development of the on-line steps to be performed in testing, focusing on the purpose and preparation of procedures; emphasizing entrance and exit criteria.
- Data – development of test inputs, use of data generation tools. Determination of the data set or sub-sets needed to ensure a comprehensive test of the system. The ability to determine data that suits boundary value analysis and stress testing requirements.
- Test Coverage – achieving of the coverage objectives in the test plan to specific system components.
- Platforms – identify the minimum configuration and platforms on which the test must function.
- Test Cycle Strategy
- Determination of the number of test cycles to be conducted during the test execution phase of testing.
- Determination of what type of testing will occur during each test cycle.
Performing Tests
- Execute Tests – perform the activities necessary to execute tests in accordance with the test plan and test design (including setting up tests, preparing data base(s), obtaining technical support, and scheduling resources).
- Compare Actual versus Expected Results – determine if the actual results met expectations (note: comparisons may be automated).
- Documenting Test Results – recording test results in a desired form. Information to be recorded must be defined. Results can include incidents not related to testing that can impact software quality, such as time required to process a business transaction or ease of use.
- Use of Test Results – how the results of testing are to be used, and who has access to the test results.
- Record Discrepancies – documenting defects as they happen including supporting evidence.
Defect Tracking
(Note: defect tracking begins by recording a variance from expectations; and will not be considered a true defect until the originator acknowledges the variance as an incorrect condition.)
- Defect Recording – defect recording is used to describe and quantify deviations from requirements/expectations.
- Defect Reporting – reports the status of defects; including severity and location.
- Defect Tracking – monitoring defects from the time of recording until satisfactory resolution has been determined and implemented.
Testing Software Changes
- Static Testing – Evaluating changed code and associated documentation at the end of the change process to ensure correct implementation of the change.
- Regression Testing – testing the whole product to ensure that unchanged functionality performs as it did prior to implementing a change.
- Verification – Reviewing requirements, design, and associated documentation to ensure they are updated correctly as a result of a change.
|