SlideShare a Scribd company logo
Software Testing
Overview
Definition of Software Testing
Problems with Testing
Benefits of Testing
Effective Methods for Testing
Definition of Software
Testing
Software testing is the process of
executing a software system to
determine whether it matches its
specification and executes in its
intended environment.
“Program testing can be a very
effective way to show the presence of
bugs, but it is hopelessly inadequate
for showing their absence” [Dijkstra,
1972]
Why Test?
Q: If all software is released to
customers with faults, why should we
spend so much time, effort, and
money on testing?
Cost of Delaying the Release
of a Software Product
Timing is another important factor to
consider.
New products: The first to the market
often sells better than superior
products that are released later.
Beta Testing
Customers test for free!
Seems to give you test cases
representative of customer use.
Helps to determine what is most
important to the customers.
Can do more configuration
(environment) testing than in your
testing lab.
Problems with Beta Testing
Most beta testers are “techies” who have
a higher tolerance of bugs. They do not
represent the average customer.
Beta testers usually won’t report:
usability problems, bugs they don’t
understand and bugs that seem obvious.
Takes much more time and effort to
handle a user reported bug.
Cutting Testing Costs can
Increase other Costs
Customer support can be very
expensive. Less bugs = less calls.
Customers will look for more reliable
solutions.
Software organizations must perform
cost benefit analysis’ to determine
how much to spend on testing.
Problems with Testing
Since it is impossible to find every fault
in a software system, bugs will be
found by customers after the product
is released.
Another Problem
Testing done almost entirely by untrained co-ops.
Testers were responsible for creating black-box test
plans without being given formal specifications.
Testers were not provided with tools to automate
test plans.
In many software companies, testers are ill-
equipped to test software. For example: My
last co-op firm (which will remain unnamed).
Reasons that Bugs Escape
Testing
User executed untested code.
User executed statements in a
different order than was tested.
User entered an untested
combination of inputs.
User’s operating environment was
not tested.
Why Can’t Every Bug be
Found?
Too many possible paths.
Too many possible inputs.
Too many possible user
environments.
Too Many Possible Paths
Too Many Possible Inputs
Programs take input in a variety of
ways: mouse, keyboard, and other
devices.
Must test Valid and Invalid inputs.
Most importantly, there are an
infinite amount of sequences of
inputs to be tested.
Too Many Possible User
Environments
Difficult to replicate the user’s combination of
hardware, peripherals, OS, and applications.
Impossible to replicate a thousand-node
network to test networking software.
How is Testing Done
Phases of the Software
Process
Requirements
Phase
Specification
Phase
Retirement
Phase
Implementation
Phase
Maintenance
Phase
Integration
Phase
Design Phase
Why No Testing Phase?
Testing must be done at every phase.
Testing of a phase must be build upon and
checked against the results of the previous
phase.
Non-execution based testing is done in early
phases (before executable code is
produced).
Execution and non-execution based testing
can be done in later phases.
Nonexecution-Based Testing
Walkthroughs
Inspections
Walkthroughs are shorter and more
informal than inspections.
Goal of both is to record faults, not to
correct them.
Execution-Based Testing
Utility
Reliability
Robustness
Performance
Correctness
Black-Box / White-Box
Testing
Black-box tests are driven by the program’s
specification
White-box tests are driven by the
program’s implementation
Specification Program
Black-
box
tests
White-
box tests
Test Automation
If a manual test costs $X to run the
first time, it will cost $X to run every
time thereafter.
An automated test can cost 3 to 30
times $X the first time, but will cost
about $0 after that.
Any Questions?
Too Many Possible Paths
There are 5 paths from A to X without
passing through the loop.
There are 520
paths from A to X after
passing through the loop 20 times.
There are 5 + 52
+ 53
+…+ 520
= 100
trillion possible paths in this program.
If you could test a path per second it
would take more than 3 million years!
Black Box Testing
Checks that the product conforms to
specifications
Cannot determine how much code has
been tested
Program
Omissions detected
by black-box tests
White Box Testing
Allows tester to be sure every
statement has been tested.
Difficult to discover missing
functionality.
Commissions
detected by White-
box tests
Program

