SlideShare a Scribd company logo
SOFTWARE TESTING




                         Software Testing
1                Benoy R Nair 12-Oct-2009
Objectives
     To understand software testing and its importance.
     To understand the concepts of software quality.
     To see the different classes/ levels/ types of testing.
     To see the different test case design techniques.
     To understand the software processes related to
     testing in a typical software organisation.




                                                      Software Testing
2                                             Benoy R Nair 12-Oct-2009
FUNDAMENTALS

    SOFTWARE TESTING

                               Software Testing
3                      Benoy R Nair 12-Oct-2009
What is ‘Testing’?
     Testing
      –   A process of evaluating a particular product to determine
          whether the product contains any defects.


     Software Testing
      –   A process of evaluating a system by manual or automatic
          means and verify that it satisfies specified requirements or
          identify differences between expected and actual results.




                                                              Software Testing
4                                                     Benoy R Nair 12-Oct-2009
What is ‘Testing’?
     “Testing is the process of executing a program with
     the intent of finding errors.”

     Testing is obviously concerned with errors, faults,
     failures and incidents. A test is the act of exercising
     software with test cases with an objective of
      –   Finding failure
      –   Demonstrate correct execution



                                                      Software Testing
5                                             Benoy R Nair 12-Oct-2009
Terminology
     Errors
     Faults
     –   Faults of commission
     –   Faults of omission
     Failures
     Incidents
     Test Cases



                                        Software Testing
6                               Benoy R Nair 12-Oct-2009
Why do we do ‘Testing’?
     Provide confidence in the system
     Identify areas of weakness
     Establish degree of quality
     Establish the extent that the requirements have been
     met
     To provide an understanding of the whole system
     To prove that it is both usable and operable
     To provide sufficient information to allow an objective
     decision on application to deploy
                                                     Software Testing
7                                            Benoy R Nair 12-Oct-2009
Basic Questions
     How much?
     What sort?
     By whom?
     When & by when?




                               Software Testing
8                      Benoy R Nair 12-Oct-2009
PRINCIPLES

    SOFTWARE QUALITY

                               Software Testing
9                      Benoy R Nair 12-Oct-2009
Quality
      Meeting the Customer’s requirements in the First
      time and Every time
      Much more that absence of defects
      Allows us to meet customer expectations




                                                    Software Testing
10                                          Benoy R Nair 12-Oct-2009
Perspectives of Quality
      Transcendent
      Product based
      User based
      Development based
      Value based




                                       Software Testing
11                             Benoy R Nair 12-Oct-2009
Cost of Quality
      Cost of Prevention
      Cost of Appraisal
      Cost of Failure




                                   Software Testing
12                         Benoy R Nair 12-Oct-2009
Quality Assurance & Quality Control

      Quality Assurance
       –   Process oriented (software development)
       –   Defect prevention
      Quality Control
       –   Product oriented (quality of entire product is tested)
       –   Defect detention




                                                                Software Testing
13                                                      Benoy R Nair 12-Oct-2009
CLASSIFICATIONS

     SOFTWARE TESTING

                                Software Testing
14                      Benoy R Nair 12-Oct-2009
Levels of Classification
      Based on Granularity
       –   Unit Level
       –   Integration Level
       –   System Level
      Based on Methodology
       –   Black Box (Functional) Testing
       –   White Box (Structural) Testing




                                                    Software Testing
15                                          Benoy R Nair 12-Oct-2009
Types of Testing (contd…)
      Regression Testing
      Acceptance Testing
      Sanity Testing
      Smoke Testing
      Stress Testing




                                     Software Testing
16                           Benoy R Nair 12-Oct-2009
Unit Testing
      Primary Goal
       –   To take the smallest piece of testable software in the
           application, isolate it from the remainder of the code, and
           determine whether it behaves exactly as you expect.


      Each unit is tested separately before integrating
      them into modules to test the interfaces between
      modules. Unit testing has proven its value in that a
      large percentage of defects are identified during its
      use.

                                                               Software Testing
17                                                     Benoy R Nair 12-Oct-2009
Integration Testing
      A logical extension of unit testing.
      In its simplest form, two units that have already been
      tested are combined into a component and the
      interface between them is tested.
      Approaches:
       –   Big Bang
       –   Bottom Up
       –   Top Down
       –   Sandwich


                                                     Software Testing
