Software Testing Unit3
Software Testing Unit3
Testing
Quality Assurance
Testing
Quality Assurance
■ Multiple activities throughout the dev
process
⚪ Development standards
⚪ Version control
⚪ Change/Configuration management
⚪ Release management
⚪ Testing
⚪ Quality measurement
⚪ Defect analysis
⚪ Training
Testing
■ Also consists of multiple activities
⚪ Unit testing
⚪ Whitebox Testing
⚪ Blackbox Testing
⚪ Data boundary testing
⚪ Code coverage analysis
⚪ Exploratory testing
⚪ Ad-hoc testing
⚪ …
Testing Axioms
■ Testing cannot show that bugs do not exist
■ The More Bugs you find, the More bugs there are.
Errors, Faults and Failures
■ Error – a human action that produces an
incorrect result
■ Fault/defect/bug – an incorrect step, process
or data definition in a computer program,
specification, documentation, etc.
■ Failure – The deviation of the product from
its expected behaviour. This is a
manifestation of one or more faults.
Common Error Categories
■ Boundary-Related
■ Calculation/Algorithmic
■ Control flow
■ Errors in handling/interpretting data
■ User Interface
■ Exception handling errors
■ Version control errors
What do we test? When do we test it?
■ Design
⚪ Does this satisfy the specification?
⚪ Does it conform to the required criteria?
⚪ Will this facilitate integration with existing
systems?
■ Implemented Systems
⚪ Does the system do what is it supposed to do?
■ Documentation
⚪ Is this documentation accurate?
⚪ Is it up to date?
⚪ Does it convey the information that it is meant to
convey?
Software Testing Strategies
..\..\..\software-test-report-template.doc
..\..\..\test-summary-report-template.doc
Test Execution
Inputs Outputs
Component Component
A B
Component
C
Database
Integration Testing
Component Component
A B
Component
C
Database
System Testing
Component Component
A B
Component
C
Database
Unit/Integration Testing
Unit/Integration Testing
A good unit test…