Содержание
- 2. Contents Why testing is necessary Fundamental test process Psychology of testing Re-testing and regression testing Expected
- 3. Testing terminology No generally accepted set of testing definitions used world wide New standard BS 7925-1
- 4. What is a “bug”? Error: a human action that produces an incorrect result Fault: a manifestation
- 5. Error - Fault - Failure A person makes an error ... … that creates a fault
- 6. Reliability versus faults Reliability: the probability that software will not cause the failure of the system
- 7. Why do faults occur in software? software is written by human beings who know something, but
- 8. What do software faults cost? huge sums Ariane 5 ($7billion) Mariner space probe to Venus ($250m)
- 9. Safety-critical systems software faults can cause death or injury radiation treatment kills patients (Therac-25) train driver
- 10. So why is testing necessary? because software is likely to have faults to learn about the
- 11. Why not just "test everything"? Total for 'exhaustive' testing: 20 x 4 x 3 x 10
- 12. Exhaustive testing? What is exhaustive testing? when all the testers are exhausted when all the planned
- 13. How much testing is enough? it’s never enough when you have done what you planned when
- 14. How much testing? It depends on RISK risk of missing important faults risk of incurring failure
- 15. what not to test (this time) use RISK to allocate the time available for testing by
- 16. Most important principle Prioritise tests so that, whenever you stop testing, you have done the best
- 17. Testing and quality testing measures software quality testing can find faults; when they are removed, software
- 18. Other factors that influence testing contractual requirements legal requirements industry-specific requirements e.g. pharmaceutical industry (FDA), compiler
- 19. Contents Why testing is necessary Fundamental test process Psychology of testing Re-testing and regression testing Expected
- 20. Test Planning - different levels
- 21. The test process specification execution recording check completion
- 22. Test planning how the test strategy and project test plan apply to the software under test
- 23. Test specification specification execution recording check completion Identify conditions Design test cases Build tests
- 24. A good test case effective exemplary evolvable economic Finds faults Represents others Easy to maintain Cheap
- 25. Test specification test specification can be broken down into three distinct tasks: 1. identify: determine ‘what’
- 26. Task 1: identify conditions list the conditions that we would like to test: use the test
- 27. Selecting test conditions 4 8
- 28. Task 2: design test cases design test input and test data each test exercises one or
- 29. Designing test cases
- 30. Task 3: build test cases prepare test scripts less system knowledge tester has the more detailed
- 31. Test execution specification execution recording check completion
- 32. Execution Execute prescribed test cases most important ones first would not execute all test cases if
- 33. Test recording specification execution recording check completion
- 34. Test recording 1 The test record contains: identities and versions (unambiguously) of software under test test
- 35. Test recording 2 Compare actual outcome with expected outcome. Log discrepancies accordingly: software fault test fault
- 36. Check test completion specification execution recording check completion
- 37. Check test completion Test completion criteria were specified in the test plan If not met, need
- 38. Test completion criteria Completion or exit criteria apply to all levels of testing - to determine
- 39. Comparison of tasks one-off activity activity repeated many times Governs the quality of tests Good to
- 40. Contents Why testing is necessary Fundamental test process Psychology of testing Re-testing and regression testing Expected
- 41. Why test? build confidence prove that the software is correct demonstrate conformance to requirements find faults
- 42. Confidence No faults found = confidence?
- 43. Assessing software quality
- 44. A traditional testing approach Show that the system: does what it should doesn't do what it
- 45. A better testing approach Show that the system: does what it shouldn't doesn't do what it
- 46. The testing paradox Purpose of testing: to find faults The best way to build confidence is
- 47. Who wants to be a tester? A destructive process Bring bad news (“your baby is ugly”)
- 48. Tester’s have the right to: accurate information about progress and changes insight from developers about areas
- 49. Testers have responsibility to: follow the test plans, scripts etc. as documented report faults objectively and
- 50. Independence Test your own work? find 30% - 50% of your own faults same assumptions and
- 51. Levels of independence None: tests designed by the person who wrote the software Tests designed by
- 52. Contents Why testing is necessary Fundamental test process Psychology of testing Re-testing and regression testing Expected
- 53. Re-testing after faults are fixed Run a test, it fails, fault reported New version of software
- 54. Re-testing (re-running failed tests)
- 55. Regression test to look for any unexpected side-effects
- 56. Regression testing 1 misnomer: "anti-regression" or "progression" standard set of tests - regression test pack at
- 57. Regression testing 2 Regression tests are performed after software changes, including faults fixed when the environment
- 58. Regression testing 3 Maintenance of the regression test pack eliminate repetitive tests (tests which test the
- 59. Regression testing and automation Test execution tools (e.g. capture replay) are regression testing tools - they
- 60. Contents Why testing is necessary Fundamental test process Psychology of testing Re-testing and regression testing Expected
- 61. Expected results Should be predicted in advance as part of the test design process ‘Oracle Assumption’
- 62. A test A Program: Source: Carsten Jorgensen, Delta, Denmark 3 8 6? 10? Read A IF
- 63. Contents Why testing is necessary Fundamental test process Psychology of testing Re-testing and regression testing Expected
- 64. Prioritising tests We can’t test everything There is never enough time to do all the testing
- 65. Most important principle Prioritise tests so that, whenever you stop testing, you have done the best
- 66. How to prioritise? Possible ranking criteria (all risk based) test where a failure would be most
- 68. Скачать презентацию