180 likes | 193 Views
Learn about the definition and goals of software testing, as well as the importance of early bug detection. Discover the common causes of software problems and the cost of fixing bugs. Understand the role of professionalism in testing and when to stop testing. Get insights into test system designs and the usage of test processes and testware.
E N D
Topics • Who are we? • Software Testing Definition and Goals • Facts and Numbers
Quality Time Cost The Software Quality Dilemma
Topics • Who are we? • Software Testing Definition and Goals • 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 • It is a process that should be integrated into the entire software life-cycle • 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 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 We perform all of the above through Methodology Implementation
Why Does Software Have Bugs? • Miscommunication or Lack of Communication • Misunderstandings • Time Pressure • Programmer’s Skill Level is Low
Topics • Who are we? • Software Testing Definition and Goals • Facts and Numbers
Where do Software Problems Come From? • Insufficiently defined requirements 50% • Ambiguous or insufficient design 30% • Programming errors 20%
Cost of Fixing Bugs Req Design Coding Int. test Sys. test Operation
Remember The later a bug is found, the higher the cost of fixing it
Errors? Fix Them as Early as Possible SOW DPD CODING TESTING OGS
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 • 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 the time has expired
Picturing the Test System Test Environment DesignsAcquiresConfiguresUtilizesSupport Provides a Platform for the operation of Determine the usage of TestTeam DesignsAcquiresConfiguresUtilizesSupport CreateArticulatesTrainsAppliesInternalize TestProcesses Testware