The Mistaken Notions of Structural Testing

4

Transcript of The Mistaken Notions of Structural Testing

Page 1: The Mistaken Notions of Structural Testing

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!

!

!

!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!

!

!

!!

!

!

!!

!

! !

!

!!

!

Page 2: The Mistaken Notions of Structural Testing

!!

!!!"""#!"#!$%"&$!'!"(!")(*+,%!!!!!!!!!!!!!!!!!!!!!!!!!--------------------------------------------------------."/!"%0")--1233472!!

!

!

!

!

!

!

!

!

!

!

!

!

!

!E,-!)%@&#'-1!1.&%.1!.7!I&*(6&(*#$!E-@&%1>!

:5%=%;%'!,!A1=)4A0!&!*%**71=!1=!0%*07=<+!,!&-!&/"&3*!&-&L%)!&0!51"!-7*4=)%'*011)!*0'4A04'&/!0%*07=<!7*#!:5%=%;%'!05%!01.7A!12!"570%!@1Q!A1-%*!4.+!05%!.&'07A7.&=0*+!03.7A&//3!24//!0 7-%!0%*0!.'12%**71=&/*! 7=;1/;%)! 7=! 0%*07=<! 05%! "51/%! *3*0%-+!*&3! 05&0!057*! 7*! &@140! 0%*07=<! 05%! A1)%! @3! %Q%A407=<! 05%! ;&'714*!*0&0%-%=0*+! @'&=A5%*! 1'! .&05*#! 85%! 7--%)7&0%! A1=A/4*71=! 7*!05&0!057*!7*!01!@%!1=/3!)1=%!@3!05%!)%;%/1.%'!&=)!05%'%21'%!)1%*!A1-%!4=)%'!.4';7%"#!:5%=!.'1@%)!24'05%'!05%3!*&3!j"570%!@1Q!0%*07=<j!7*!&@140!)17=<!A1;%'&<%!@&*%)!0%*07=<#!!

!M---##!K%0!4*!057=E!1=!057*##!!

9!?&)/3! 05%! .5'&*%! &*! 4*%)! 7*!7=A1''%A0+! 70!*514/)!@%!j"570%!@1Q!0%*0!0%A5=7[4%*j#!85&0!7*+!&!*%0!12!0%A5=7[4%*!05&0!4*%!05%!*0'4A04'&/!.'1.%'07%*!12!05%!*3*0%-!01!%;&/4&0%!@%5&;71'*#!85%!.'%-7*%!7*! 9!05%!*3*0%-!A14/)!2&7/!@%A&4*%!12!2&4/0*!7=!05%!*0'4A04'&/!&*.%A0*!12!05%!*3*0%-#!!?1!"5&0!&'%!05%!*0'4A04'&/!&*.%A0*!05&0!"%!"14/)!/7E%!01!%Q&-7=%l!I%21'%!"%!A1--%=A%!1=!057*!/7=%!12!'%&*1=7=<+! /%0! 4*! &*E! &! @&*7A! [4%*071=! &*! 01! 05%! -%&=7=<! 12! *0'4A04'%#!:5&0! &'%! 05%! %/%-%=0*! 05&0!A1=*07040%!*0'4A04'%l!:5&0!&'%!.'1.%'07%*!12!05%!*0'4A04'%!05&0!"%!"&=0!01!%;&/4&0%l!!

Page 3: The Mistaken Notions of Structural Testing

!!

!!!"""#!"#!$%"&$!'!"(!")(*+,%!!!!!!!!!!!!!!!!!!!!!!!!!--------------------------------------------------------."/!"%0")--1233473!!

85%!*%0!12!.&'0*!&=)!05%7'!/7=E&<%*!A1=*07040%*!05%!*0'4A04'%#!C!.&'0!7=!0

A1''%A0+!.'1;7)7=<!4*!"705!&!'1@4*0!*A&221/)7=<!01!)%/7;%'!24=A071=&/h=1=924=A071=&/!@%5&;71'*#!!

