Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Thinking in software testing

735 views

Published on

According to my previous slide share, Introduction to software engineering, http://www.slideshare.net/ssuser45a683/introduction-to-software-engineering-48462625. I would like to expand further in part of software testing.

Software testing is vital, no less than software development. It can be said that software testing should be the same level as software development.

The content of this slide will discuss the meaning of software testing. The importance of software and concepts of software testing.

Published in: Software
  • Be the first to comment

Thinking in software testing

  1. 1. Software Testing Part I Thinking in Software Testing Saroj Sangphongamphai, August 2015 ss.saroj@gmail.com
  2. 2. Sincerely grateful to all teachers, professors, books, websites, and others.
  3. 3. Think Big, Set the High Goal
  4. 4. Software development life cycle  Analysis and design  Planing  Implementation  Testing  Deployment
  5. 5. 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.
  6. 6. What is software testing? Testing is the process of executing a program with the intent of finding errors.
  7. 7. Terms for software failures Defect Fault Problem Error Incident Anomaly Variance Failure Inconsistency Feature Bug Etc.
  8. 8. Software bug: a formal definition (1 of 5) The software does not do something that the product specification says it should do.
  9. 9. Software bug: a formal definition (2 of 5) The software does something that the product specification says it should not do.
  10. 10. Software bug: a formal definition (3 of 5) The software does something that the product specification does not mention.
  11. 11. Software bug: a formal definition (4 of 5) The software does not do something that the product specification does not mention but should.
  12. 12. 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.
  13. 13. Software bug: a formal definition 1.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.
  14. 14. Insights from a Venn Diagram
  15. 15. Insights from a Venn Diagram
  16. 16. Why do bug occurs?
  17. 17. The cost of bugs
  18. 18.  To find bugs  To find them as early as possible  And to make sure they get fixed The goal of a software tester
  19. 19. The challenge of software testing Exhaustive testing is impractical.
  20. 20. Exhaustive testing is impractical A 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)
  21. 21. Exhaustive testing is impractical A 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 years 2 (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)
  22. 22. Optimal amount of testing
  23. 23. The psychology of software testing A successful test case is one that detects an undiscovered error.
  24. 24. The psychology of software testing
  25. 25. The psychology of software testing Testing can only show the presence of errors, not their absence.
  26. 26. The psychology of software testing A necessary part of a test case is a definition of the expected output or result.
  27. 27. The difference between testing and debugging Testing = Find Bug Debugging = Remove Bug
  28. 28. Quality is free
  29. 29. Early testing, more prevention than detection
  30. 30. Quality is not equal to test If it is not built right in the first place, then it is never going to be right.
  31. 31. 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.
  32. 32. Primary metric Cycle time
  33. 33. Reference
  34. 34. Question & Answer
  35. 35. Next Software Testing Part II Testing Techniques

×