More Related Content

PPTX
Software testing methods
PPTX
Myths and reality about software testing
PPTX
Introduction to Software Testing Techniques
PPT
Testing Software Solutions
PPTX
Software testing.ppt
PDF
softwaretesting-140721025833-phpapp02.pdf
PPTX
Testing concepts
PPTX
Software testing
Software testing methods
Myths and reality about software testing
Introduction to Software Testing Techniques
Testing Software Solutions
Software testing.ppt
softwaretesting-140721025833-phpapp02.pdf
Testing concepts
Software testing

Similar to SoftwareTesting notes r score increases as you pick a category, fill out a long description and add more (20)

PDF
stm f.pdf
PPTX
softwaretesting-140721025833-phpapp02.pptx
PDF
Agile Testing Pasadena JUG Aug2009
DOC
Lesson 7...Question Part 1
PDF
softwaretestingppt-120810095500-phpapp02 (1).pdf
PPTX
https://www.slideshare.net/slideshow/system-testing-60970402/60970402Software...
PPTX
softwaretestingpowerpointpresentation.pptx
DOCX
PPT
Types of Software Testing
PPT
Industrial Training in Software Testing
PPT
Software testing overview subbu
PPTX
Software testing
PPT
Testing concepts ppt
PPT
Testing concepts ppt
PPT
Testing fundamentals
PPTX
Software_Testing_ppt.pptx
PPTX
testing.pptx
stm f.pdf
softwaretesting-140721025833-phpapp02.pptx
Agile Testing Pasadena JUG Aug2009
Lesson 7...Question Part 1
softwaretestingppt-120810095500-phpapp02 (1).pdf
https://www.slideshare.net/slideshow/system-testing-60970402/60970402Software...
softwaretestingpowerpointpresentation.pptx
Types of Software Testing
Industrial Training in Software Testing
Software testing overview subbu
Software testing
Testing concepts ppt
Testing concepts ppt
Testing fundamentals
Software_Testing_ppt.pptx
testing.pptx
Ad

More from SENTHILR44 (7)

PPT
345_12325_SE492_20112012_1__1_1_Lect 3 Software Testing Fundamentals .ppt
PPT
Automation using Selenium Your score increases as you pick a category, fill o...
PPT
Your score increases as you pick a category, fill out a long description and ...
PDF
9_dl_agriculture_16.12.2020.pdf
PPT
Plantpathology.ppt
PPTX
Introduction.pptx
PPT
UML concepts understanding with simple example and the relation among the di...
345_12325_SE492_20112012_1__1_1_Lect 3 Software Testing Fundamentals .ppt
Automation using Selenium Your score increases as you pick a category, fill o...
Your score increases as you pick a category, fill out a long description and ...
9_dl_agriculture_16.12.2020.pdf
Plantpathology.ppt
Introduction.pptx
UML concepts understanding with simple example and the relation among the di...
Ad

Recently uploaded (20)

PPTX
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
PDF
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
PPTX
web development for engineering and engineering
PPTX
additive manufacturing of ss316l using mig welding
PPTX
Lesson 3_Tessellation.pptx finite Mathematics
PPTX
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
PPT
Mechanical Engineering MATERIALS Selection
PDF
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
PPTX
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
PDF
Digital Logic Computer Design lecture notes
PPTX
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
PPTX
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
PPTX
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
PPTX
Construction Project Organization Group 2.pptx
PPTX
UNIT 4 Total Quality Management .pptx
PDF
composite construction of structures.pdf
DOCX
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
PPTX
Lecture Notes Electrical Wiring System Components
PDF
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
PPTX
Internet of Things (IOT) - A guide to understanding
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
web development for engineering and engineering
additive manufacturing of ss316l using mig welding
Lesson 3_Tessellation.pptx finite Mathematics
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
Mechanical Engineering MATERIALS Selection
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
Digital Logic Computer Design lecture notes
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
Construction Project Organization Group 2.pptx
UNIT 4 Total Quality Management .pptx
composite construction of structures.pdf
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
Lecture Notes Electrical Wiring System Components
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
Internet of Things (IOT) - A guide to understanding

