10.1 Basic definitions A B" failure )7"-.">.-99$4%-'?$"'$&-C);>("$D&)')%$*"'@"-"7@7%$E F6&$":($G>$.9@";:":-)?>($7"E$-7>($7"%&$" reliability FB.")E4;(%-.%"*$7)+.";'H$9%)C$")7"%;"-9&)$C$"-"C$(@"?;I":-)?>($"(-%$"-.*" Object-Oriented Software Engineering &$.9$"&)+&"($?)-')?)%@J Practical Software Development using UML and Java FB":-)?>($"9-."($7>?%":(;E"-"C);?-%);.";:"-."$D plicit ;( implicit ($G>)($E$.% Chapter 10: A B" defect )7"-":?-I")."-.@"-74$9%";:"%&$"7@7%$E"%&-%"9;.%()'>%$7K";("E-@" Testing and Inspecting to Ensure High Quality 4;%$.%)-??@"9;.%()'>%$K"%;"%&$";99>(($.9$";:";.$";("E;($":-)?>($7 F8%"E)+&%"%-L$"7$C$(-?"*$:$9%7"%;"9->7$"-"4-(%)9>?-(":-)?>($ A B." error )7"-"7?)4M>4";(").-44(;4()-%$"*$9)7);."'@"-"7;:%I-($"*$C$?;4$("%&-%" ?$-*7"%;"%&$").%(;*>9%);.";:"-"*$:$9%" 3&-4%$("215"6$7%).+"-.*"8.74$9%).+":;("<)+&"=>-?)%@ 0 !"#$%&'()*+$,#-+-.)/($"0112 10.2 Effective and Efficient Testing Black-box testing To test effectively , you must use a strategy that uncovers Testers provide the system with inputs and observe the as many defects as possible. outputs A 6&$@"9-."7$$".;.$";:5" To test efficiently , you must find the largest possible number of defects using the fewest possible tests F6&$"7;>(9$"9;*$ A 6$7%).+")7"?)L$"*$%$9%)C$"I;(L5 F6&$").%$(.-?"*-%- F6&$"%$7%$("E>7%"%(@"%;">.*$(7%-.*"&;I"4(;+(-EE$(7" FB.@";:"%&$"*$7)+."*;9>E$.%-%);."*$79()').+"%&$" -.*"*$7)+.$(7"%&).LK"7;"-7"%;"'$%%$(":).*"*$:$9%7J 7@7%$EQ7").%$(.-?7 F6&$"%$7%$("E>7%".;%"?$-C$"-.@%&).+">.9;C$($*K"-.*" E>7%"'$"7>74)9);>7";:"$C$(@%&).+J F8%"*;$7".;%"4-@"%;"%-L$"-."$D9$77)C$"-E;>.%";:"%)E$O" %$7%$("&-7"%;"'$" efficient J 3&-4%$("215"6$7%).+"-.*"8.74$9%).+":;("<)+&"=>-?)%@ N 3&-4%$("215"6$7%).+"-.*"8.74$9%).+":;("<)+&"=>-?)%@ P !"#$%&'()*+$,#-+-.)/($"0112 !"#$%&'()*+$,#-+-.)/($"0112
Glass-box testing Equivalence classes A 8%")7").-44(;4()-%$"%;"%$7%"'@" brute force K">7).+" every possible ).4>%"C-?>$ Also called ‘white-box’ or ‘structural’ testing F6-L$7"-"&>+$"-E;>.%";:"%)E$" F87")E4(-9%)9-?" Testers have access to the system design F87"4;).%?$77W A 6&$@"9-." FSD-E).$"%&$"*$7)+."*;9>E$.%7" A X;>"7&;>?*"*)C)*$"%&$"4;77)'?$").4>%7").%;"+(;>47"I&)9&"@;>"'$?)$C$" I)??"'$"%($-%$*"7)E)?-(?@"'@"-??"-?+;()%&E7J" FT)$I"%&$"9;*$ FY>9&"+(;>47"-($"9-??$*" equivalence classes J" FU'7$(C$"-%"(>."%)E$"%&$"7%$47"%-L$."'@"-?+;()%&E7" FB"%$7%$(".$$*7";.?@"%;"(>.";.$"%$7%"4$("$G>)C-?$.9$"9?-77 -.*"%&$)(").%$(.-?"*-%- F6&$"%$7%$("&-7"%;" A 8.*)C)*>-?"4(;+(-EE$(7";:%$.").:;(E-??@"$E4?;@"+?-77M M >.*$(7%-.*"%&$"($G>)($*").4>%K" ';D"%$7%).+"%;"C$():@"%&$)(";I."9;*$ M -44($9)-%$"&;I"%&$"7;:%I-($"E-@"&-C$"'$$."*$7)+.$* 3&-4%$("215"6$7%).+"-.*"8.74$9%).+":;("<)+&"=>-?)%@ R 3&-4%$("215"6$7%).+"-.*"8.74$9%).+":;("<)+&"=>-?)%@ V !"#$%&'()*+$,#-+-.)/($"0112 !"#$%&'()*+$,#-+-.)/($"0112 Examples of equivalence classes Combinations of equivalence classes A T-?)*").4>%")7"-"E;.%&".>E'$("[2M20\ A 3;E').-%;()-?"$D4?;7);."E$-.7"%&-%"@;>"9-..;%" ($-?)7%)9-??@"%$7%"$C$(@"4;77)'?$"7@7%$EMI)*$"$G>)C-?$.9$" FSG>)C-?$.9$"9?-77$7"-($5"]M^JJ1_K"]2JJ20_K"]2NJJ"^_ 9?-77J F8:"%&$($"-($"P").4>%7"I)%&"R"4;77)'?$"C-?>$7"%&$($"-($" A T-?)*").4>%")7";.$";:"%$."7%().+7"($4($7$.%).+"-"%@4$";:" R P [)J$JV0R\"4;77)'?$"7@7%$EMI)*$"$G>)C-?$.9$" :>$? 9?-77$7J" FSG>)C-?$.9$"9?-77$7"-($ A X;>"7&;>?*":)(7%"E-L$"7>($"%&-%"-%"?$-7%";.$"%$7%")7"(>." M 21"9?-77$7K";.$":;("$-9&"7%().+ I)%&"$C$(@"$G>)C-?$.9$"9?-77";:"$C$(@").*)C)*>-?").4>%J" M B"9?-77"($4($7$.%).+"-??";%&$("7%().+7 A X;>"7&;>?*"-?7;"%$7%"-??"9;E').-%);.7"I&$($"-.").4>%")7" ?)L$?@"%;" affect the interpretation ;:"-.;%&$(J A X;>"7&;>?*"%$7%"-":$I";%&$("(-.*;E"9;E').-%);.7";:" $G>)C-?$.9$"9?-77$7J 3&-4%$("215"6$7%).+"-.*"8.74$9%).+":;("<)+&"=>-?)%@ Z 3&-4%$("215"6$7%).+"-.*"8.74$9%).+":;("<)+&"=>-?)%@ ` !"#$%&'()*+$,#-+-.)/($"0112 !"#$%&'()*+$,#-+-.)/($"0112
Testing at boundaries of equivalence Example equivalence class combinations classes A U.$"C-?)*").4>%")7"$)%&$("bc$%()9Q ;("bdY,8E4$()-?Q A c;($"$((;(7")."7;:%I-($";99>("-%"%&$"';>.*-()$7";:" FSG>)C-?$.9$"9?-77$7"-($5 $G>)C-?$.9$"9?-77$7" M c$%()9K"dY,8E4$()-?K"U%&$( A B.;%&$("C-?)*").4>%")7"E-D>E>E 74$$*5"2"%;"ZR1"LE,&" A 6&$")*$-";:"$G>)C-?$.9$"9?-77"%$7%).+"7&;>?*"'$"$D4-.*$*" ;("2"%;"R11"E4& %;"74$9):)9-??@"%$7%"C-?>$7"-%"%&$"$D%($E$7";:"$-9&" FT-?)*)%@"*$4$.*7";."I&$%&$("E$%()9";("dY,)E4$()-? $G>)C-?$.9$"9?-77 FSG>)C-?$.9$"9?-77$7"-($5 FSJ+J"6&$".>E'$("1";:%$."9->7$7"4(;'?$E7" M ]M^JJ1_K"]2JJR11_K"]R12JJZR1_K"]ZR2JJ"^_ A Y;E$"%$7%"9;E').-%);.7 A E.g. 5"8:"%&$"C-?)*").4>%")7"-"E;.%&".>E'$("[2M20\ M c$%()9K"]2JJR11_ C-?)* F6$7%"$G>)C-?$.9$"9?-77$7"-7"'$:;($ M dY,8E4$()-?K"]R12JJZR1_ ).C-?)* M c$%()9K"]R12JJZR1_ C-?)* F6$7%"1K"2K"20"-.*"2N"-7"I$??"-7"C$(@"?-(+$"4;7)%)C$" M c$%()9K"]R12JJZR1_ C-?)* -.*".$+-%)C$"C-?>$7 3&-4%$("215"6$7%).+"-.*"8.74$9%).+":;("<)+&"=>-?)%@ a 3&-4%$("215"6$7%).+"-.*"8.74$9%).+":;("<)+&"=>-?)%@ 21 !"#$%&'()*+$,#-+-.)/($"0112 !"#$%&'()*+$,#-+-.)/($"0112 Detecting specific categories of defects 10.3 Defects in Ordinary Algorithms A tester must try to uncover any defects the other Incorrect logical conditions software engineers might have introduced. A Defect 5" A 6&)7"E$-.7"*$7)+.).+"%$7%7"%&-%"$D4?)9)%?@"%(@"%;"9-%9&"-" F6&$" ?;+)9-?" 9;.*)%);.7" %&-%" +;C$(." ?;;4).+" -.*" ):M (-.+$";:"74$9):)9"%@4$7";:"*$:$9%7"%&-%"9;EE;.?@";99>( %&$.M$?7$"7%-%$E$.%7"-($"I(;.+?@":;(E>?-%$*J A Testing strategy 5" Fd7$"$G>)C-?$.9$"9?-77"-.*"';>.*-(@"%$7%).+J" F3;.7)*$("-7"-.").4>%"$-9&"C-()-'?$">7$*")."-"(>?$";(" ?;+)9-?"9;.*)%);.J 3&-4%$("215"6$7%).+"-.*"8.74$9%).+":;("<)+&"=>-?)%@ 22 3&-4%$("215"6$7%).+"-.*"8.74$9%).+":;("<)+&"=>-?)%@ 20 !"#$%&'()*+$,#-+-.)/($"0112 !"#$%&'()*+$,#-+-.)/($"0112
Recommend
More recommend