18                                           Benoy R Nair 12-Oct-2009
System Testing
      Conducted on a complete, integrated system to
      evaluate the system's compliance with its specified
      requirements.
      Validate the software product against the
      requirements specification.
      To find defects that can be exposed only by testing
      the entire system.




                                                    Software Testing
19                                          Benoy R Nair 12-Oct-2009
Functional (Black Box) Testing
      Inspects specified behavior
      Selects valid and invalid inputs and determines the
      correct output.
      There is no knowledge of the test object's internal
      structure




                                                    Software Testing
20                                          Benoy R Nair 12-Oct-2009
Structural (White Box) Testing
      Inspects programmed behavior
      Chooses test case inputs to exercise paths through
      the code and determines the appropriate outputs
      Requires programming skills to identify all paths
      through the software




                                                   Software Testing
21                                         Benoy R Nair 12-Oct-2009
Regression Testing
      Any type of software testing that seeks to uncover
      software regressions.
      –   Test fixed bugs promptly.
      –   Watch for side effects of fixes.
      –   Write a regression test for each bug fixed.
      –   Identify tests that the program consistently passes and
          archive them.
      –   Focus on functional issues, not those related to design.
      –   Make changes (small and large) to data and find any
          resulting corruption.
      –   Trace the effects of the changes on program memory.
                                                             Software Testing
22                                                   Benoy R Nair 12-Oct-2009
Acceptance Testing
      Objective
      –   To provide confidence that the delivered system meets the
          business requirements of both sponsors and users
      By System Provider
      By Customer (UAT/ End User Testing)




                                                           Software Testing
23                                                 Benoy R Nair 12-Oct-2009
Types of Testing (contd…)
      Sanity Testing
      Smoke Testing
      Stress Testing




                                     Software Testing
24                           Benoy R Nair 12-Oct-2009
TECHNIQUES

     TEST CASES & DESIGN
     TECHNIQUES
                               Software Testing
25                     Benoy R Nair 12-Oct-2009
What is a “Test Case”?
      Triplet [I, S, O] where
       –   I is the Input data
       –   S is the state of the system at which the data will be input
       –   O is the expected output
      Not randomly selected, but need to be carefully
      designed.

      Test Suite
       –   Set of all test cases

                                                                Software Testing
26                                                      Benoy R Nair 12-Oct-2009
Need for designing test cases
      Extremely large input data domain making
      exhaustive testing impractical
      Randomly selected test cases do not ensure
      completeness and may also bring in redundancy
      Number of test cases do not determine effectiveness
      Each test case should detect different errors




                                                   Software Testing
27                                         Benoy R Nair 12-Oct-2009
Test Case Design Techniques
      White Box Testing
      –   Control flow testing
      –   Data flow testing
      –   Branch testing
      Black Box Testing
      –   Equivalence class partitioning
      –   Boundary value analysis
      –   Comparison testing
      –   Orthogonal array testing
      –   Decision table based testing & Cause effect graph
                                                            Software Testing
28                                                  Benoy R Nair 12-Oct-2009
Summary
      Testing: Integral part of software development
      function
      –   Starts with the requirements not code.
      –   Prevention is better than cure.
      –   The sooner you find the fault the cheaper it is to fix it.
      –   Create re-usable ‘testware’.
      –   Process first then tools.
      –   Not everyone can test well; use professional testers.
      –   Planned testing in a controlled environment provides
          objective metrics.
      –   To gain Return on Investment you must invest first.
                                                                 Software Testing
29                                                       Benoy R Nair 12-Oct-2009

More Related Content

What's hot (20)

PPT
Sdlc models
SivaprasanthRentala1975
 
PPT
Software reliability
Anand Kumar
 
PPTX
Software Quality Attributes
Hayim Makabee
 
PPT
Chapter 13 software testing strategies
SHREEHARI WADAWADAGI
 
PPT
Software Testing Strategies
NayyabMirTahir
 
PPTX
White Box Testing
MariamKhan120
 
PPT
Verification and Validation in Software Engineering SE19
koolkampus
 
PPT
Software Testing
Dhanasekaran Nagarajan
 
PPTX
Black box software testing
Rana Muhammad Asif
 
PDF
What Is Functional Testing?
QA InfoTech
 
