Testing Methodologies - An Overview: K. Kiran Chand
Testing Methodologies - An Overview: K. Kiran Chand
An Overview
K. Kiran Chand
Copyright 2004 Accenture All Rights Reserved. Accenture, its logo, and Accenture Innovation Delivered are trademarks of Accenture.
Introduction
Testing moves the evolution of a product from a state of hypothetical
usefulness to proven usefulness
Testing Fundamentals
Primary Objectives
Has the right system been built ?
Has the system been built right ?
Testing Fundamentals
Secondary Objectives
Instill confidence in the system, through user involvement
Ensure the system will work from both a functional and performance
viewpoint
Ensure the interfaces between systems work
Establish exactly what the system does ( and does not do ) so that the user
does not receive any surprises at implementation time
Identify problem areas where the system deliverables do not meet the agreed
to specifications
Improve the development processes that cause errors
Definition
Testing is the systematic search for defects in all project deliverables.
Ensuring Testability
S
M
A
R
T
S.M.A.R.T
Specific
Measurable
Attainable or Achievable
Realistic
Timely
Testing Principles
An author must not be the final tester of his/her own work product
While exhaustive testing is desirable, it is not always practical
Expected results should be documented for each test
Both valid and invalid conditions should be tested
Both expected and unexpected results should be validated
Testing is a no-fault process of detecting variances or defects
No-Fault Testing
To err is human
to forgive is divine!
Entrance Criteria
All programs/modules should be compiled cleanly.
Unit Testing should have been completed successfully.
Exit Criteria
All test cases must have been executed with a defined
level of success ( if other than 100% )
There must be no more than a mutually agreed upon
number of outstanding problems unresolved
User Acceptance Test / User Sign-off
10
Testing Approaches
Static
Testing
11
Testing Approaches
Static Testing
Plan reviews
Requirements walkthroughs or sign-off reviews
Design or code inspections
Test plan inspections
Test case reviews
12
Testing Approaches
Dynamic Testing
Executing test cases in a working system
Simulating usage scenarios with real-end users to test usability
Parallel testing in a production environment
13
Testing Techniques
Black Box Testing
White Box Testing
Error Guessing
14
Levels of Testing
Unit Testing
Integration Testing
System Testing
Systems integration Testing
User Acceptance Testing
Operability Testing
15
Unit Testing
Objectives
To test the function of a program or unit of code such as a program or module
Input
Unit Test Plan
Output
Unit Test results
Who
Developer
Methods
White Box Testing
Tools
Debug / Code Analyzers / Path Statement Coverage Tools
16
Integration Testing
Objectives
To technically verify proper interfacing between modules, and within sub-systems
Input
Integration Test Plan
Output
Integration Test results
Who
Developer
Methods
White and Black Box Techniques
Tools
Debug / Code Analyzers
17
System Testing
Objectives
To verify proper execution of the entire application components including interfaces to
other applications
Input
System Test Plan / Master Test Plan / Detailed Requirements & External Application
Design
Output
Integration Test results
Who
Developer
Methods
White and Black Box Techniques
Tools
Recommended set of tools
18
Input
System Integration Test Plan / Master Test Plan / Test Strategy
Output
Systems Integration Test Results
Who
System Testers
Methods
White and Black Box Techniques / Configuration Management
Tools
Recommended set of tools
19
Input
User Acceptance Test Plan / Master Test Plan / Business Needs & Detailed Requirements
Output
User Acceptance Test Results
Who
Users / End Users
Methods
Black Box Techniques / Configuration Management
Tools
Compare, keystroke capture & playback, regression testing
20
Types of Tests
Functional Testing
Audit & Controls Testing
Conversion Testing
Documentation & Procedures Testing
Error Handling Testing
Functions / Requirements Testing
Interface / Inter-system Testing
Installation Testing
Parallel Testing
Regression Testing
Transaction Flow ( Path ) Testing
Usability Testing
21
Types of Tests
Structural Testing
Backup and Recovery Testing
Contingency Testing
Job Stream Testing
Operational Testing
Performance Testing
Security Testing
Stress / Volume Testing
22
Relationship between
Levels and Types of
Testing
Levels
Unit
Integration
System
Systems Integration
UAT
Operability
X
X
Types
Audit & Control
Conversion
Error Handling
Function /
Requirement
Installation
Interface / Inter
system
Parallel
Regression
Transaction Flow
X
X
X
X
23
Relationship between
Levels and Types of
Testing
Levels
Unit
Integration
System
Systems Integration
UAT
Operability
Types
Usability
Back-up &
Recovery
X
X
Contingency
Job Stream
Operational
Performance
Security
Stress/ Volume
24