1!%1!.(*!6.1&-3&=!!85%!@47/)7=<!-&0%'7&/*!"14/)!@%! 05%! 0%A5=1/1<3h/&=<4&<%*!&0! /1"%*0! /%;%/+! A1-.1=%=0*h*4@*3*0%-*!&0!05%!-7))/%! /%;%/!&=)!105%'! *3*0%-*h%=;7'1=-%=0!&0! 05%!57<5%*0! /%;%/#!85%'%21'%!"5&0! &!.&'0! 7*! /%;%/!)%.%=)%=0+!&!.&'0!A14/)!@%!CB,h1@S%A0!&0!05%!/1"%*0!/%;%/+!"57/*0!70!A14/)!@%!*4@*3*0%-h0&*E*h*%';7A%*!&0!-7))/%!/%;%/!&=)!105%'!*3*0%-*!"705!"%!5&;%!01!0&/E!01!&0!05%!57<5%*0!/%;%/# !!

!!!

!)1!"%!<%0! 05%!"51/%! *3*0%-#!85%! /7=E&<%! 7*! )1=%! 7=! 0"1! "&3*! 9! A&//7=<!q! *%=)7=<! 7#%#! A&//7=<! &!CB,h*%';7A%!&=)!*%=)7=<!)&0&#!857=E!&@140!057*! 9!"5%=!314!=%%)!5%/.!

2'1-!&! 2'7%=)+!314!A&=!A&//! 1=! 05%!.51=%!1'!*%=)!&!0%Q0!-%**&<%#!!?1!05%!/7=E&<%!A14/)!@%!&!24=A071=h-%051)!A&//+!*%=)7=<!)&0&!;7&!-%**&<%*!1'!*5&'7=<!05%!)&0&!

;7&!</1@&/h%=;7'1=-%=0!;&'7&@/%*h27/%*h)&0&@&*%*#!!?1! /%0!4*! A1==%A0!&//! 05%*%#!:%!"&=0!01!%=*4'%!05&0!05%!-&0%'7&/*! 05&0!-&E%!4.! 05%!.&'0*!5&;%!@%%=!4*%)!A1''%A0/3!&=)!05&0!05%!.&'0*!5&;%!@%%=!/7=E%)!A1''%A0/3#!C0!05%!/1"%*0 !/%;%/+!05%!.&'0!7*!A1=*0'4A0%)!4*7=<! 2/1"*! 05&0! &'%! *%[4%=07&/h'%A4'*7;%h.&'&//%/! &=)! 4*7=<! -&0%'7&/*! 2'1-! 05%! %=;7'1=-%=0! 7#%#!'%*14'A%*#! 85%*%! .&'0*! &'%! 05%=! /7=E%)! "705! .&'0*! @3! 7=0%'2&A%*! 05&0! &'%! A&//h)&0&! @&*%)#! I40! 70! 7*!7-.1'0&=0! 01! E%%.! 7=! -7=)! &*! 01! "5&0!! 9! /1"%*0! /%;%/! A1)%! *0'4A04'%+! *3*0%-!&'A570%A04'%!&0!05%!-7))/%!/%;%/!&=)!)%./13-%=0!&'A570%A04'%!&0!05%!57<5%*0!/%;%/# !!R-./137=<! 057*! /7=%! '%&*1=7=<+!)1! *%%!05&0!&*! 0%*0!.'12%**71=&/*! 70! 7*!14'!@14=)%=!)403! 01!%=*4'%! 05&0!05%!*0'4A04'%!7*!7=)%%)!'1@4*0!&=)!05&0!"%!5&;%!01!;&/7)&0%!A1''%A0=%**!12!05%!*0'4A04'%!&0!05'%%!/%;%/*D!!

U# m=)%'*0&=)7=<! 05%!)%./13-%=0!&'A570%A04'%!&=)! /11E7=<! 21'! 7**4%*! 7=!&0! 05%!57<5%'!1')%'!*0'4A04'%#! $1! "%! E=1"! )%.%=)%=A7%*! 1=! 105%'! *3*0%-*+! )&0&! 21'-&0* !12! /7=E&<%*+!/&0%=A7%*+!%=;7'1=-%=0! '%*14'A%!&;&7/&@7/703+! 05%!./%051'&!12!;%'*71=*!12!05%!%=;7'1=-%=0!%0A#!

