Systems Life Cycle: Testing
Why do we test?
- Ensures the system works as intended before implementation
- Identifies and fixes errors, improving system reliability and performance
Test Designs
- Test data structures, file structures, input formats, output formats, and validation routines
- Ensure all components function correctly and interact seamlessly
Test Strategies
- Test each module: verify individual components function as intended
- Test each function: ensure all features work correctly
- Test the whole system: confirm overall system performance and integration
Test Plan
- Test data: specific data used for testing purposes
- Expected outcomes: predicted results based on test data
- Actual outcomes: results obtained from testing
- Remedial action: steps taken to fix identified issues
Test Data Types
- Normal data: valid and expected data values within the range of acceptability
- Abnormal data: invalid or unexpected data values. This can either be:
- Data outside the range of acceptability or
- Data that is the wrong data type
- Extreme data: values at the limits of acceptability
What is live data?
- Data that has been used with the current system
- Therefore the results are known
Worked example
The European Space Agency (ESA) is building a new space telescope to orbit the Earth and search for distant galaxies. The ESA is using computer controlled robots to build the lens of the telescope. A new computer system will operate the space telescope; the new computer system is made up of several modules.
Describe how the new computer system is to be tested before it is fully operational.
[4]
4 of:
Each module has to be tested independently to ensure it functions correctly [1]
Modules need to be tested together [1]
Data needs to be transferred from module to module to check for data clashes [1]
Errors need to be noted and corrections made [1]
Then tested again [1]
The system as a whole needs to be fully tested under controlled conditions [1]