Introduction to Testing
Topics Who are we? Who are we? Software Testing Definition and Goals Software Testing Definition and Goals Facts and Numbers Facts and Numbers
The Software Quality Dilemma Cost Time Quality
Topics Who are we? Who are we? Software Testing Definition and Goals Software Testing Definition and Goals Facts and Numbers Facts and Numbers
Software Testing - Definition “The process of exercising or evaluating a system by manual or automated means to verify that it satisfies specified requirements or to identify differences between expected and actual results.” (IEEE Standard Glossary, 1983)
Software Testing Software testing is not a phase Software testing is not a phase It is a process that should be integrated into the entire software life-cycle It is a process that should be integrated into the entire software life-cycle There are testing deliverables associated with every phase of development There are testing deliverables associated with every phase of development
What are the Goals of Testing? To locate and prevent bugs as early as possible To locate and prevent bugs as early as possible To perform all Tests according to the Requirements, in the most effective and economic way To perform all Tests according to the Requirements, in the most effective and economic way To bring the software product to a level of quality that is appropriate for the client To bring the software product to a level of quality that is appropriate for the client We perform all of the above through Methodology Implementation We perform all of the above through Methodology Implementation
Why Does Software Have Bugs? Miscommunication or Lack of Communication Miscommunication or Lack of Communication Misunderstandings Misunderstandings Time Pressure Time Pressure Programmer’s Skill Level is Low Programmer’s Skill Level is Low
Bad Communication
Bad Communication - Requirements
Topics Who are we? Who are we? Software Testing Definition and Goals Software Testing Definition and Goals Facts and Numbers Facts and Numbers
Where do Software Problems Come From? Insufficiently defined requirements50% Insufficiently defined requirements50% Ambiguous or insufficient design30% Ambiguous or insufficient design30% Programming errors 20% Programming errors 20%
ReqDesignCodingInt. test Sys. testOperation Cost of Fixing Bugs
The later a bug is found, the higher the cost of fixing it Remember
SOW DPD CODING TESTING OGS Errors? Fix Them as Early as Possible
Professional Testing Professionalism in testing is the ability to select the minimum number of efficient test cases that will verify the maximum number of system functions.
When to Stop Testing ? Never Never When the number of detected defects in one cycle is less than the agreed upon number When the number of detected defects in one cycle is less than the agreed upon number When no critical or highly severe defects are detected When no critical or highly severe defects are detected When the time has expired When the time has expired
Picturing the Test System Test Team Test Environment Test Processes Testware Designs Acquires Configures Utilizes Support Provides a Platform for the operation of Determine the usage of Designs Acquires Configures Utilizes Support Create Articulates Trains Applies Internalize