PDF
Unit I Software Testing and Quality Assurance
VinothkumaR Ramu
 
PPTX
Software quality assurance
Aman Adhikari
 
PPTX
Ch 3 software quality factor
Kittitouch Suteeca
 
PPT
Software Testing 101
QA Hannah
 
PPSX
Principles of Software testing
Md Mamunur Rashid
 
PPT
Software Verification & Validation
university of education,Lahore
 
PPTX
System testing
Mani Kanth
 
PPTX
Software testing
balamurugan.k Kalibalamurugan
 
PPTX
GUI Testing
BugRaptors
 
PPTX
Ooad ppt
Radhika Yadav
 
Software reliability
Anand Kumar
 
Software Quality Attributes
Hayim Makabee
 
Chapter 13 software testing strategies
SHREEHARI WADAWADAGI
 
Software Testing Strategies
NayyabMirTahir
 
White Box Testing
MariamKhan120
 
Verification and Validation in Software Engineering SE19
koolkampus
 
Software Testing
Dhanasekaran Nagarajan
 
Black box software testing
Rana Muhammad Asif
 
What Is Functional Testing?
QA InfoTech
 
Unit I Software Testing and Quality Assurance
VinothkumaR Ramu
 
Software quality assurance
Aman Adhikari
 
Ch 3 software quality factor
Kittitouch Suteeca
 
Software Testing 101
QA Hannah
 
Principles of Software testing
Md Mamunur Rashid
 
Software Verification & Validation
university of education,Lahore
 
System testing
Mani Kanth
 
GUI Testing
BugRaptors
 
Ooad ppt
Radhika Yadav
 

Viewers also liked (16)

PPTX
Importance of software quality assurance
Maveric Systems
 
PPTX
Software testing ppt
Heritage Institute Of Tech,India
 
PPTX
How to Achieve and Maintain High Quality SaaS Software in the Cloud
XBOSoft
 
PPTX
Test Slideshare
Cleveland Clinic
 
PPT
Software Testing
Kiran Kumar
 
PPTX
Introduction to formal methods
Inzemamul Haque
 
PPT
Languaje Testing, I Bimestr
Videoconferencias UTPL
 
PPTX
Software Testing Purpose And Objectives
Sneha Singh
 
PPTX
Integrate Test Activities in Agile
TEST Huddle
 
PPTX
Software testing
Dhanasekaran Narayanaswamy
 
PPT
Formal Grammar and Style
theLecturette
 
PDF
Best software testing course
bestonlinecoursescoupon
 
PPTX
Software Testing: History, Trends, Perspectives - a Brief Overview
Softheme
 
PPT
Personality Tests
Yograjsinh Jethwa
 
PPT
Language testing
ahmedabbas1121
 
PPTX
Mindmaps - A killer way to increase your test coverage
Prashant Hegde
 
Importance of software quality assurance
Maveric Systems
 
Software testing ppt
Heritage Institute Of Tech,India
 
How to Achieve and Maintain High Quality SaaS Software in the Cloud
XBOSoft
 
Test Slideshare
Cleveland Clinic
 
Software Testing
Kiran Kumar
 
Introduction to formal methods
Inzemamul Haque
 
Languaje Testing, I Bimestr
Videoconferencias UTPL
 
Software Testing Purpose And Objectives
Sneha Singh
 
Integrate Test Activities in Agile
TEST Huddle
 
Software testing
Dhanasekaran Narayanaswamy
 
Formal Grammar and Style
theLecturette
 
Best software testing course
bestonlinecoursescoupon
 
Software Testing: History, Trends, Perspectives - a Brief Overview
Softheme
 
Personality Tests
Yograjsinh Jethwa
 
Language testing
ahmedabbas1121
 
Mindmaps - A killer way to increase your test coverage
Prashant Hegde
 
Ad

Similar to Software Testing (20)

PDF
2011/09/20 - Software Testing
Fernando Brito e Abreu
 
PPTX
SoftwareTesting.pptx
DrPrabakaranPerumal
 
PDF
ICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall Projects
Eliane Collins
 
PPTX
Software testing
Bhagyashree pathak
 
PPTX
Testing concepts
sangamesh kumbar
 
PPTX
Software Teting
Ruchika Sinha
 
PPT
Manual testing ppt
Santosh Maranabasari
 
