当前位置:文档之家› Software Testing Verification and Validation:软件测试验证和确认.

Software Testing Verification and Validation:软件测试验证和确认.

Static techniques
• Software Inspections
– of requirements documents – of design documents (design reviews) – of source code (code reviews) – automated static analysis
5
Testing vs. Debugging
• Verification and Validation
– looking and categorizing existence of system defects [example] [bug list]
– “What?”
• Debugging
– locating and correcting these defects – “Why?”
• Dynamic Techniques
– Software Testing (requires executable program)
Ch.19 - Verification & Validation
Tuesday, September 15, 2020
2
Verification and Validation
• System, sub-system tests can be written against designs
Ch.19 - Verification & Validation
Tuesday, September 15, 2020
8
The Test Plan
Requir ements specification
System integration test
Sub-system integration test
Module and unit code and tess
Ch.19 - Verification & Validation
Tuesday, September 15, 2020
9
Software Inspections (code reviews)
Ch.19 - Verification & Validation
Tuesday, September 15, 2020
4
Verification and Validation
Goals
• Establish that software is fit for purpose, not “bug-free”
Ch.19 - Verification & Validation
Tuesday, September 15, 2020
6
Regression Testing
• Canned test runs to verify that new defects were not introduced during “debugging” session.
Ch.19 - Verification & Validation
Tuesday, September 15, 2020
1
Verification and Validation
Techniques
• Static Techniques
– Software Inspections (against source code)
Ch.19 - Verification & Validation
Tuesday, SeptPlan
• Planning should begin right after requirements specification
– Acceptance tests can be written then
• Defect testing [Ch.20]
– verifying non-functional requirements (e.g. performance; reliability)
• Statistical testing [Ch.21]
– automated dynamic analysis (if applicable)
System specification
System design
Detailed design
Acceptance test plan
System integration test plan
Sub-system integration test plan
Service
Acceptance test
Software Testing: Verification and Validation
• Verification “Are we building the product right?”
• Validation “Are we building the right product?”
Barry Boehm, 1979
• “Good enough” depends on:
– Software function (critical nature?) – User expectations – Market
• competition, price
Ch.19 - Verification & Validation
Tuesday, September 15, 2020
• >60% of program errors can be detected in code review [Fagan86]
Ch.19 - Verification & Validation
Tuesday, September 15, 2020
3
Verification and Validation
Dynamic techniques
• Software Testing
– specification vs. implementation
• Not exhaustive • Targeted to a particular interface
– components, sub-systems, integrated system
• Different levels (lengths) of regression tests
– Targeted regressions
相关主题