K II (224) 18/7/2003 11:19 1
E
. , .
K II (224) 18/7/2003 11:19 2
K II (224) 18/7/2003 11:19 3
HPOOPIKH EIIKA EMATA TEXNOOIA OIMIKOY B'
E M H/Y &
ATPA 2003
K II (224) 18/7/2003 11:19 4
HPOOPIKH EIIKA EMATA TEXNOOIA OIMIKOY B' E AXIEA KAMEA M H/Y & K T M K T M IANNH KOYTONIKO KNTANTINO KAMANITH EI EKOTIKH E..E. / 19972003 ISBN: 9605382210 K : H 42/2 Copyright 2003 & , 26222 : 2610 314094, 314206 : 2610 317244 . 2121/1993, .
K II (224) 18/7/2003 11:19 5
.............................................................................................................................................................................
11
K 1
E
, , , E .................................................................................................................................... 15 1.1 1.2 E & E K E & E........................................................................
17 20 23
...............................................................................................
...................................................................................................................................................................................
B ..................................................................................................................................................................... 24K 2
T E & E
, , , E .................................................................................................................................... 25 2.1 2.2 A..........................................................................................................................................
27 30 31
................................................................................................................................................. .............................................................................
2.2.1 O 2.3 2.4
....................................................................................................................................................... 32 E...................................................................................................................................................
33 37
...................................................................................................................................................................................
B ..................................................................................................................................................................... 38K 3
T E & E
, , , E .................................................................................................................................... 39 3.1 3.2 3.3 .................................................................................................................................. 40 .................................................................................................................................................. ..............................................................................................................................
45 47
A
K II (224) 18/7/2003 11:19 6
6
E
...................................................................................................................................................................................
52
B ..................................................................................................................................................................... 52K 4
T
, , , E .................................................................................................................................... 53 4.1 4.2 O ................................................. 56 ......................................................................................... .................................................................
58 61 61 62
4.2.1 4.2.2 ; 4.3 4.4
.................................................................................................... ......................................................................................................
T
, , , E .................................................................................................................................... 64 4.4.1 .............................................................................. 65 4.4.2 A ........................................................................................................ 68 4.4.3 .............................................................................. 71 4.4.4 4.5...................................................................................................................
74
T
, , , E .................................................................................................................................... 77 4.5.1 ............................................................................................
78
4.5.2 ................................................................................................. 87 4.6 T
, , , E .................................................................................................................................... 93 4.6.1 ..................................................................................................................
94
4.6.2 ............................................................ 94 ...................................................................................................................................................................................
98
B ..................................................................................................................................................................... 98
K II (224) 18/7/2003 11:19 7
EPIEXOMENA
7
K 5
:
, , , E .................................................................................................................................... 99 5.1 ...................................................................................................................................... ............................................................................................................................. .............................................................................
102 103 103 104 104 105 105 107 108 110 112 116 117
5.5.1
5.5.2 5.1.3
....................................................................................... ......................................................
5.1.4 5.1.5 5.1.6 O 5.2
................................................................................................
...................................................................................................................
........................................................................................................................... ................................................. .................................................
5.2.1 5.2.2 5.2.3 5.3
...................................................................................................................................... ............................................................................................................................... ..........................................................................................................
5.3.1 B 5.4
............................................................................................................................... 118 5.4.1 .........................................................................................
118
5.4.2 ............................................................................................................................. 119 5.4.3 .................................................................................................................... 120 5.4.4 5.4.5 ...................................................................................................................... ........................................................................................................................
120 120
................................................................................................................................................................................ 123 B .................................................................................................................................................................. 124
K II (224) 18/7/2003 11:19 8
8
E
K 6
E
, , , E ................................................................................................................................ 125 6.1 6.2 H ............................................................................................. 127 M .................................................................................................... 129 6.2.1 K 6.2.2 O...........................................................................................................
129 133 133
......................................................................................................................... ...............................................................................................................
6.2.3 E
6.2.4 B! ............................................................................................................................................. 136 6.3 E ..................................................................................................................... 144
................................................................................................................................................................................ 146 B .................................................................................................................................................................. 147K 7
E
, , , E ................................................................................................................................ 149 7.1 7.2 ......................................................................................... 152 .......................................................................................... 159 7.2.1 O ........................................................................... 160 7.2.2 T ................................................................. 162 7.2.3 E .................................................................................................................................... 163 7.3 T T E.........................................................................................................................
165
7.3.1 A ............................................................................................................... 165 7.3.2 E....................................................................................................................... ...............................................................
165 166 166
7.3.3 H 7.4 A
.........................................................................................................................
7.4.1 ................................................................... 167 7.4.2 M ...............................................................................
168
................................................................................................................................................................................ 171
K II (224) 18/7/2003 11:19 9
EPIEXOMENA
9
B .................................................................................................................................................................. 172K 8
E
, , , E ................................................................................................................................ 173 8.1 8.2 T ................................................................................................................................ ....................................................................................
176 181 181 182
A 8.2.1 E
......................................................................................... .....................................................................................
8.2.2 E
8.2.3 E .............................................. 182 8.2.4 8.3............................................................................................................................. ..................................................................................................................
183 183
E
8.3.1 A .......................................................................................................... 185 8.3.2 B ..................................................................................................... 186 8.4 8.4.1 ........................................................................................................
186 188
..............................................................................................................................
8.4.2 .................................................................................... 188 8.4.3 .................................................................................................
188
8.4.4 ....................................................................................................... 189 8.4.5 A........................................................................................................................................
190
................................................................................................................................................................................ 192 B .................................................................................................................................................................. 192 E ............................................................................................................................................................................. 193 A A A ............................................................................................... 195 B............................................................................................................................................... ...........................................................................................................
209 210 214
B
..........................................................................................................................................................................
K II (224) 18/7/2003 11:19 10
K II (224) 18/7/2003 11:19 11
: . ( ), . , , This program has performed an illegal operation and will be shut down, . ( Press this button to save your work), . . ( ) , ( ) . , , . , . , : : , () , , () , , ! , . : . ; . ; ( ). ; (, ). , : . , ( ) . : K 1 E E,
K II (224) 18/7/2003 11:19 12
12
E
&. ( V) . , &, . K 2 &, . . , . , . K 3 &, . , ( ) , , . , , . . K 4 , &. , , . , . K 5 . , , , . K 6 , ( !). ( -
K II (224) 18/7/2003 11:19 13
POOO
13
, , ) , , . K 7 & . , . , , . : , , . , . K 1 . K 2 & . K 3 6 &, . ( K 2, 4, 5) , K 7 . , , &, . K 8 &. . . & ( ). , &, . , , -
K II (224) 18/7/2003 11:19 14
14
E
. &. . , , . () ( ), , . , , . . , : . ( K 2 4 6) , . , . ( ) . . , , ( , ). . . . . , A.K
K II (224) 18/7/2003 11:19 15
E
. , .
1
, : , , , , .
E, , , &, &, V, &, &, . &, &,
, :
K II (224) 18/7/2003 11:19 16
16
KEAAIO 1: EIAH
. , . : . , &, E & E.
K II (224) 18/7/2003 11:19 17
1 . 1 &
17
1.1 &
& , . (verification) ([90]). , (validation) . & (Boehm[81]): : ; : ;
, . , , . , (testing) (source program code) , . H . , . 1.1 , (concept), . ,
K II (224) 18/7/2003 11:19 18
18
KEAAIO 1: EIAH
. (: & , . &).
& . , , , , &. , & . , , ( ) , . , . , , . , . & . , &. V 1.1. , & (test plans), .
K II (224) 18/7/2003 11:19 19
1 . 1 &
19
1.1
& - V , . (software program units) , . , (.. ) . , (integration ) , . V K 4. &, & . & , ([86]), & : &
K II (224) 18/7/2003 11:19 20
20
KEAAIO 1: EIAH
1.2 &
&, . ( 1.2) ([91]): & (formal techniques), . : , & (informal techniques), o, . (, ). & , . : & (static techniques), . , . & (dynamic techniques), . (program testing).
K II (224) 18/7/2003 11:19 21
1 . 1 &
21
E&E T
1.2
&
, (reviews) . , , , . , . , . , , . , & , &. , , . ( ) . ( ) -
K II (224) 18/7/2003 11:19 22
22
KEAAIO 1: EIAH
( ). , , , . , . (bugs, faults) , . : T , , , .. T , . T , . , , , /. . (debugging ). , .
K II (224) 18/7/2003 11:19 23
YNOH
23
, ( &). , ( V), & . , . , () . , &, : & . , , &, . & , ( ), , . , !
K II (224) 18/7/2003 11:19 24
24
KEAAIO 1: EIAH
B
[1] .W. Boehm (1981), Software Engineering Economics. Prentice Hall, Englewood Cliffs:. [2] IEEE (1986), Software Verification and Validation Plans, ANSI IEEE Standard 1012 1986, IEEE Press, New York. [3] (1990), Standard Glossary of Software Engineering Terminology, ANSI IEEE Standard 610.12 1990, IEEE Press, New York. [4] . (1991), .
K II (224) 18/7/2003 11:19 25
&
& ( , , ) , .
2
& : , , , , , , .
, , , , , , , .
& . , -
K II (224) 18/7/2003 11:19 26
26
K E A A I O 2 : &
. , , , . , . , & . &, . , & . &, , .
K II (224) 18/7/2003 11:19 27
2 . 1
27
2.1
(static analysis) . , , , . , ( ) ( ). , , . , (Fairley[85]) : (symbol table), (.. , , , ..). (control flow graph), . , . (call graph), (, ..) . (Sommerville[96]): : E (loops) ( goto ). : E , . : E . , ,
K II (224) 18/7/2003 11:19 28
28
K E A A I O 2 : &
. : , , . : E . , . , . ( ) (.. ). 2.1 (Fairley[85], Sommerville[96]). 2.1
. . . . . . / . . . . .
K II (224) 18/7/2003 11:19 29
2 . 1
29
. . . . . . .
2.1 . , . (: E , , , . , ).
, (Fairley[85], [91]). : M ( ) , . . . -
K II (224) 18/7/2003 11:19 30
30
K E A A I O 2 : &
, (decidability theorem) , Turing (. 1 ), , . (halting problem). , , . (.. ).2.2
(review) . (Pressman[94]): , , , , , , , . , : (3 5 ). ( 2 ) .
K II (224) 18/7/2003 11:19 31
2.2
31
H 2 . , . , : , ( , ), ( , ). ( 2.1), . , .
2.1
2.2.1
, , . (Pressman[94]): 1. . H , , . .
2.
K II (224) 18/7/2003 11:19 32
32
K E A A I O 2 : &
3.
M . , . , . , ( ) . K . O , . K . O . , . O ( ) .
4.
5. 6.
7. 8.
9.
10. H .2.3
(walkthrough), (reviewee), , (reviewers). . , , . , . , . , , , , (.. ). ,
K II (224) 18/7/2003 11:19 33
2.4
33
. , : () , () , () () . , , . , , . 2.2 ( ) : , , .
2.4
(inspection), (inspectors) . ( ). ( 2.2). , , , , , , , . , , (
K II (224) 18/7/2003 11:19 34
34
K E A A I O 2 : &
). , . 2.2
() . . , , . . . , . &. &.
&
, , . , , , . , . , (unit testing), (. ).
K II (224) 18/7/2003 11:19 35
2.4
35
2.1 & IBM. Fagan (Fagan[76]). , 1 2 , . , 125 , 90 125 . , 100 ( ). . 67% , 82%. 70%.
2.3 2.3 & 2.4 . (: , , , .). 2.3.
2.3
. . . .
K II (224) 18/7/2003 11:19 36
36
K E A A I O 2 : &
A, , , , , . .
, , , , . .
A . B . . .
A . O . . .
1. 1937 Alan Turing , / . , , , .
K II (224) 18/7/2003 11:19 37
YNOH
37
&: , , /, , , , . & , , , &.
K II (224) 18/7/2003 11:19 38
38
K E A A I O 2 : &
B
[1] M. Fagan (1976), Design and Code Inspections to Reduce Errors in Program Development. IBM Systems Journal, 15(3). [2] R. Fairley (1985), Software Engineering Concepts. McGraw Hill, Singapore. [3] R. Pressman (1994), Software Engineering: a practitioners approach. McGraw Hill, England [4] . Sommerville (1996), Software Engineering. Addison Wesley, USA [5] . (1991), . , .
K II (224) 18/7/2003 11:19 39
T &
&, ( & ). & .
3
, : , , , .
, , , , , / , / , , , , , , .
& K 2, , . ,
K II (224) 18/7/2003 11:19 40
40
KEAAIO 3: T &
. . , . &, . . , , . & , . . , .
3.1
(symbolic execution) . , . . , . , , . , (Fairley[85]).
K II (224) 18/7/2003 11:19 41
3.1
41
3.1: TEST b c, a x. , . . , B C, b c . (a x ) . , . TEST (B, C) ; A : = B+C ; X:=A*C; EAN (A < X) 1 (B >= 1) OR (B = 1) OR (b 0
4 6 No 1MTM = 999
13
YesINP < 100
5 2 6 3 12 7
No 4
YesMTM = SUM/VALID
YesINP = INP + 1
11 5VAL[1] > MIN
T 13
No
8
Yes 6VAL[1] < MAX
9 () ()
No 7
YesVALID = VALID + 1 SUM = SUM + VAL[I]
I=I+1 9
8
4.6
K II (224) 18/7/2003 11:20 81
4.5
81
. . , . ( ) . : . , . (cyclomatic complexity). , , . V(G) G ( ): E . O V(G) = E N + 2. O V(G) = P + 1, ( ). 4.3 () , , , : T ( 4.6()). V(G) = 17 13 + 2 = 6
K II (224) 18/7/2003 11:20 82
82
KEAAIO 4: E
V(G) = 5 + 1 = 6 : 1. 1 2 10 11 13 2. 1 2 10 12 13 3. 1 2 3 10 11 13 4. 1 2 3 4 5 6 7 8 9 2 10 11 13 5. 1 2 3 4 5 6 8 9 2 10 11 13 6. 1 2 3 4 5 8 9 2 10 11 13 . 1 2 3 10 12 13, 2 3 . . 4.3 () : 1 VAL[] , < VAL[] = 999, 2 , < 6 VAL[] = , < 100 VAL[] < , < , , ,
. , . , , . . , , . , . 4.6 , : 1. 2. 3. 4.
K II (224) 18/7/2003 11:20 84
84
KEAAIO 4: E
4.4 (binary search) . , , KEY. , BOOLEAN () FOUND TRUE, POS, FOUD FALSE. : FIRST, , LAST, MID, . . , KEY MID. KEY < MID, , , . KEY > MID, . , KEY = MID, . KEY: INTEGER ; T: ARRAY [1..N] OF INTEGER ; FOUND: BOOLEAN ; POS: INTEGER ; FIRST, LAST: INTEGER ; FIRST := 1 ; LAST := ; FOUND := FALSE ; ((FIRST = X AND 1 < B < 1 3.
K II (224) 18/7/2003 11:20 200
200
E
, ! . , . 4.5.1 5. , , . , . , 3.1. ; B + C = 0 ; ( ). 4.8 , , . , :
. , .
K II (224) 18/7/2003 11:20 201
201
3.1 4.5.2 ! 4.9 : . , . , , . , . , , . , 4.4. , ! . , 4.5, 4.4. 5.1 :
K II (224) 18/7/2003 11:20 202
202
E
. .
! , . , , 5.1.6 . 5.1. 5.2 5.2.1 5.3 ( , ). , : 1. . .
2.
3.
4. 5. 6. 7. . 8. .
, 2, 3 4 (
K II (224) 18/7/2003 11:20 203
203
). , 5 6 7 8. 2, 3 4 5 8, . , , 1 2 5 6 3 7 8 4 ( 5.2, ). A . 5.3 5.2.2 5.4 ( , ). , : 1. 2. 3. 4. . 5. . 6. 7. 8.
, ( 4 5 6 1 2 3 7 8). A . 5.4 . -
K II (224) 18/7/2003 11:20 204
204
E
, , ( ) . ( ) , . : 1. . .
2. . 3. . 4.
5. 6. 7. 8.
, . , 5.2.3 ! 5.5 (: , , ):
K II (224) 18/7/2003 11:20 205
205
/
, ! . , . 6.1 , 6.2.3, : 1. 2. 3. 4. , , 6.2.3, : 1.
K II (224) 18/7/2003 11:20 206
206
E
2. 3. 4. , ! , . , . . 6.2.3 6.3 6.4 . 6.2 : . , , . , . , . , , , . , . ( ) , . , . ( ), ( ) ( ). : , , . , 6.1. :
K II (224) 18/7/2003 11:20 207
207
( 6.2.2 6.2.3), ( 6.2.1). , . , ! . 7.1 :
, ! , . , 7.3. 7.2 (MTBF). MTBF MTTF MTTR (50 sec 8 min, ). MTBF = 8 min 50 sec = 530 sec. , 4800 sec, 4270 sec. 88,9% 9,43%. , . MTBF MTTF MTTR, MTTR. . , MTTF ( ). MTTR. , , , .
K II (224) 18/7/2003 11:20 208
208
E
, ! MTBF . , . 7.4 2, . 7.3 (wear) , . , : , . . , !, . , . 7.4 . , , . , , . , , , ( ) . , MTBF . , .. 50 100 (!), MTTF .
K II (224) 18/7/2003 11:20 209
[1] . . (1991), . , . [2] . (1991), . , . [3] B.W. Boehm (1981), Software Engineering Economics. Prentice Hall, Englewood Cliffs: NJ. [4] R. Fairley (1985), Software Engineering Concepts. McGraw Hill, Singapore. [5] (1983), Glossary of Software Engineering Terminology. ANSI IEEE Standard 729 1983, IEEE Press, New York. [6] (1984), Software Quality Assurance Plans. ANSI IEEE Standard 730 1984, IEEE Press, New York. [7] (1986), Software Quality Assurance Planning. ANSI IEEE Standard 983 1986, IEEE Press, New York. [8] IEEE (1986), Software Verification and Validation Plans. ANSI IEEE Standard 1012 1986, IEEE Press, New York. [9] IEEE (1990), Standard Glossary of Software Engineering Terminology. ANSI IEEE Standard 610.12 1990, IEEE Press, New York. [10] R. C. Linger (1994), Cleanroom process model. IEEE Software, 11(2), pp 50 58. [11] J. McCall, P. Richards and G. Walters (1977), Factors in Software Quality. NTIS AD A049 014, 015, 055 (3 ). [12] R. Pressman (1994), Software Engineering: a practitioners approach. McGraw Hill, England. [13] M.L. Shooman (1983), Software Engineering. McGraw Hill, Tokyo. [14] I. Sommerville (1996), Software Engineering. Addison Wesley, USA [15] J. Voas and K. Miller (1995), Software Testability: the new verification. IEEE Software, 12(3), pp 17 28.
K II (224) 18/7/2003 11:20 210
, . , . , &, (.. ). R. Pressman, Software Engineering: a Practitioners Approach (McGraw Hill, 1994) I. Sommerville, Software Engineering (Addison Wesley, 1996). &, , . M. Shooman, Software Engineering (McGraw Hill, 1983). , F. Brooks Jr., The Mythical Man month: Essays on Software Engineering (Addison Wesley, 1995). , ! & J. Grady, System Validation & Verification (CRC Press, 1995). & . , , E. Kit S. Finzi, Software Testing in the Real World: Improving the Process (ACM Press, 1995). , . , & G. Schulmeyer G. McKenzie, Verification and Validation of Modern Software Systems (Prentice Hall, 2000). .
K II (224) 18/7/2003 11:20 211
211
G. Myers, The Art of Software Testing, (John Wiley & sons, 1979). : , , , . , , , , , . . ( ) P. Jorgensen, Software Testing: a Craftsmans Approach (CRC Press, 1995). Automated Software Testing: Introduction, Management and Performance E. Dustin, J. Rashka J. Paul (Addison Wesley, 1999) . ( ATLM Automated Testing Lifecycle Management) . . , W. Perry, Effective Methods for Software Testing, 2nd edition (John Wiley & sons, 2000). (.. client server, intranets ..). . , J. Musa, A. Iannino K. Okumoto, Software Reliability: Measurement, Prediction, Application (McGraw Hill, 1987) . J. Musa, , J. Musa, Software Reliability Engineering: More Reliable Software, Faster Development and Testing (McGraw Hill, 1998). M. Lyu, Handbook of Software Reliability Engineering (McGraw Hill, 1996) H. Pham, Software Reliability and Testing (IEEE Computer Society, 1995). : , .
K II (224) 18/7/2003 11:20 212
212
E
, M. Friedman J. Voas, Software Assessment: Reliability, Safety, Testability (John Wiley & sons, 1995). , , , , (, ). G. Schulmeyer J. McManus, The Handbook of Software Quality Assurance (Prentice Hall, 1998), , , , , , , , .. D. Wheeler, B. Brykczynski R. Meeson, Software Inspection: An Industry Best Practice (IEEE Computer Society, 1996) D. Freedman G. Weinberg, Handbook of Walkthroughs, Inspections and Technical Reviews (Dorset House, 1990). . . A. Stavely, Towards Zero Defect Programming (Addison Wesley, 1998) . , S. Prowell, C. Trammell, R. Linger J. Poore, Cleanroom Software Engineering: Technology and Process (Addison Wesley, 1999), . R. Binder, Testing Object Oriented Systems: Models, Patterns and Tools (Addison Wesley, 1999) D. Kung, P. Hsia, J. Gao C. Ho Kung, Testing Object Oriented Software (IEEE Computer Society, 1998). UML . , , -
K II (224) 18/7/2003 11:20 213
213
. , () , . : Software Testing, Verification and Analysis Software Testing, Reliability and Quality Assurance Software Reliability Engineering Design, Specification and Verification of Interactive Systems Computer Aided Verification : IEEE Design & Test of Computers IEEE Software IEEE Computer ( IEEE Computer Society) IEEE Trans. On Reliability ( IEEE Reliability Society) ACM Trans. On Information & System Security ACM Trans. On Software Engineering & Methodology Communications of the ACM
K II (224) 18/7/2003 11:20 214
(review) &, , , , . (. ). (reviewee) E , . (loop invariant) , . (sensitivity analysis) , . , . (. ) : , . (walkthrough report) , , . (software reliability) H .
K II (224) 18/7/2003 11:20 215
215
, . (. ). (. ), (. ) . . , () () , . E ( CASE Computer Aided Software Engineering), . (flowgraph) . . (. ). (test data) (. ). (cleanroom software development process) T , . (availability) M (. ).
K II (224) 18/7/2003 11:20 216
216
E
(acceptance testing) E . . (unit testing) E . , , , . (integration testing) E . (. ), : . , ( ) : / , / /. (system testing) E ( . ). : () , , , . (structural testing) . . : .
K II (224) 18/7/2003 11:20 217
217
, , , , . , &. (debugger) , . (debugging) A . (. ) : , , , . (. ): , . (fault) H (. ). , . (. ). (software testability) O , . , . (black box testing) .
K II (224) 18/7/2003 11:20 218
218
E
(white box testing) . (interface testing) E (). . (software testing) . , , (. ). , (. ) . : , , , . (regression testing) , . (cause removal) T , . . . (software quality assurance) , .
K II (224) 18/7/2003 11:20 219
219
(verification) T . : ;. (reviewers) O , . (validation) . : ;. (inspection) E , , . (inspectors) O , . (assertion) , () . (brute force) T ( , -
K II (224) 18/7/2003 11:20 220
220
E
), . , , , . (cyclomatic complexity) M , . (functional testing) . , , . : , , . (zero defect software) . . (mean time between failures MTBF) M (. ) : MTBF = MTTF + MTTR, MTTF MTTR . (metrics) X (. ). , .
K II (224) 18/7/2003 11:20 221
221
V (V model) E , &. (driver) , ( ) . (integration) . . (testing group) O . (SQA group) O . (backtracking) T , , , . . (walkthrough) E , ( . ) ( . ). (. ).
K II (224) 18/7/2003 11:20 222
222
E
(test case) (. ). , , . , , (. ). (. ). (use case) . (software quality) , . ( ) , (. ). (simulation) , ( ), . (static analysis) E , . ( ), , , .
K II (224) 18/7/2003 11:20 223
223
(stub) . (testing strategy) , . . ( , , ) . (software integration) T (. ). (symbolic execution) &, ( ) , . (basis path set) , , . (. ), (. ). (bug, error) , (faults) (.).
K II (224) 18/7/2003 11:20 224
224
E
& (V&V plan) & . (SQA plan) , . & (V&V techniques) T, , &. &, , . (formal verification) M , . & (V&V phase) . . (downtime) . (repair time) , , , (. ).