Transcript

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) , , , (. ).