W# m=)%'*0&=)7=<! 05%! *3*0%-! &'A570%A04'%! 7=! 0%'-*! 12! 2/1"*! 12! A1=0'1/h)&0&+! *%[4%=A%*! 12!4*&<%+! %''1'! .1**7@7/70 7%*! &=)! %QA%.071=! 5&=)/7=<! E%%.7=<! 7=! -7=)! 05%! =1=924=A071=&/!&*.%A0*!/7E%!.%'21'-&=A%+!*%A4'703!&00'7@40%*!011#!

]# C0!05%! /1"%*0! /%;%/+!4=)%'*0&=)7=<! 05%! A1)%!*0'4A04'%! 7=! 0%'-*!12! A1=0'1/! &=)!)&0&! 2/1"*!&=)!'%*14'A%!4*&<%#!857*!-&3!@%!)7227A4/0!01!)1!21'!&!24//!07-%!0%*0!.'12%**71=&/!&*!057*!-&3!'%[47'%! &! 57<5%'! /%;%/! 12! )%0&7/! 12! A1)%! *0'4A04'%! &=)! 5%=A%! -&3! @%! @%00%'! )1=%! @3! &!)%;%/1.%'#!T1=%05%/%**!"5&0!=%%)*!01!@%!;&/7)&0%)!A&=!@%!53.105%*7L%)!@3!05%!0%*0%'!&=)!05%!&A0!12!%Q%A4071=!)%/%<&0%)!01!05%!)%;%/1.%'# !

!K%0!4*!)7*A4**!0"1!*A%=&'71*!01!7//4*0'&0%!057*##!!I6-1#*%.!jB! D!!G1%!<1%*!01!05%!)1A01'!&20%'!&!'14<5!=7<50!&=)!*0&0%*!05&0!5%!"&*!2%%/7=<!;%'3!4=%&*3+!"705!&!-7/)!.&7=!05%!A5%*0+!5&)!%QA%**!*"%&0!&=)!2%/0!.'%003!07'%)#!85%!)1A01'!&20%'!%Q0%'=&/!%Q&-7=&071=!A1-%*!01!&!A1=A/4*71=!05&0!5%!=%%)*!01!@%!&)-700%)!21'!&!@39.&**!*4'<%'3#!!T1!"&3P!!

Page 4: The Mistaken Notions of Structural Testing

!!

