Software Testing Process: Fidel Castro Perumal

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 11

Software Testing

Process

Prepared by
Fidel Castro
Perumal
Testing Process

1. Requirements Analysis
2. Test Plan
3. Test Design 
4. Test Cases Preparation
5. Test Data Preparation
6. Test Execution 
7. Bugs Reporting
8. Test Summary
9. Test Closure Activities
1. Requirements Analysis

Requirements analysis is the initial step for the testing. The Testing team will be
received the following documents to analyze the requirements of the system
◦ LLD – Low Level Design
◦ HLD – High Level Design
◦ SRS - System Requirements Specification
◦ URS - User Requirements Specification
◦ BRS - Business Requirements Specification
2.Test Plan

Test plan document is the most important document that brings in a process –


oriented approach. A test plan document should be prepared after the requirements
of the project are confirmed. The test plan document must consist of the following
items with a well-known mnemonic (SPACEDIRT) for remembering the list:

S Scope test items, what to test, what not to test


P People training, responsibilities, schedule
A Approach the approach that will be taken to testing
C Criteria entry/exit criteria, suspension/resumption
criteria
E Environment test environment needs
D Deliverables what is being delivered as part of the test
process
I Incidentals introduction, identification (of the
document), approval authorities
R Risks risks and contingencies
T Tasks the test tasks that are involved in the testing
process.
3.Test Design 

Test Design is done based on the requirements of the project. Test has to be
designed based on whether manual or automated testing is done. For
automation testing, the different paths for testing are to be identified first. An end
to end checklist has to be prepared covering all the features of the project. 

The test design is represented pictographically. The test design involves various
stages. These stages can be summarized as follows: 

◦ The different modules of the software are identified first. 


◦ Next, the paths connecting all the modules are identified.
◦ Then the design is drawn.

The test design is the most critical one, which decides the test case preparation. So
the test design assesses the quality of testing process.
4.Test Cases Preparation

The Test Cases should be prepared based on the testing technique we are going to
follow for that system.
For Black Box (Specification Based) Testing, we use the following techniques to
derive the test cases
◦ Equivalence Partitioning
◦ Boundary Value Analysis
◦ Decision Table
◦ State Transition Table
◦ Use Case Analysis
◦ Error Guessing
For White box (Structure Based)Testing, we use the following techniques to
derive the test cases
◦ Code Coverage
◦ Decision Coverage
◦ Statement Coverage
5.Test Data Preparation

Preparing proper test data is part of the test setup. Generally testers call it as test
bed preparation. If you don’t have the systematic approach for building test data
while writing and executing test cases then there are chances of missing some
important test cases. It’s every testers responsibility to create his/her own test data
according to testing needs. Don’t even rely on the test data created by other tester
or standard production test data, which might not have been updated for months!
Always create fresh set of your own test data according to your test needs.

Design your test data considering following categories:


Test data set examples:
1. No data ( Run your test cases on blank or default data)
2. Valid data set
3. Invalid data set
4. Illegal data format
5. Boundary Condition data set
6. Data set for performance, load and stress testing
6.Test Execution 

 Execute the test suites and individual test cases, following the test procedures. We
might do this manually or by using test execution tools, according to the planned
sequence.
 Log the outcome of test execution and record the identities and versions of the
software under test, test tools and test ware.
 Compare actual results (what happened when we ran the tests) with expected
results (what we anticipated would happen).
 Where there are differences between actual and expected results, report
discrepancies as incidents
 Repeat test activities as a result of action taken for each discrepancy. We need to
re-execute tests that previously failed in order to confirm a fix (confirmation
testing or re-testing). We execute corrected tests and suites if there were defects in
our tests. We test corrected software again to ensure that the defect was indeed
fixed correctly (confirmation test) and that the programmers did not introduce
defects in unchanged areas of the software and that fixing a defect did not uncover
other defects (regression testing).
7.Bugs Reporting

An incident report contains a description of the misbehavior that was observed and
classification of that misbehavior. As with any written communication, it helps to have
clear goals in mind when writing. One common goal for such reports is to provide
programmers, managers and others with detailed information about the behavior observed
and the defect.
The qualities of a good software bug report are
1. Reproducible
2. Be Specific

The Bug report should contain the following


3. Bug ID
4. Module or component
5. Type of error
6. Priority:
7. Severity:
8. Status:
9. Assigned to:
10. Summary:
11. Description
8.Test Summary

Test summary report gives the status of the testing efforts. The contents included


under the test report are

◦ Total number of test cases 


◦ Number of test cases executed
◦ Number of cases yet to be executed
◦ Number of pass cases
◦ Number of failed cases
◦ Total number of bugs
◦ Number of bugs ,open, resolved, closed
◦ Bugs breakdown by severity, priority and showstopper bugs
9.Test Closure Activities
During test closure activities, collect data from completed test activities to
consolidate experience, including checking and filing test ware, and analyzing
facts and numbers. We need to do this when software is delivered. We also might
close testing for other reasons, such as when the project is cancelled, when a
particular milestone is achieved. Test closure activities include the following
major tasks:
◦ Check which planned deliverables we actually delivered and ensure all incident
reports have been resolved through defect repair or deferral.
◦ Hand over test ware to the maintenance organization who will support the
software and make any bug fixes or maintenance changes.
◦ Evaluate how the testing went and analyze lessons learned for future releases
and projects.
The Test deliverables includes
• Test plan document.
• Test cases.
• Test design specifications.
• Tools and their outputs.
• Error logs and execution logs.

You might also like