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

2

Testing Fundamentals Primary Objectives • Has ‘the right system been built’ ? • Has ‘the system been built right’ ? 3 .

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 4 .

Definition Testing is the systematic search for defects in all project deliverables. 5 .

M.A.T Specific Measurable Attainable or Achievable Realistic Timely 6 .R.Ensuring Testability S M A R T S.

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 7 .

“No-Fault” Testing “To err is human…” “… to forgive is divine!” 8 .

Entrance Criteria • All programs/modules should be compiled “cleanly”. • Unit Testing should have been completed successfully. 9 .

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. 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 . software.

regression testing 20 .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.

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 .

& Procedure X Error – Handling X X X X X Function / Requirement X X X X X Installation X Interface / Inter – system X Parallel X Regression Transaction Flow X X X X X X X X X X X X X X X 23 .Relationship between Levels and Types of Testing Levels Unit Integration System Systems Integration UAT Operability X X X X X X X X X X Types Audit & Control Conversion X Doc.

Relationship between Levels and Types of Testing Levels Unit Integration System Systems Integration UAT Operability Types Usability Back-up & Recovery X X X Contingency Job Stream X X X X X X Operational X X X Performance X X X X X X X X Security Stress/ Volume X X X X X 24 .