!!!"""#!"#!$%"&$!'!"(!")(*+,%!!!!!!!!!!!!!!!!!!!!!!!!!--------------------------------------------------------."/!"%0")--1233471!!

'''''''''''''''''''''''''H*92#$I>.'E! U@,.'! 7*! 05%! a14=)%'! q! FRJ! 12!?8Ci!?120"&'%!B'7;&0%!K7-70%)#! !

B&**71=&0%!&@140!%QA%//%=A%+!57*!-7**71=!7*!01!7=;%=0!0%A5=1/1<7%*!01!!!

!!M%!A&=!@%!'%&A5%)!&0!#@,g@&#>@.7&H#*-[6.) . -

I6-1#*%.! jG! D!! G1%!<1%*!01! 05%!)1A01'!&20%'!&! '14<5!=7<50!&=)!*0&0%*! 05&0!5%! 7*!4=&@/%!01!@'%&05!=1'-&//3!"5%=!*/%%.7=<#!M%!*&3*!05&0!5%!@'%&05%*!0514<5!-1405!&=)!<%0*!4.!7=!05%!-1'=7=<!"705!&!*1'%!05'1&0#!85%!)1A01'!*&3*!05&0!5%!=%%)*!01!&!)%0&7/%)! %Q&-7=&071=! @3! A4007=<! 1.%=! 05%! =1*%! 7=! 05%! -7))/%! 01! 4=A1;%'! 05%!.'1@/%-#!J4A5P!!,=! *A%=&'71! tU+! 05%! &A0! 12!.'1@7=<! 7*! )1=%! ;7&!%Q0%'=&/! %Q&-7=&071=! "5%'%&*! 7=!*A%=&'71! tW+! 05%! %Q&-7=&071=! 7=! 7=0%=)%)! 01! @%! 7=0%'=&/P! ,! &-! *4'%! 314! "14/)!"7=A%! &0! @105! 05%*%! *A%=&'71*#!! O14! "14/)! .'1@&@/3! %Q.%A0!&! -%&=7=<24/! &=)!S4)7A714*!A1-@7=&071=!12!%Q0%'=&/!&=)!7=0%'=&/!%Q&-7=&071=#!!!85&0! 7*!"5&0! 7*!%Q.%A0%)! 2'1-!4*! 011P!?1!=%;%'! 057=E! 7=! 0%'-*!12!.4'%! ;*)=V,#",0.'-%+! 70! 7*!&/"&3*!;*)=V,)(/,0.'-%#! K11E!&0! 05%! *0'4A04'%! 2'1-! 05'%%! /%;%/*!&=)!"5%=!314! '%[47'%!&!)%0&7/%)!%Q&-7=&071=!12! 05%! /1"%'! /%;%/! *0'4A04'%*+!"1'E!"705!

!!(%-%-@%'!05%!*0'4A04'%!7*!;%'3!7-.1'0&=0!&*!70!.'1;7)%*!05%!*A&221/)7=<!21'!05%!*3*0%-!&=)!=%%)*!01!@%!%;&/4&0%)#!C!.11'!*0'4A04'%!5&*!&!*7<=727A&=0!@%&'7=<!1=!05%!A1''%A0=%**!12!&00'7@40%*!/7E%!.%'21'-&=A%+!/1&)!5&=)/7=<+!*A&/&@7/703+!'%/7&@7/703+!*%A4'703!%0A#!T10%!24=A071=&/!A1''%A0=%**!-&3!@%!*07//!@%!)%/7;%'%)!"705!&!.11'!*0'4A04'%+!70!7*!&!S4*0!&!-&00%'!12!07-%!@%21'%!A'&AE*!*51"!4.P!!,!&-!*4'%!314!"7//!&<'%%!"705!-%!05&0!05%!.'1@&@7/703!12!2&4/0*!7=!&!*3*0%-!7*!)7'%A0/3!.'1.1'071=&/!01!05%!A1-./%Q703!12! 05%! *3*0%-#!?1-%! *3*0%-*!&'%! 24=A071=&//3! A1-./%Q! c7#%#!=4-@%'!12! A1=)7071=*g!"57/*0!*1-%! *3*0%-*! &'%! *0'4A04'&//3! A1-./%Q! &=)! *1-%! *3*0%-*! &'%! &00'7@40%9"7*%! A1-./%Q! c7#%#! =%%)! 01!)%/7;%'! &! *7-./%! 24=A071=&/703! @40! -&3! =%%)! 01! *4..1'0! 12! -7//71=*! 12! 7=*0&=A%*g#! m=)%'*0&=)! 05&0!*0'4A04'%!./&3*!&!;70&/!'1/%!7=!05%!/&*0!0"1#!!,=!MI8!cM3.105%*7*!I&*%)!8%*07=<g!05%!05'%%!A1'%!A1=A%.0*!12!Y4&/703!i'1"05!B'7=A7./%!&=)!F1-./%Q703!C=&/3*7*!&=)!8%A5=7[4%*!K&=)*A&.%!%=&@/%!1=%! 01!*A7%=0727A&//3!4=)%'*0&=)!05%! A1-./%Q703+!"5%=!&=)!51"!01!%;&/4&0%!05%!*0'4A04'%#!!(%-%-@%'+!314!&'%!&/*1!'%*.1=*7@/%!21'!*0'4A04'&/!&*.%A0*!12!05%!*3*0%-#!,2!05%!@47/)7=<!2&//*+!314!"7//!

!!F5%%'*P!!!T10%D!$'1.!-%!&!=10%!&0!&*5p*0&<*120"&'%#A1-!1'!0"%%0!-%!p&*5s057'4!72!314!/7E%)!057*#!85&=E!314#!!!!!!!!!!

!!!!!