thinking in software testing
TRANSCRIPT
![Page 2: Thinking in software testing](https://reader035.vdocuments.net/reader035/viewer/2022070520/58f1e8d41a28ab072f8b45b3/html5/thumbnails/2.jpg)
Sincerely grateful to all teachers, professors, books,
websites, and others.
![Page 3: Thinking in software testing](https://reader035.vdocuments.net/reader035/viewer/2022070520/58f1e8d41a28ab072f8b45b3/html5/thumbnails/3.jpg)
Think Big, Set the High Goal
![Page 4: Thinking in software testing](https://reader035.vdocuments.net/reader035/viewer/2022070520/58f1e8d41a28ab072f8b45b3/html5/thumbnails/4.jpg)
![Page 5: Thinking in software testing](https://reader035.vdocuments.net/reader035/viewer/2022070520/58f1e8d41a28ab072f8b45b3/html5/thumbnails/5.jpg)
![Page 6: Thinking in software testing](https://reader035.vdocuments.net/reader035/viewer/2022070520/58f1e8d41a28ab072f8b45b3/html5/thumbnails/6.jpg)
![Page 7: Thinking in software testing](https://reader035.vdocuments.net/reader035/viewer/2022070520/58f1e8d41a28ab072f8b45b3/html5/thumbnails/7.jpg)
![Page 8: Thinking in software testing](https://reader035.vdocuments.net/reader035/viewer/2022070520/58f1e8d41a28ab072f8b45b3/html5/thumbnails/8.jpg)
Software development life cycle Analysis and design Planing Implementation Testing Deployment
![Page 9: Thinking in software testing](https://reader035.vdocuments.net/reader035/viewer/2022070520/58f1e8d41a28ab072f8b45b3/html5/thumbnails/9.jpg)
What is software testing?1.Testing is the process of demonstrating that errors are not present.
2.The purpose of testing is to show that a program performs its intended functions correctly.
3.Testing is the process of establishing confidence that a program does what it is supposed to do.
![Page 10: Thinking in software testing](https://reader035.vdocuments.net/reader035/viewer/2022070520/58f1e8d41a28ab072f8b45b3/html5/thumbnails/10.jpg)
What is software testing?
Testing is the process of executing a program with the intent of finding
errors.
![Page 11: Thinking in software testing](https://reader035.vdocuments.net/reader035/viewer/2022070520/58f1e8d41a28ab072f8b45b3/html5/thumbnails/11.jpg)
Terms for software failuresDefect
FaultProblem
ErrorIncident
Anomaly
VarianceFailureInconsistencyFeatureBugEtc.
![Page 12: Thinking in software testing](https://reader035.vdocuments.net/reader035/viewer/2022070520/58f1e8d41a28ab072f8b45b3/html5/thumbnails/12.jpg)
Software bug: a formal definition(1 of 5)
The software does not do something that the product specification says it should
do.
![Page 13: Thinking in software testing](https://reader035.vdocuments.net/reader035/viewer/2022070520/58f1e8d41a28ab072f8b45b3/html5/thumbnails/13.jpg)
Software bug: a formal definition(2 of 5)
The software does something that the product specification says it should not
do.
![Page 14: Thinking in software testing](https://reader035.vdocuments.net/reader035/viewer/2022070520/58f1e8d41a28ab072f8b45b3/html5/thumbnails/14.jpg)
Software bug: a formal definition(3 of 5)
The software does something that the product specification does not mention.
![Page 15: Thinking in software testing](https://reader035.vdocuments.net/reader035/viewer/2022070520/58f1e8d41a28ab072f8b45b3/html5/thumbnails/15.jpg)
Software bug: a formal definition(4 of 5)
The software does not do something that the product specification does not
mention but should.
![Page 16: Thinking in software testing](https://reader035.vdocuments.net/reader035/viewer/2022070520/58f1e8d41a28ab072f8b45b3/html5/thumbnails/16.jpg)
Software bug: a formal definition(5 of 5)
The software is difficult to understand, hard to use, slow, or in the software
tester’s eyes will be viewed by the end user as just plain not right.
![Page 17: Thinking in software testing](https://reader035.vdocuments.net/reader035/viewer/2022070520/58f1e8d41a28ab072f8b45b3/html5/thumbnails/17.jpg)
Software bug: a formal definition1.The software does not do something that the product specification says
it should do.2.The software does something that the product specification says it
should not do.3.The software does something that the product specification does not
mention.4.The software does not do something that the product specification does
not mention but should.5.The software is difficult to understand, hard to use, slow, or in the
software tester’s eyes will be viewed by the end user as just plain not right.
![Page 18: Thinking in software testing](https://reader035.vdocuments.net/reader035/viewer/2022070520/58f1e8d41a28ab072f8b45b3/html5/thumbnails/18.jpg)
Insights from a Venn Diagram
![Page 19: Thinking in software testing](https://reader035.vdocuments.net/reader035/viewer/2022070520/58f1e8d41a28ab072f8b45b3/html5/thumbnails/19.jpg)
Insights from a Venn Diagram
![Page 20: Thinking in software testing](https://reader035.vdocuments.net/reader035/viewer/2022070520/58f1e8d41a28ab072f8b45b3/html5/thumbnails/20.jpg)
Why do bug occurs?
![Page 21: Thinking in software testing](https://reader035.vdocuments.net/reader035/viewer/2022070520/58f1e8d41a28ab072f8b45b3/html5/thumbnails/21.jpg)
The cost of bugs
![Page 22: Thinking in software testing](https://reader035.vdocuments.net/reader035/viewer/2022070520/58f1e8d41a28ab072f8b45b3/html5/thumbnails/22.jpg)
To find bugs To find them as early as possible And to make sure they get fixed
The goal of a software tester
![Page 23: Thinking in software testing](https://reader035.vdocuments.net/reader035/viewer/2022070520/58f1e8d41a28ab072f8b45b3/html5/thumbnails/23.jpg)
The challenge of software testing
Exhaustive testing is impractical.
![Page 24: Thinking in software testing](https://reader035.vdocuments.net/reader035/viewer/2022070520/58f1e8d41a28ab072f8b45b3/html5/thumbnails/24.jpg)
Exhaustive testing is impracticalA simple function adds two 32 bit numbers and returns a result.
Assumption: we can execute 1,000 test cases per second
How long will it take to exhaustively test this function?
(Signed range 32 bits integer is -2,147,483,648 to 2,147,483,647 and unsigned: 0 to 4,294,967,295)
![Page 25: Thinking in software testing](https://reader035.vdocuments.net/reader035/viewer/2022070520/58f1e8d41a28ab072f8b45b3/html5/thumbnails/25.jpg)
Exhaustive testing is impracticalA simple function adds two 32 bit numbers and returns a result.
Assumption: we can execute 1,000 test cases per second
How long will it take to exhaustively test this function?
Answer: 585 million years2 (32+32) /1000/60/60/24/365 = 584,942,417 years.
(Signed range 32 bits integer is -2,147,483,648 to 2,147,483,647 and unsigned: 0 to 4,294,967,295)
![Page 26: Thinking in software testing](https://reader035.vdocuments.net/reader035/viewer/2022070520/58f1e8d41a28ab072f8b45b3/html5/thumbnails/26.jpg)
Optimal amount of testing
![Page 27: Thinking in software testing](https://reader035.vdocuments.net/reader035/viewer/2022070520/58f1e8d41a28ab072f8b45b3/html5/thumbnails/27.jpg)
The psychology of software testing
A successful test case is one that detects an undiscovered error.
![Page 28: Thinking in software testing](https://reader035.vdocuments.net/reader035/viewer/2022070520/58f1e8d41a28ab072f8b45b3/html5/thumbnails/28.jpg)
The psychology of software testing
![Page 29: Thinking in software testing](https://reader035.vdocuments.net/reader035/viewer/2022070520/58f1e8d41a28ab072f8b45b3/html5/thumbnails/29.jpg)
The psychology of software testing
Testing can only show the presence of errors, not their absence.
![Page 30: Thinking in software testing](https://reader035.vdocuments.net/reader035/viewer/2022070520/58f1e8d41a28ab072f8b45b3/html5/thumbnails/30.jpg)
The psychology of software testing
A necessary part of a test case is a definition of the expected output or
result.
![Page 31: Thinking in software testing](https://reader035.vdocuments.net/reader035/viewer/2022070520/58f1e8d41a28ab072f8b45b3/html5/thumbnails/31.jpg)
The difference between testing and debugging
Testing = Find Bug
Debugging = Remove Bug
![Page 32: Thinking in software testing](https://reader035.vdocuments.net/reader035/viewer/2022070520/58f1e8d41a28ab072f8b45b3/html5/thumbnails/32.jpg)
Quality is free
![Page 33: Thinking in software testing](https://reader035.vdocuments.net/reader035/viewer/2022070520/58f1e8d41a28ab072f8b45b3/html5/thumbnails/33.jpg)
Early testing, more prevention than detection
![Page 34: Thinking in software testing](https://reader035.vdocuments.net/reader035/viewer/2022070520/58f1e8d41a28ab072f8b45b3/html5/thumbnails/34.jpg)
Quality is not equal to test
If it is not built right in the first place, then it is never going to be right.
![Page 35: Thinking in software testing](https://reader035.vdocuments.net/reader035/viewer/2022070520/58f1e8d41a28ab072f8b45b3/html5/thumbnails/35.jpg)
Quality is not equal to test
Quality is achieved by putting development and testing into a blender and mixing them until one is indistinguishable from the other.
![Page 36: Thinking in software testing](https://reader035.vdocuments.net/reader035/viewer/2022070520/58f1e8d41a28ab072f8b45b3/html5/thumbnails/36.jpg)
Primary metric
Cycle time
![Page 37: Thinking in software testing](https://reader035.vdocuments.net/reader035/viewer/2022070520/58f1e8d41a28ab072f8b45b3/html5/thumbnails/37.jpg)
Reference
![Page 38: Thinking in software testing](https://reader035.vdocuments.net/reader035/viewer/2022070520/58f1e8d41a28ab072f8b45b3/html5/thumbnails/38.jpg)
Question & Answer
![Page 39: Thinking in software testing](https://reader035.vdocuments.net/reader035/viewer/2022070520/58f1e8d41a28ab072f8b45b3/html5/thumbnails/39.jpg)
Next
Software Testing Part IITesting Techniques