PPT
How We Built Test Automation within a Manual Testing Organization
An Doan
 
PPTX
Session 05 - Testing Concepts
PoojaLQA
 
PPTX
Software testing basic
Rohit Singh
 
PPTX
Software testing
DrMohdWarisKhan
 
PPT
TEA Presentation V 0.3
Ian McDonald
 
PPTX
Software Testing
Vishal Singh
 
PPTX
Software Testing
university of education,Lahore
 
PDF
Types of software testing
Testbytes
 
PPT
Software testing course_in_mumbai
vibrantuser
 
DOCX
Software Testing Interview Questions.docx
kveeramohan1
 
DOCX
Testing in Software Engineering.docx
8759000398
 
PPT
Chapter 4 Software Testing_Finalised_BW.ppt
Bule Hora University
 
PPTX
11 steps of testing process - By Harshil Barot
Harshil Barot
 
2011/09/20 - Software Testing
Fernando Brito e Abreu
 
SoftwareTesting.pptx
DrPrabakaranPerumal
 
ICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall Projects
Eliane Collins
 
Software testing
Bhagyashree pathak
 
Testing concepts
sangamesh kumbar
 
Software Teting
Ruchika Sinha
 
Manual testing ppt
Santosh Maranabasari
 
How We Built Test Automation within a Manual Testing Organization
An Doan
 
Session 05 - Testing Concepts
PoojaLQA
 
Software testing basic
Rohit Singh
 
Software testing
DrMohdWarisKhan
 
TEA Presentation V 0.3
Ian McDonald
 
Software Testing
Vishal Singh
 
Types of software testing
Testbytes
 
Software testing course_in_mumbai
vibrantuser
 
Software Testing Interview Questions.docx
kveeramohan1
 
Testing in Software Engineering.docx
8759000398
 
Chapter 4 Software Testing_Finalised_BW.ppt
Bule Hora University
 
11 steps of testing process - By Harshil Barot
Harshil Barot
 
Ad

Recently uploaded (20)

PPTX
Earn Agentblazer Status with Slack Community Patna.pptx
SanjeetMishra29
 
PPTX
Building a Production-Ready Barts Health Secure Data Environment Tooling, Acc...
Barts Health
 
PDF
Alpha Altcoin Setup : TIA - 19th July 2025
CIFDAQ
 
PDF
visibel.ai Company Profile – Real-Time AI Solution for CCTV
visibelaiproject
 
PDF
Market Wrap for 18th July 2025 by CIFDAQ
CIFDAQ
 
PDF
Productivity Management Software | Workstatus
Lovely Baghel
 
PPTX
python advanced data structure dictionary with examples python advanced data ...
sprasanna11
 
PDF
Meetup Kickoff & Welcome - Rohit Yadav, CSIUG Chairman
ShapeBlue
 
PDF
TrustArc Webinar - Navigating Data Privacy in LATAM: Laws, Trends, and Compli...
TrustArc
 
PDF
NewMind AI Weekly Chronicles – July’25, Week III
NewMind AI
 
PPTX
Building and Operating a Private Cloud with CloudStack and LINBIT CloudStack ...
ShapeBlue
 
PDF
Novus Safe Lite- What is Novus Safe Lite.pdf
Novus Hi-Tech
 
PDF
NewMind AI Journal - Weekly Chronicles - July'25 Week II
NewMind AI
 
PDF
Integrating IIoT with SCADA in Oil & Gas A Technical Perspective.pdf
Rejig Digital
 
PDF
Empowering Cloud Providers with Apache CloudStack and Stackbill
ShapeBlue
 
PDF
How a Code Plagiarism Checker Protects Originality in Programming
Code Quiry
 
PDF
Lecture A - AI Workflows for Banking.pdf
Dr. LAM Yat-fai (林日辉)
 
PDF
OpenInfra ID 2025 - Are Containers Dying? Rethinking Isolation with MicroVMs.pdf
Muhammad Yuga Nugraha
 
PDF
Trading Volume Explained by CIFDAQ- Secret Of Market Trends
CIFDAQ
 
PDF
Human-centred design in online workplace learning and relationship to engagem...
Tracy Tang
 
Earn Agentblazer Status with Slack Community Patna.pptx
SanjeetMishra29
 
Building a Production-Ready Barts Health Secure Data Environment Tooling, Acc...
Barts Health
 
