ICT 0417 – The Systems Life Cycle – Test Strategies
7. The Systems Life Cycle
Objective
Know and understand test strategies, including how to test each module, each function and the whole system.
Why Testing Is Essential
Testing verifies that the system meets its requirements, works reliably and is fit for purpose. It helps to locate and correct errors early, reducing cost and risk.
Levels of Testing
Module (Unit) Testing – testing individual modules or components in isolation.
Integration Testing – testing groups of modules that work together.
System Testing – testing the complete, integrated system against the specification.
Acceptance Testing – testing by the end‑user or client to confirm the system is ready for deployment.
Test Strategies for Each Level
Test Level
Purpose
When Performed
Typical Tester
Key Activities
Module (Unit) Testing
Confirm each module performs its defined function correctly.
After a module is coded, before integration.
Developer / programmer.
Identify test cases for every function/method.
Prepare test data (valid, invalid, boundary).
Execute tests and record results.
Fix defects and re‑test.
Integration Testing
Verify that combined modules interact correctly.
After a set of modules has passed unit testing.
Developer or test engineer.
Define integration scenarios (data flow, control flow).
Use interface test cases to check data passing.
Apply both black‑box and white‑box techniques.
Document any interface defects.
System Testing
Validate the whole system against functional and non‑functional requirements.
After all modules are integrated.
Independent test team.
Develop a test plan covering all requirements.
Create test scripts for functional, performance, security, usability.
Run tests in a test environment that mirrors production.
Log defects and track resolution.
Acceptance Testing
Confirm the system meets user needs and is ready for release.
After system testing sign‑off.
End‑users / client representatives.
Prepare acceptance criteria and test cases.
Conduct user‑scenario testing.
Obtain formal sign‑off if criteria are met.
Record any remaining issues for future releases.
Designing Effective Test Cases
Each test case should contain:
Test case ID.
Reference requirement.
Pre‑conditions.
Test steps.
Test data (including edge cases).
Expected result.
Actual result (filled after execution).
Common Test Techniques
Black‑Box Testing – focuses on inputs and expected outputs without looking at internal code.