SoftwareTesting notes r score increases as you pick a category, fill out a long description and add more

  • 2. Overview Definition of Software Testing Problems with Testing Benefits of Testing Effective Methods for Testing
  • 3. Definition of Software Testing Software testing is the process of executing a software system to determine whether it matches its specification and executes in its intended environment.
  • 4. “Program testing can be a very effective way to show the presence of bugs, but it is hopelessly inadequate for showing their absence” [Dijkstra, 1972]
  • 5. Why Test? Q: If all software is released to customers with faults, why should we spend so much time, effort, and money on testing?
  • 6. Cost of Delaying the Release of a Software Product Timing is another important factor to consider. New products: The first to the market often sells better than superior products that are released later.
  • 7. Beta Testing Customers test for free! Seems to give you test cases representative of customer use. Helps to determine what is most important to the customers. Can do more configuration (environment) testing than in your testing lab.
  • 8. Problems with Beta Testing Most beta testers are “techies” who have a higher tolerance of bugs. They do not represent the average customer. Beta testers usually won’t report: usability problems, bugs they don’t understand and bugs that seem obvious. Takes much more time and effort to handle a user reported bug.
  • 9. Cutting Testing Costs can Increase other Costs Customer support can be very expensive. Less bugs = less calls. Customers will look for more reliable solutions. Software organizations must perform cost benefit analysis’ to determine how much to spend on testing.
  • 10. Problems with Testing Since it is impossible to find every fault in a software system, bugs will be found by customers after the product is released.
  • 11. Another Problem Testing done almost entirely by untrained co-ops. Testers were responsible for creating black-box test plans without being given formal specifications. Testers were not provided with tools to automate test plans. In many software companies, testers are ill- equipped to test software. For example: My last co-op firm (which will remain unnamed).
  • 12. Reasons that Bugs Escape Testing User executed untested code. User executed statements in a different order than was tested. User entered an untested combination of inputs. User’s operating environment was not tested.
  • 13. Why Can’t Every Bug be Found? Too many possible paths. Too many possible inputs. Too many possible user environments.
  • 15. Too Many Possible Inputs Programs take input in a variety of ways: mouse, keyboard, and other devices. Must test Valid and Invalid inputs. Most importantly, there are an infinite amount of sequences of inputs to be tested.
  • 16. Too Many Possible User Environments Difficult to replicate the user’s combination of hardware, peripherals, OS, and applications. Impossible to replicate a thousand-node network to test networking software.
  • 18. Phases of the Software Process Requirements Phase Specification Phase Retirement Phase Implementation Phase Maintenance Phase Integration Phase Design Phase
  • 19. Why No Testing Phase? Testing must be done at every phase. Testing of a phase must be build upon and checked against the results of the previous phase. Non-execution based testing is done in early phases (before executable code is produced). Execution and non-execution based testing can be done in later phases.
  • 20. Nonexecution-Based Testing Walkthroughs Inspections Walkthroughs are shorter and more informal than inspections. Goal of both is to record faults, not to correct them.
  • 22. Black-Box / White-Box Testing Black-box tests are driven by the program’s specification White-box tests are driven by the program’s implementation Specification Program Black- box tests White- box tests
  • 23. Test Automation If a manual test costs $X to run the first time, it will cost $X to run every time thereafter. An automated test can cost 3 to 30 times $X the first time, but will cost about $0 after that.
  • 25. Too Many Possible Paths There are 5 paths from A to X without passing through the loop. There are 520 paths from A to X after passing through the loop 20 times. There are 5 + 52 + 53 +…+ 520 = 100 trillion possible paths in this program. If you could test a path per second it would take more than 3 million years!
  • 26. Black Box Testing Checks that the product conforms to specifications Cannot determine how much code has been tested Program Omissions detected by black-box tests
  • 27. White Box Testing Allows tester to be sure every statement has been tested. Difficult to discover missing functionality. Commissions detected by White- box tests Program