Alpha Altcoin Setup : TIA - 19th July 2025
CIFDAQ
 
visibel.ai Company Profile – Real-Time AI Solution for CCTV
visibelaiproject
 
Market Wrap for 18th July 2025 by CIFDAQ
CIFDAQ
 
Productivity Management Software | Workstatus
Lovely Baghel
 
python advanced data structure dictionary with examples python advanced data ...
sprasanna11
 
Meetup Kickoff & Welcome - Rohit Yadav, CSIUG Chairman
ShapeBlue
 
TrustArc Webinar - Navigating Data Privacy in LATAM: Laws, Trends, and Compli...
TrustArc
 
NewMind AI Weekly Chronicles – July’25, Week III
NewMind AI
 
Building and Operating a Private Cloud with CloudStack and LINBIT CloudStack ...
ShapeBlue
 
Novus Safe Lite- What is Novus Safe Lite.pdf
Novus Hi-Tech
 
NewMind AI Journal - Weekly Chronicles - July'25 Week II
NewMind AI
 
Integrating IIoT with SCADA in Oil & Gas A Technical Perspective.pdf
Rejig Digital
 
Empowering Cloud Providers with Apache CloudStack and Stackbill
ShapeBlue
 
How a Code Plagiarism Checker Protects Originality in Programming
Code Quiry
 
Lecture A - AI Workflows for Banking.pdf
Dr. LAM Yat-fai (林日辉)
 
OpenInfra ID 2025 - Are Containers Dying? Rethinking Isolation with MicroVMs.pdf
Muhammad Yuga Nugraha
 
Trading Volume Explained by CIFDAQ- Secret Of Market Trends
CIFDAQ
 
Human-centred design in online workplace learning and relationship to engagem...
Tracy Tang
 

