Lesson 7 - Software Testing (Ch 22) Flashcards
Software testing must be planned carefully to avoid _____ development time and resources.
wasting
Testing begins “in the _____” and progresses “to the _____”.
small, large
Initially _____ components are tested and debugged.
individual
After the individual components have been tested and added to the system, _____ testing takes place.
integration
Once the full software product is completed, _____ testing is performed.
system
The __________ document should be reviewed like all other software engineering work products.
Test Specification
Strategic Approach to Software Testing
• Many software errors are eliminated before testing begins by conducting effective technical _____
reviews
Strategic Approach to Software Testing
• Different testing techniques are _____ at different points in time.
appropriate
Strategic Approach to Software Testing
• The developer of the software conducts testing and may be assisted by _____ test groups for large projects.
independent
Strategic Approach to Software Testing
• Testing and debugging are _____ activities.
different
Strategic Approach to Software Testing
• Debugging must be _____ in any testing strategy.
accommodated
Verification and Validation
• Make a distinction between verification (are we building the __________?) and validation (are we building the __________?)
product right, right product
Verification and Validation
• Software testing is only one _____ of Software Quality Assurance (SQA)
element
Verification and Validation
• Quality must be built in to the _____ process, you can’t use testing to add quality after the fact
development
Organizing for Software Testing
• The role of the __________ is to remove the conflict of interest inherent when the builder is testing his or her own product.
Independent Test Group (ITG)
Organizing for Software Testing
o The developer should do no testing at all
o Software is tossed “over the wall” to people to test it mercilessly
o Testers are not involved with the project until it is time for it to be tested
Misconceptions regarding the use of independent testing teams
Organizing for Software Testing
• The developer and ITGC must work together throughout the software project to ensure that thorough _____ will be conducted
tests
Software Testing Strategy
• Unit Testing – makes heavy use of testing techniques that exercise specific control paths to detect errors in each software component _______
individually
Software Testing Strategy
• Integration Testing – focuses on issues associated with verification and program _____ as components begin interacting with one another
construction
Software Testing Strategy
• Validation Testing – provides assurance that the software validation criteria (established during requirements analysis) meets all functional, behavioral, and performance _____
requirements
Software Testing Strategy
• System Testing – verifies that all system elements mesh properly and that _____ system function and performance has been achieved
overall
- Specify product requirements in a quantifiable manner before testing starts.
- Specify testing objectives explicitly.
- Identify categories of users for the software and develop a profile for each.
- Develop a test plan that emphasizes rapid cycle testing.
- Build robust software that is designed to test itself.
- Use effective formal reviews as a filter prior to testing.
- Conduct formal technical reviews to assess the test strategy and test cases.
- Develop a continuous improvement approach for the testing process.
Strategic Testing Issues
- Module interfaces are tested for proper information flow.
- Local data are examined to ensure that integrity is maintained.
- Boundary conditions are tested.
- Basis (independent) path are tested.
- All error handling paths should be tested.
- Drivers and/or stubs need to be developed to test incomplete software.
Unit Testing
- Sandwich testing uses top-down tests for upper levels of program structure coupled with bottom-up tests for subordinate levels
- Testers should strive to indentify critical modules having the following requirements
- Overall plan for integration of software and the specific tests are documented in a test specification
Integration Testing