When you are testing software you need to pull together the following:
1. Test Plan
A test plan itself is a document that outlines the objectives, scope, approach, and resources required for testing a specific software product. It serves as a roadmap for the testing process and provides detailed information on how the testing will be conducted.
2. Testing Table
This is the table where you will record each of the tests, including the data used, the expected outcome and the actual outcome.
3. Testing Data
Testing data refers to the input values or conditions that are used during the testing process to ensure that the software or application being tested functions correctly. These data can include various scenarios, test cases, or specific data sets designed to cover a range of possible inputs. Test data should include normal, abnormal and boundary data for each test.
What is the primary purpose of a test plan in software testing?
Test Plan Components
A test plan serves as a blueprint for systematically assessing and validating the functionality, quality, and reliability of software applications. It is an indispensable document that guides the testing process and ensures that software behaves as expected.
Here are the components of a test plan:
Component
Explanation
Context and Scope
Introduce the software and specify what will be tested.
Objectives
Define the goals of testing, such as finding defects and validating features.
Testing Strategy
Outline the types of testing to be performed and the overall approach.
Test Environment
List the necessary tools, hardware, software, and configurations.
Test Deliverables
Document the artifacts that will be generated during testing, like test cases and reports.
Schedule and Roles
Set timelines for testing phases and assign responsibilities to team members.
Risk Management
Identify potential risks and how they'll be managed throughout testing.
Test Execution
Describe how tests will be carried out, including test data and procedures.
What is the purpose of a test plan?
Why is testing data important in software development?
Testing Table - Example
Here is an example testing table for an program that finds the area of a rectangle:
| Test Case | Input (Length x Width) | Expected Output | Test Type |
|---------------------|------------------------|-----------------|-----------|
| Normal Data | 5 x 8 | 40 | Normal |
| Normal Data | 3 x 12 | 36 | Normal |
| Normal Data | 10 x 4 | 40 | Normal |
| Abnormal Data | 0 x 8 | Invalid | Abnormal |
| Abnormal Data | 5 x -3 | Invalid | Abnormal |
| Abnormal Data | -7 x -2 | Invalid | Abnormal |
| Boundary Data | 1 x 100 | 100 | Boundary |
| Boundary Data | 0 x 50 | 0 | Boundary |
| Boundary Data | 10 x 0 | 0 | Boundary |
Test Case
Normal Data
This is data that is expected and acceptable for the program. It is within the allowed range or format. The program should accept it without errors.
Example: If a system accepts ages 10 to 18
12 → normal
15 → normal
18 → normal
In software testing, what does 'testing data' refer to?
In normal test data, the input values fall within the range.
Abnormal Data
This is data that is not allowed or outside the rules. The program should reject it or show an error message. It tests whether input validation works.
Example (age 10–18 allowed)
9 → invalid (too low)
20 → invalid (too high)
"abc" → invalid (wrong type)
Abnormal test data is useful for uncovering or handling exceptional cases.
Boundary Data
This tests values at the edges (limits) of allowed input. It's very important because many bugs happen at boundaries. Includes values just inside and just outside the range.
Example (age 10–18 allowed)
10 → boundary (lowest valid)
18 → boundary (highest valid)
9 → boundary invalid (just below)
19 → boundary invalid (just above)
Boundary testing examines values at the of allowed input.