Software Testing

  • 1. SOFTWARE TESTING Software Testing 1 Benoy R Nair 12-Oct-2009
  • 2. Objectives To understand software testing and its importance. To understand the concepts of software quality. To see the different classes/ levels/ types of testing. To see the different test case design techniques. To understand the software processes related to testing in a typical software organisation. Software Testing 2 Benoy R Nair 12-Oct-2009
  • 3. FUNDAMENTALS SOFTWARE TESTING Software Testing 3 Benoy R Nair 12-Oct-2009
  • 4. What is ‘Testing’? Testing – A process of evaluating a particular product to determine whether the product contains any defects. Software Testing – A process of evaluating a system by manual or automatic means and verify that it satisfies specified requirements or identify differences between expected and actual results. Software Testing 4 Benoy R Nair 12-Oct-2009
  • 5. What is ‘Testing’? “Testing is the process of executing a program with the intent of finding errors.” Testing is obviously concerned with errors, faults, failures and incidents. A test is the act of exercising software with test cases with an objective of – Finding failure – Demonstrate correct execution Software Testing 5 Benoy R Nair 12-Oct-2009
  • 6. Terminology Errors Faults – Faults of commission – Faults of omission Failures Incidents Test Cases Software Testing 6 Benoy R Nair 12-Oct-2009
  • 7. Why do we do ‘Testing’? Provide confidence in the system Identify areas of weakness Establish degree of quality Establish the extent that the requirements have been met To provide an understanding of the whole system To prove that it is both usable and operable To provide sufficient information to allow an objective decision on application to deploy Software Testing 7 Benoy R Nair 12-Oct-2009
  • 8. Basic Questions How much? What sort? By whom? When & by when? Software Testing 8 Benoy R Nair 12-Oct-2009
  • 9. PRINCIPLES SOFTWARE QUALITY Software Testing 9 Benoy R Nair 12-Oct-2009
  • 10. Quality Meeting the Customer’s requirements in the First time and Every time Much more that absence of defects Allows us to meet customer expectations Software Testing 10 Benoy R Nair 12-Oct-2009
  • 11. Perspectives of Quality Transcendent Product based User based Development based Value based Software Testing 11 Benoy R Nair 12-Oct-2009
  • 12. Cost of Quality Cost of Prevention Cost of Appraisal Cost of Failure Software Testing 12 Benoy R Nair 12-Oct-2009
  • 13. Quality Assurance & Quality Control Quality Assurance – Process oriented (software development) – Defect prevention Quality Control – Product oriented (quality of entire product is tested) – Defect detention Software Testing 13 Benoy R Nair 12-Oct-2009
  • 14. CLASSIFICATIONS SOFTWARE TESTING Software Testing 14 Benoy R Nair 12-Oct-2009
  • 15. Levels of Classification Based on Granularity – Unit Level – Integration Level – System Level Based on Methodology – Black Box (Functional) Testing – White Box (Structural) Testing Software Testing 15 Benoy R Nair 12-Oct-2009
  • 16. Types of Testing (contd…) Regression Testing Acceptance Testing Sanity Testing Smoke Testing Stress Testing Software Testing 16 Benoy R Nair 12-Oct-2009
  • 17. Unit Testing Primary Goal – To take the smallest piece of testable software in the application, isolate it from the remainder of the code, and determine whether it behaves exactly as you expect. Each unit is tested separately before integrating them into modules to test the interfaces between modules. Unit testing has proven its value in that a large percentage of defects are identified during its use. Software Testing 17 Benoy R Nair 12-Oct-2009
  • 18. Integration Testing A logical extension of unit testing. In its simplest form, two units that have already been tested are combined into a component and the interface between them is tested. Approaches: – Big Bang – Bottom Up – Top Down – Sandwich Software Testing 18 Benoy R Nair 12-Oct-2009
  • 19. System Testing Conducted on a complete, integrated system to evaluate the system's compliance with its specified requirements. Validate the software product against the requirements specification. To find defects that can be exposed only by testing the entire system. Software Testing 19 Benoy R Nair 12-Oct-2009
  • 20. Functional (Black Box) Testing Inspects specified behavior Selects valid and invalid inputs and determines the correct output. There is no knowledge of the test object's internal structure Software Testing 20 Benoy R Nair 12-Oct-2009
  • 21. Structural (White Box) Testing Inspects programmed behavior Chooses test case inputs to exercise paths through the code and determines the appropriate outputs Requires programming skills to identify all paths through the software Software Testing 21 Benoy R Nair 12-Oct-2009
  • 22. Regression Testing Any type of software testing that seeks to uncover software regressions. – Test fixed bugs promptly. – Watch for side effects of fixes. – Write a regression test for each bug fixed. – Identify tests that the program consistently passes and archive them. – Focus on functional issues, not those related to design. – Make changes (small and large) to data and find any resulting corruption. – Trace the effects of the changes on program memory. Software Testing 22 Benoy R Nair 12-Oct-2009
  • 23. Acceptance Testing Objective – To provide confidence that the delivered system meets the business requirements of both sponsors and users By System Provider By Customer (UAT/ End User Testing) Software Testing 23 Benoy R Nair 12-Oct-2009
  • 24. Types of Testing (contd…) Sanity Testing Smoke Testing Stress Testing Software Testing 24 Benoy R Nair 12-Oct-2009
  • 25. TECHNIQUES TEST CASES & DESIGN TECHNIQUES Software Testing 25 Benoy R Nair 12-Oct-2009
  • 26. What is a “Test Case”? Triplet [I, S, O] where – I is the Input data – S is the state of the system at which the data will be input – O is the expected output Not randomly selected, but need to be carefully designed. Test Suite – Set of all test cases Software Testing 26 Benoy R Nair 12-Oct-2009
  • 27. Need for designing test cases Extremely large input data domain making exhaustive testing impractical Randomly selected test cases do not ensure completeness and may also bring in redundancy Number of test cases do not determine effectiveness Each test case should detect different errors Software Testing 27 Benoy R Nair 12-Oct-2009
  • 28. Test Case Design Techniques White Box Testing – Control flow testing – Data flow testing – Branch testing Black Box Testing – Equivalence class partitioning – Boundary value analysis – Comparison testing – Orthogonal array testing – Decision table based testing & Cause effect graph Software Testing 28 Benoy R Nair 12-Oct-2009
  • 29. Summary Testing: Integral part of software development function – Starts with the requirements not code. – Prevention is better than cure. – The sooner you find the fault the cheaper it is to fix it. – Create re-usable ‘testware’. – Process first then tools. – Not everyone can test well; use professional testers. – Planned testing in a controlled environment provides objective metrics. – To gain Return on Investment you must invest first. Software Testing 29 Benoy R Nair 12-Oct-2009