1. Principles of Testing 1 Principles 2 Lifecycle 4 Dynamic test techniques 3 Static testing 5 Management 6 Tools Software Testing ISEB Foundation Certificate Course
2. Contents Why testing is necessary Fundamental test process Psychology of testing Re-testing and regression testing Expected results Prioritisation of tests Principles 1 2 3 4 5 6 ISEB Foundation Certificate Course
3.
4.
5. Error - Fault - Failure A person makes an error ... … that creates a fault in the software ... … that can cause a failure in operation
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16. Most important principle Prioritise tests so that, whenever you stop testing, you have done the best testing in the time available.
17.
18.
19. Contents Why testing is necessary Fundamental test process Psychology of testing Re-testing and regression testing Expected results Prioritisation of tests ISEB Foundation Certificate Course Principles 1 2 3 4 5 6
20. Test Planning - different levels Test Policy Test Strategy Company level High Level Test Plan High Level Test Plan Project level (IEEE 829) (one for each project) Detailed Test Plan Detailed Test Plan Detailed Test Plan Detailed Test Plan Test stage level (IEEE 829) (one for each stage within a project, e.g. Component, System, etc.)
21. The test process specification execution recording check completion Planning (detailed level)
22.
23. Test specification specification execution recording check completion Identify conditions Design test cases Build tests Planning (detailed level)
39. Comparison of tasks one-off activity activity repeated many times Governs the quality of tests Good to automate Clerical Intellectual Execute Recording Planning Specification
40. Contents Why testing is necessary Fundamental test process Psychology of testing Re-testing and regression testing Expected results Prioritisation of tests ISEB Foundation Certificate Course Principles 1 2 3 4 5 6
41.
42. Confidence No faults found = confidence? Fault found Faults found Time Confidence
43. Assessing software quality Few Faults Many Faults Few Faults Few Faults Few Faults You may be here You think you are here Test Quality Low High Software Quality Low High
44.
45.
46. The testing paradox Purpose of testing: to find faults The best way to build confidence is to try to destroy it Purpose of testing: build confidence Finding faults destroys confidence Purpose of testing: destroy confidence
47.
48.
49.
50.
51.
52. Contents Why testing is necessary Fundamental test process Psychology of testing Re-testing and regression testing Expected results Prioritisation of tests ISEB Foundation Certificate Course Principles 1 2 3 4 5 6
53.
54. Re-testing (re-running failed tests) x x x x New faults introduced by the first fault fix not found during re-testing Re-test to check Fault now fixed
55.
56.
57.
58.
59.
60. Contents Why testing is necessary Fundamental test process Psychology of testing Re-testing and regression testing Expected results Prioritisation of tests ISEB Foundation Certificate Course Principles 1 2 3 4 5 6
61.
62. A test A Program: Source: Carsten Jorgensen, Delta, Denmark 3 8 6? 10? Read A IF (A = 8) THEN PRINT (“10”) ELSE PRINT (2*A) inputs expected outputs
63. Contents Why testing is necessary Fundamental test process Psychology of testing Re-testing and regression testing Expected results Prioritisation of tests ISEB Foundation Certificate Course Principles 1 2 3 4 5 6
64.
65. Most important principle Prioritise tests so that, whenever you stop testing, you have done the best testing in the time available.
66.
67. Summary: Key Points Testing is necessary because people make errors The test process: planning, specification, execution, recording, checking completion Independence & relationships are important in testing Re-test fixes; regression test for the unexpected Expected results from a specification in advance Prioritise to do the best testing in the time you have ISEB Foundation Certificate Course Principles 1 2 3 4 5 6