2. Contents Reviews and the test process Types of review Static analysis Static testing 1 2 4 5 3 6
3.
4.
5.
6.
7.
8. What to review / Inspect? Tests Tests Tests Tests Requirements Design Code Functions Integration T Unit Test Accept. Test System Test
9.
10. Contents Reviews and the test process Types of review Static analysis Static testing 1 2 4 5 3 6
11.
12.
13.
14.
15.
16.
17.
18.
19.
20. The Inspection Process Software Development Stage . . Planning Kick off Ind Chk Meet Edit Change Request Process Improvement Entry Next Software Development Stage Exit
21. At first glance .. Here’s a document: review this (or Inspect it)
22. Reviews: time and size determine rate Time Checking Rate Size 2 hrs? 100 pages? 50 pages per hour Checking Rate
23. Review “Thoroughness”? ordinary “review” - finds some faults, one major, fix them, consider the document now corrected and OK major minor minor
24. Inspection: time and rate determine size Time Checking Rate Size 2 hrs? Optimum: 1 page * per hour 2 pages (at optimum rate) Size * 1 page = 300 important words
25.
26.
27. Contents Reviews and the test process Types of review Static analysis ISEB Foundation Certificate Course Static testing 1 2 4 5 3 6
28.
29.
30. Data flow analysis faults n := 0 read (x) n := 1 while x > y do begin read (y) write( n*y) x := x - n end Data flow anomaly: n is re-defined without being used Data flow fault: y is used before it has been defined (first time around the loop)
31.
32.
33.
34. Which flow graph is most complex? 1 2 3 5 What is the cyclomatic complexity?
35. Example control flow graph Result = 0 Right = 0 DO WHILE more Questions IF Answer = Correct THEN Right = Right + 1 ENDIF END DO Result = (Right / Questions) IF Result > 60% THEN Print "pass" ELSE Print "fail” ENDIF do if r=r+1 end init if res pass fail end Pseudo-code:
36.
37.
38. Summary: Key Points Reviews help to find faults in development and test documentation, and should be applied early Types of review: informal, walkthrough, technical / peer review, Inspection Static analysis can find faults and give information about code without executing it Static testing 1 2 4 5 3 6