Anda di halaman 1dari 24

Testing Methodologies

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

If withdrawal request is greater than $400 reject the request,


otherwise allow subject to ATM cash dispensing rules and account
balance

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

Systems Integration Testing


Objectives
To test the co-existence of products and applications that are required to perform
together in the production-like operational environment ( hardware, software, network )

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

User Acceptance Testing


Objectives
To verify the system meets the user requirements

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

Doc. & Procedure

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