ICT 0417 – The Systems Life Cycle: Testing Before Implementation
7. The Systems Life Cycle
Objective
Understand why a system must be tested before it is implemented and how testing fits into the overall life‑cycle.
Why Test a System?
Identify and correct errors before the system is used in a live environment.
Ensure the system meets the original requirements and specifications.
Reduce the cost and disruption caused by post‑implementation faults.
Increase user confidence and acceptance of the new system.
Comply with legal, safety and data‑protection standards.
Key Types of Testing
Unit (Component) Testing – testing individual modules or functions in isolation.
Integration Testing – checking that combined modules work together correctly.
System Testing – evaluating the complete, integrated system against functional and non‑functional requirements.
User Acceptance Testing (UAT) – end‑users verify that the system performs as expected in real‑world scenarios.
Testing Approaches
Black‑Box Testing – tests are based on input and output without knowledge of internal code.
White‑Box (Structural) Testing – tests are designed using knowledge of the internal logic and code paths.
Grey‑Box Testing – a combination of black‑box and white‑box techniques.
Test Planning and Documentation
A systematic test plan should include:
Test objectives and scope.
Resources required (people, hardware, software).
Test schedule aligned with the project timeline.
Test cases, test data and expected results.
Criteria for passing/failing each test.
Procedures for logging defects and tracking their resolution.
Sample Test Case Structure
Test Case ID
Description
Input Data
Expected Result
Actual Result
Status
TC01
Login with valid credentials
Username: user1, Password: Pass@123
System grants access to dashboard
TC02
Login with invalid password
Username: user1, Password: wrong
System displays error message “Invalid login”
Testing Environment
The test environment should mirror the production environment as closely as possible, including hardware specifications, operating system, network configuration and data volumes. This reduces the risk of environment‑related failures after implementation.
Benefits of Thorough Testing
Lower maintenance costs.
Faster user adoption.
Improved system reliability and performance.
Compliance with quality standards such as ISO 9001.
Risks of Skipping or Inadequate Testing
Critical bugs reaching users, causing data loss or security breaches.
Increased downtime during post‑implementation fixes.
Loss of stakeholder confidence and potential financial penalties.
Re‑work that may exceed the original project budget.
Testing in the Context of the Systems Life Cycle
Testing is positioned after the design phase and before the implementation (deployment) phase. It provides a controlled checkpoint to verify that the system is ready for real‑world use.
Suggested diagram: A flowchart showing the Systems Life Cycle with a highlighted “Testing” stage between “Design” and “Implementation”.
Summary Checklist for Testing Before Implementation
Develop a comprehensive test plan.
Create detailed test cases covering all functional and non‑functional requirements.
Set up a test environment that replicates production.
Execute unit, integration, system and acceptance tests.
Record results, log defects and verify fixes.
Obtain sign‑off from users and stakeholders before moving to implementation.
Key Takeaway
Testing is not an optional add‑on; it is an essential phase that validates the system’s correctness, performance and suitability, ensuring a smooth and successful implementation.