software testing Strategic in software engineering
SOFTWARE TESTING STRATEGIES:
In this article today learn software testing Strategic in software engineering.in the previous tutorial spiral model of software engineering.
A strategy for software testing integrates software test case design methods into a well-planned series of steps that result in the successful construction of software.
The strategy provides a road map that describes the steps to be conducted as part of testing when these steps are planned and then undertaken, and how much effort, time, and resources will be required. Therefore, any
testing strategy must incorporate test planning, test case design, test execution, and resultant data collection and evaluation.
A software testing strategy should be flexible enough to promote a customized testing approach. At the same time, it must be rigid enough to promote reasonable planning and management tracking as the project progresses.
A Strategic Approach:
To Software Testing for software testing Strategic in software engineering
Testing is a set of activities that can be planned in advance and conducted systematically. For this reason, a template for software testing a set of steps into which we can place specific test case design techniques and testing methods should be defined for the software process.
A number of software testing strategies have been proposed in the literature. All Provide the software developer with a template for testing and all have the following
generic characteristics in software testing Strategic :
• Testing begins at the component level2 and works "outward" toward the integration of the entire computer-based system.
• Different testing techniques are appropriate at different points in
time.
• Testing is conducted by the developer of the software and (for large
projects) an independent test group.
• Testing and debugging are different activities, but debugging must be
accommodated in any testing strategy.
A strategy for
software testing must accommodate low-level tests that are necessary to verify that a small source code segment has been correctly implemented as well as high-level tests that validate major system functions against customer requirements. A strategy must provide guidance for the practitioner and a set of milestones for the manager. Because the steps of the test strategy occur at a time when dead-line pressure begins to rise, progress must be measurable and problems must surface as early as possible.
Verification and Validation:
Software testing is one element of a broader topic that is often referred to as verification and validation (V&V). Verification refers to the set of activities that ensure that software correctly implements a specific function. Validation refers to a different set of activities that ensure that the software that has been built is traceable to customer requirements.
• Verification: "Are we
building the product right?" Validation: "Are we building the right product?"
A Software Testing Strategy :
The software engineering process may be viewed as the spiral illustrated
in Figure
Strategic Issues:
Strategic Issues in software testing Strategic in software engineering Specify product requirements in a quantifiable manner long before testing commences. Although the overriding objective of testing is to find errors, a good testing strategy also assesses other quality characteristics such as portability, maintainability, and usability. These should be specified in a way that is measurable so that testing results are unambiguous.
State testing objectives explicitly. The specific objectives of testing
should be stated in measurable terms. For example, test effectiveness, test
coverage, mean time to failure, the cost to find and fix defects, remaining
defect density or frequency of occurrence, and test work-hours per regression
test all should be stated within the test plan.
Understand the users of the software and develop a profile for each user category. Use cases that describe the interaction scenario for each class of users can reduce overall testing effort by focusing on testing on actual use of the product.
Develop a testing plan that emphasizes “rapid cycle testing." The feedback generated from these rapid cycle tests can be used to control quality levels and the corresponding test strategies.
Build “robust” software that is designed to test itself. Software should be designed in a manner that uses ant bugging techniques. That is, software should be capable of diagnosing certain classes of errors. In addition, the design should accommodate automated testing and regression testing
Use effective formal technical reviews as a filter prior to testing. Formal technical reviews (Chapter 8) can be as effective as testing in uncovering errors. For this reason, reviews can reduce the amount of testing effort that is required to produce high-quality software.
Conduct formal technical reviews to assess the test strategy and test cases themselves. Formal technical reviews can uncover inconsistencies, omissions, and outright errors in the testing approach. This saves time and also improves product quality.
Develop a continuous improvement approach for the testing process. The test strategy should be measured. The metrics collected during testing should be used as part of a statistical process control approach for software testing.
No comments:
Post a Comment