F1 Testing-Test plan and test case

TESTING

Test Plan & Test Case

WHAT IS TESTING?

  • Definition: A set of activities aimed at identifying failures in a software system and evaluating its level of quality to achieve user satisfaction.

  • Involves a systematic planned approach for verifying and validating each software component through created scenarios and observing their outcomes.

  • Deviation from expected behavior signals possible errors or bugs in components.

PURPOSE OF TESTING

  • Enhance Software Quality: Detects and removes bugs or errors, thus improving reliability.

  • Ensure Functionality: Validates that software components perform as designed per business requirements.

TEST PROCESS

Key Phases

  1. Test Planning and Control

    • Determine what to test:

      • Requirements: Ensure completeness.

      • Code: Verify reliability.

      • Design: Assess cohesion.

    • Test Analysis & Design: Plan how testing will be conducted (e.g., code inspection, proofs, black-box vs white-box).

    • Select integration testing strategy (big bang, bottom up, top down, sandwich).

    • Write test cases.

  2. Implementation and Execution of Tests

    • Execute tests according to plans.

    • Evaluate exit criteria and produce test reports.

  3. Test Closure Activities

    • Activities carried out at each test level and for each test campaign.

TEST PLAN

  • Objectives: Clearly define testing goals.

  • Scope: List down scope, resources, approach, and schedule of activities.

  • Framework: Enable project manager or system developers to follow a structured framework for cost and time effectiveness.

TEST PLAN DOCUMENTATION

  • Format is based on requirements to be tested and must include:

    • Resources required and timeline.

    • Detailed step documentation of testing.

    • Configuration management to control changes due to testing; changes must be communicated to all developers.

    • Document updates frequently to keep pace with changing requirements.

Test Plan as per IEEE 829-1998

  • Contains the following sections:

    • Test plan identifier

    • Introduction

    • Test items

    • Features to be tested and not to be tested

    • Approach to testing

    • Item pass/fail criteria

    • Suspension criteria and resumption requirements

    • Test deliverables

    • Testing tasks

    • Environmental needs

    • Responsibilities

    • Staffing and training needs

    • Schedule

    • Risks and contingencies

    • Approvals

TEST CASE

  • Definition: Describes input data for a component and expected results from that data.

Characteristics of a Test Case

  • Name of test case

  • Path subject to testing

  • Set of input data + expected results

  • Output of test

  • Pre-condition and post-condition

TEST CASE PROCESS

  • Steps when conducting a test:

    1. Enter inputs to the program.

    2. Observe the actual output(s).

    3. Compare actual output(s) with expected output(s).

    • Success: Actual = Expected.

    • Failure: Record discrepancies for analysis.

EFFECTIVE TESTING

  • A good test case has a high likelihood of revealing failure conditions.

  • Test case designers should focus on identifying weak areas in the program to create effective test cases.

  • A collection of test cases forms a test suite.

Test Case as per IEEE 829-1998

  • Details include:

    • Test case identifier

    • Test items

    • Input specifications

    • Output specifications

    • Environmental needs

    • Special procedural requirements

    • Intercase dependencies

SUMMARY

  • Testing is a crucial component of software quality assurance.

  • It verifies and validates user requirements.

  • Proper documentation and configuration control are essential for enforcing stringent quality standards.