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
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.
Implementation and Execution of Tests
Execute tests according to plans.
Evaluate exit criteria and produce test reports.
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:
Enter inputs to the program.
Observe the actual output(s).
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.