Know and understand test strategies including to test each module, each function and the whole system

Published by Patrick Mutisya · 14 days ago

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 LevelPurposeWhen PerformedTypical TesterKey Activities
Module (Unit) TestingConfirm each module performs its defined function correctly.After a module is coded, before integration.Developer / programmer.

  1. Identify test cases for every function/method.
  2. Prepare test data (valid, invalid, boundary).
  3. Execute tests and record results.
  4. Fix defects and re‑test.

Integration TestingVerify that combined modules interact correctly.After a set of modules has passed unit testing.Developer or test engineer.

  1. Define integration scenarios (data flow, control flow).
  2. Use interface test cases to check data passing.
  3. Apply both black‑box and white‑box techniques.
  4. Document any interface defects.

System TestingValidate the whole system against functional and non‑functional requirements.After all modules are integrated.Independent test team.

  1. Develop a test plan covering all requirements.
  2. Create test scripts for functional, performance, security, usability.
  3. Run tests in a test environment that mirrors production.
  4. Log defects and track resolution.

Acceptance TestingConfirm the system meets user needs and is ready for release.After system testing sign‑off.End‑users / client representatives.

  1. Prepare acceptance criteria and test cases.
  2. Conduct user‑scenario testing.
  3. Obtain formal sign‑off if criteria are met.
  4. Record any remaining issues for future releases.

Designing Effective Test Cases

Each test case should contain:

  1. Test case ID.
  2. Reference requirement.
  3. Pre‑conditions.
  4. Test steps.
  5. Test data (including edge cases).
  6. Expected result.
  7. Actual result (filled after execution).

Common Test Techniques

  • Black‑Box Testing – focuses on inputs and expected outputs without looking at internal code.
  • White‑Box (Structural) Testing – examines internal logic, paths, loops, and conditions.
  • Boundary \cdot alue Analysis – tests values at the edges of input ranges.
  • Equivalence Partitioning – divides input data into equivalent classes to reduce the number of test cases.
  • Decision Table Testing – useful for complex business rules.

Recording and Reporting Test Results

Use a simple test log table to track progress:

Test IDDescriptionStatusDefect ID (if any)Comments
T001Login with valid credentialsPass
T002Login with invalid passwordFailD045System accepts incorrect password.

Linking Testing to the Systems Life Cycle

Testing activities are embedded at specific points in the life cycle:

  1. Requirements analysis – define test criteria.
  2. Design – plan test cases and decide on test techniques.
  3. Implementation – perform module testing as code is written.
  4. Integration – conduct integration testing after each build.
  5. Testing – execute system and acceptance tests.
  6. Deployment – final acceptance sign‑off before release.
  7. Maintenance – regression testing after changes.

Suggested diagram: A flowchart showing the Systems Life Cycle with testing activities highlighted at each stage.

Key Take‑aways

  • Test early and often – unit testing catches defects before they spread.
  • Use both black‑box and white‑box techniques for thorough coverage.
  • Document every test case and result; this provides evidence for quality.
  • Link test results back to requirements to demonstrate compliance.
  • Acceptance testing is the final checkpoint before the system goes live.