System Testing - Lecture Notes

Jun 27, 2024

System Testing

Overview

  • Definition: Third test level in development life cycle.
  • Scope: Tests the behavior of the whole system or software as defined by scope.
  • Integration: Tests after all modules are integrated.

Purpose

  • Defect Detection: Aim to find as many defects as possible.
  • Tester: Conducted by specialist testers, forming an independent test team.
  • Independence: Developers are not involved in system testing.

Environment

  • Similarity to Production: System test environment should be very close to production to minimize risk of environment-specific failures.
  • Readiness: The software at this phase has almost all requirements implemented.

Requirements Tested

  • Functional: Use black box techniques (specification-based) to test functional requirements.
  • Non-Functional: Includes performance and load testing to see system response under high load.
  • Thoroughness: White box techniques to assess coverage (decision coverage, statement coverage).

Test Case Sources

  • Documentation: Software Requirement Specification (SRS).
  • Business Processes: Existing business process documentation guides end-to-end scenarios.
  • End User Scenarios: How users will interact with the system.
  • High-Level System Behavior: Description of system behavior aids in test design.
  • Operating System Interaction: Tests based on interactions with different OS (Linux, Windows, etc.).
  • Risk Assessment: Focus on critical modules like checkout, refund for e-commerce based on risk.

Designing Test Cases

  • SRS-Based: Design functional test cases from the requirement specification.
  • Business Processes: Use to write end-to-end business scenarios.
  • User Interactions: Design scenarios based on how users will interact with the system.
  • System Behavior: High-level descriptions used for designing test cases.
  • OS Interaction: Separate test cases for different operating systems.
  • Risk-Based: Identify high-risk modules and focus more test cases there (e.g., checkout, refund in e-commerce).