What are test cases
description of a set of actions performed on software and expected outcome
what are tests
what is Testing
practice of creating, maintaining, executing, evaluating test cases
What is software testing
what are program testing goals
What is a “good” test
How to ensure accuracy of software
verification examples
validation examples
static analysis
inspection:
1. requirement specification
2. architecture
3. UML design
4. database schema
5. program
6. unable to check nonfunctional such as performance and usability
dynamic analysis
testing:
1. exercising
2. observing product behaviour
static/dynamic testing differences
static
1. find bug without code execution
2. verification stage
3. cost effective
4. done with reviews, walkthroughs, inspections
dynamic
1. execute code to find result
2. validation stage
3. expensive
4. done with unit, system, integration tests
software testing process
inputs: preconditions
expected: post conditions, actual output
stages of testing
debugging process
error handling approaches
ideal test policies
exhaustive testing
- test all possible scenarios
- impractical but not impossible
- need testing techniques for wide coverage without exhaustive testing
test driven development
benefits of TDD
black box testing
white box testing
advantages of black box testing
black box testing disadvantages