Software Testing Process

Software Testing Process

Software Testing can be done in two ways,

i) Manual Testing
(Computer Software Testing, Mobile Software Testing can be done manually without using any Automation Tool (Software Test Tool))

ii) Test Automation / Automated Testing
(Computer Software Testing, Mobile Software Testing can be done using any Automation Tool (Software Test Tool))

Types of Computer Software

i) CUI based Applications

ii) Desktop Applications (Ex: Notepad)

iii) Web Applications (Ex: www.icicibank.com)

iv) Hybrid Applications (Desktop Application integrated with Web Application, Ex: Skype)

Types of Mobile Software

i) Native Applications

ii) Web Apps

iii) Hybrid Applications

Software Testing Overview
(*Considered Manual Test Process)

Software Test Levels for Independent Software Application

• Unit Testing (in this level Testers are Developers)
• Integration Testing
• System Testing (in this level Testers are Indipendent Testers)
• Acceptance Testing (in this level Testers are Customers / End users)

Software Test Levels for Distributed Software Applications

Unit Testing
Component Integration Testing
System Testing
System Integration Testing
Acceptance Testing

Software Test Types

• Functional Testing (Functionality Testing, Security Testing etc…)
• Non Functional Testing (Performance Testing, Usability Testing, Reliability Testing, etc…)

Software Test Design Techniques

• Black Box Techniques (EC/EP, BVA, Decision Table Testing etc…)
• White Box Techniques (Statement Testing, Condition Testing, Decision Testing etc…)
• Experience based Techniques (Exploratory Testing, Error Guessing etc…)

Software Test Process / STLC Phases

• Test Planning
• Test Design
• Test Execution
• Test Closure

Software Test Documents

i) Test Policy – Company Level Documents

ii) Test Strategy – Company Level Documents

iii) Test Estimations document – Project Level Document

iv) Test Plan – Project Level Document

v) Test Case – Project Level Document

vi) Test Data

vii) Defect Report

viii) Traceability Matrixs Document

ix) Test Metrics

x) Test Summary Report

Important Tasks in Software Test Process

• Understanding and and Analyzing the Requirements

• Risk Analysis

• Test Estimations (by considering Scope of the Project, Resources, Time and Budget etc…)

• Team Formation

• Test Plan Documentation

• Configuration management planning

• Define Test Environment Setup

• Derive Test Scenarios from Requirements

• Test Case Documentation

• Test Data Collection

• Map Test Cases with Requirements (Traceability)

• Verify Test Environment Setup

• Create Test Batches

• Test Execution

(Levels of Test Execution
Smoke Testing on Initial Build
Comprehensive Testing
Defect Reporting and Tracking
Sanity Testing on Modified Build
Regression Testing Cycle 1
Defect Reporting and Tracking
Sanity Testing on Modified Build
Regression Testing Cycle 2
Defect Reporting and Tracking
Sanity Testing on Modified Build
Regression Testing Cycle 3
Defect Reporting and Tracking
.
.
.
Final Regression)

• Evaluating Exit Criteria

• Collect all artifacts

• Prepare Test Summary Report

• Send all Test Deliverables to Customer

• Test Closure

• Test Resources Maintenance

Follow me on social media: