SE - Software Testing
SE - Software Testing
Several definitions:
- Development Engineers
- Only perform unit tests and integration tests
Validation Requirements
test
• Component/Unit testing
• Integration testing
• System testing
• Acceptance testing
• Regression testing
9
Levels of Testing
What users
really need Acceptance testing
11
System Testing
12
System Testing
• Functional testing
– Test end to end functionality
– Requirement focus
• Test cases derived from specification
– Use-case focus
• Test selection based on user profile
13
System Testing
• Non-functional testing
• Quality attributes
– Performance, can the system handle required throughput?
15
Acceptance Testing
• Focus on:
– Building confidence
– Compliance with defined acceptance criteria in the contract
16
REGRESSION TESTING
17
Re-Test and Regression Testing
19
Strategies
• Code coverage strategies, e.g.
– Decision coverage
– Path coverage
– Data-Flow analysis (Defines -> Uses)
• Specification-based testing, e.g.
– Equivalence partitioning
– Boundary-value analysis
– Combination strategies
• State-based testing
• Black-box or behavioral testing
– knowing the specified function a product is to perform and
demonstrating correct operation based solely on its specification 20
• Statement coverage
– Each statement should be executed by at least one test case
– Minimum requirement
• Branch/Decision coverage
– All paths should be executed by at least one test case
– All decisions with true and false value
21
Specification-based testing
• Equivalence partitioning
– Identify sets of input from specification
• Assumption: if one input from set s leads to a failure, then all inputs from set
s will lead to the same failure
– Chose a representative value from each set
– Form test cases with the chosen values
22
Specification-Based Testing
Expected output
Specification
Apply input
Actual output
Program
24
Boundary Value Analysis
Black-box technique
focuses on classes and also on the boundaries of the input
domain.
Guidelines:
26
Thank You
[email protected]