Section 6.
5
System Testing
1. Overview
2. Functional testing
3. Performance testing
4. Acceptance testing
1
6.5.1 System Testing Overview
● Focus of system testing
➢ the complete system
● System testing ensures that the system complies with:
➢ the functional requirements
➢ the non-functional requirements
©2025 Christine Laurendeau, based on Bruegge and Dutoit, Object-Oriented Software Engineering, 3rd ed., 2010 2
System Testing Overview (cont.)
● System testing activities include:
➢ functional testing
➢ performance testing
➢ field testing
➢ acceptance testing
➢ installation testing
©2025 Christine Laurendeau, based on Bruegge and Dutoit, Object-Oriented Software Engineering, 3rd ed., 2010 3
6.5.2 Functional Testing
● Characteristics of functional testing
➢ it’s also known as requirements testing
➢ it’s a blackbox technique
➢ test cases are derived from the functional model
● Goal is to find differences between:
➢ the system and the functional requirements
➢ the use case model and the observed system behaviour
©2025 Christine Laurendeau, based on Bruegge and Dutoit, Object-Oriented Software Engineering, 3rd ed., 2010 4
Functional Testing (cont.)
● Strategy
➢ inspect the use case model
➢ identify scenarios that are likely to cause failures
➢ exercise common and exceptional use cases
©2025 Christine Laurendeau, based on Bruegge and Dutoit, Object-Oriented Software Engineering, 3rd ed., 2010 5
Functional Testing (cont.)
©2025 Christine Laurendeau, based on Bruegge and Dutoit, Object-Oriented Software Engineering, 3rd ed., 2010 6
Functional Testing (cont.)
©2025 Christine Laurendeau, based on Bruegge and Dutoit, Object-Oriented Software Engineering, 3rd ed., 2010 7
Functional Testing (cont.)
©2025 Christine Laurendeau, based on Bruegge and Dutoit, Object-Oriented Software Engineering, 3rd ed., 2010 8
6.5.3 Performance Testing
● Goal is to find differences between:
➢ the system and non-functional requirements that affect design
● Test cases are derived from:
➢ the functional model
➢ the non-functional requirements
©2025 Christine Laurendeau, based on Bruegge and Dutoit, Object-Oriented Software Engineering, 3rd ed., 2010 9
Performance Testing (cont.)
● Performance testing includes:
➢ stress testing
▪ checks if the system can respond to multiple simultaneous requests
➢ volume testing
▪ finds faults associated with large amounts of data
➢ security testing
▪ finds security faults in the system
▪ one approach: white hat hackers try to break in
©2025 Christine Laurendeau, based on Bruegge and Dutoit, Object-Oriented Software Engineering, 3rd ed., 2010 10
Performance Testing (cont.)
● Performance testing includes (cont.):
➢ timing testing
▪ find system behaviours that violate timing constraints
➢ recovery testing
▪ evaluate the ability of the system to recover from error states
● System is deemed validated if:
➢ functional and performance testing produce no failures
©2025 Christine Laurendeau, based on Bruegge and Dutoit, Object-Oriented Software Engineering, 3rd ed., 2010 11
6.5.4 Acceptance Testing
● Final phases of testing before client accepts the system
➢ field testing
➢ comparison testing
➢ installation testing
©2025 Christine Laurendeau, based on Bruegge and Dutoit, Object-Oriented Software Engineering, 3rd ed., 2010 12
Acceptance Testing (cont.)
● Field testing
➢ goal
▪ install the system for a selected group of users
▪ collect feedback from those users
➢ types of field testing
▪ alpha test
● field test with the system in the development environment
▪ beta test
● field test with the system in the target environment
➢ unlike usability tests, user behaviour is not observed
©2025 Christine Laurendeau, based on Bruegge and Dutoit, Object-Oriented Software Engineering, 3rd ed., 2010 13
Acceptance Testing (cont.)
● Comparison testing
➢ client evaluates a reengineered system
➢ possible tests:
▪ competitor testing
● the system is tested against another product
▪ shadow testing
● new and legacy systems are executed in parallel
©2025 Christine Laurendeau, based on Bruegge and Dutoit, Object-Oriented Software Engineering, 3rd ed., 2010 14
Acceptance Testing (cont.)
● Installation testing
➢ the system is installed in the target environment
➢ functional and performance tests are repeated
©2025 Christine Laurendeau, based on Bruegge and Dutoit, Object-Oriented Software Engineering, 3rd ed., 2010 15
Testing Recap
● What we learned:
➢ understand the main categories of testing
➢ test driven development
➢ unit testing:
▪ understand creation of test cases for blackbox and whitebox testing
➢ integration testing:
▪ select testing integration strategy
▪ understand creation of test cases using stubs and drivers
➢ system testing:
▪ understand creation of test cases based on the functional model
©2025 Christine Laurendeau 16