!"#$%&'()*+),)*-) ./00#'1)2)345"645"%()
.:I?#'&)J/#64%1) • ! In 2005, ComputerWorld [Hil05] lamented that ! – ! “bad software plagues nearly every organization that uses computers, causing lost work hours during computer downtime, lost or corrupted data, missed sales opportunities, high IT support and maintenance costs, and low customer satisfaction. ! • ! A year later, InfoWorld [Fos06] wrote about the ! – ! “the sorry state of software quality” reporting that the quality problem had not gotten any better. • ! Today, software quality remains an issue, but who is to blame? ! – ! Customers blame developers, arguing that sloppy practices lead to low-quality software. ! – ! Developers blame customers (and other stakeholders), arguing that irrational delivery dates and a continuing stream of changes force them to deliver software before it has been fully validated. ! 7"&(&)(648&()#'&)8&(459&8)%:) #;;:0$#91) !"#$%&'( )*+,*''&,*+-(.(/&%011"*'&23( A) .44&"%056(78'( <=;>'#?,3466@) ABBCDE).648&();:$1'45"%)ABBC)F1) G:5&')H'&((0#9E)
J/#64%1) • ! 7"&) .9'&,0%*(:'&,;%+'(<,01"*%&= )8&L9&() >?%@,;= ) #()) – ! M#);"#'#;%&'4(N;):')#O'4F/%&):P)(:0&%"495EQ))) • ! R:')(:I?#'&@)%?:)S498():P)T/#64%1)0#1)F&) &9;:/9%&'&8U)) – ! J/#64%1):P)8&(459)&9;:0$#((&()'&T/4'&0&9%(@) ($&;4L;#N:9(@)#98)%"&)8&(459):P)%"&)(1(%&0E)) – ! J/#64%1):P);:9P:'0#9;&)4()#9)4((/&)P:;/(&8)$'40#'461) :9)40$6&0&9%#N:9E) – ! V(&')(#N(P#;N:9)W);:0$64#9%)$':8/;%)X)5::8)T/#64%1)X) 8&64Y&'1)?4%"49)F/85&%)#98)(;"&8/6&) 7"&(&)(648&()#'&)8&(459&8)%:) #;;:0$#91) !"#$%&'( )*+,*''&,*+-(.(/&%011"*'&23( K) .44&"%056(78'( <=;>'#?,3466@) ABBCDE).648&();:$1'45"%)ABBC)F1) G:5&')H'&((0#9E)
7"&).:I?#'&)J/#64%1)Z46&00#) • ! If you produce a software system that has terrible quality, you lose because no one will want to buy it. ! • ! If on the other hand you spend infinite time, extremely large effort, and huge sums of money to build the absolutely perfect piece of software, then it's going to take so long to complete and it will be so expensive to produce that you'll be out of business anyway. ! • ! Either you missed the market window, or you simply exhausted all your resources. ! • ! So people in industry try to get to that magical middle ground where the product is good enough not to be rejected right away, such as during evaluation, but also not the object of so much perfectionism and so much work that it would take too long or cost too much to complete. [Ven03]! 7"&(&)(648&()#'&)8&(459&8)%:) #;;:0$#91) !"#$%&'( )*+,*''&,*+-(.(/&%011"*'&23( +) .44&"%056(78'( <=;>'#?,3466@) ABBCDE).648&();:$1'45"%)ABBC)F1) G:5&')H'&((0#9E)
J/#64%1)[((/&() !:(%U)\)F#6#9;495)#;%) • ! – ! ]:(():P)0#'S&%)("#'&)2)&':8&8)'&$/%#N:9)8/&)%:)F#8)(:I?#'&) – ! ]:(():P)0#'S&%)("#'&)8/&)%:)6#%&,#''4Y495)(:I?#'&) – ! G&;:Y&'#F464%1):P);:(%()%:)40$':Y&^L_)%"&)(:I?#'&) G4(S) • ! – ! `98)/(&):P)(:I?#'&)0#1)"#Y&)64%&'#6)64P&,8&#%");:9(&T/&9;&() – ! a&5645&9;&^]4#F464%1U)49);#6;/6#N95)%#_&(@)&E5E@):')&(N0#N95)F'485&);#F6&) %&9(46&)(%'&95%") • ! .&;/'4%1) – ! `_$6:4%#N:9):P)Y/69&'#F464N&() – ! !:9(&T/&9;&()'#95&)P':0)F&9459)<8&P#;&8)?&F(4%&D)%:);#%#(%':$"4;)<#%:04;) ?&#$:9)6#/9;");:8&(D) \)(N%;")49)N0&b) • ! – ! R4_495)#9) '&&"&( #"):P)N0&)4()'&6#NY&61);"&#$) – ! G&6&#(495)#)$':8/;%)'&Y4(4:9)8/&)%:) A'B'0;3 )4()&_$&9(4Y&)
`'':'()Y()Z&P&;%() • ! `'':'()#98)8&P&;%() – ! Error —a quality problem found before the software is released to end users! – ! Defect— a quality problem found only after the software has been released to end-users! • ! We make this distinction because errors and defects have very different economic, business, psychological, and human impact! • ! However, the temporal distinction made between errors and defects in this book is not mainstream thinking ) 7"&(&)(648&()#'&)8&(459&8)%:) #;;:0$#91) !"#$%&'( )*+,*''&,*+-(.(/&%011"*'&23( c) .44&"%056(78'( <=;>'#?,3466) ABBCDE).648&();:$1'45"%)ABBC)F1) G:5&')H'&((0#9E)
[0$':Y495).d)J/#64%1) • ! `9549&&'495)$'#;N;&() – ! G&T/4'&0&9%()H6#99495)2)=#9#5&0&9%) – ! \';"4%&;%/'#6)2).:I?#'&)G&Y4&?() – ! ./(%#49#F6&)H':;&(()=:8&6) • ! 7&(N95) – ! V94%)]&Y&6)7&(N95) – ! R/9;N:9#6)7&(N95) – ! `_$6:4%#N:9)7&(N95^!"#66&95&) – ! G&5'&((4:9)7&(N95)?4%")&#;")M'&6&#(&Q) – ! ./(%#49#F6&)J\)H':;&(()=:8&6)
<R:'0#6)7&;"94;#6D)G&Y4&?() • ! G&T/4'&0&9%()G&Y4&?) – ! !:8&)?#6S,%"':/5"() – ! R/9;N:9#6)?#6S,%"':/5"() – ! 7&(%,Z&(459)$6#99495)<7ZZD) • ! 7&;"94;#6)R:;/() – ! .":/68)F&)&5:,9&/%'#6) – ! .":/68)F&)8&%#46&8)&_#0):P);:8&@)P/9;N:9@)8&(459) – ! V(/#661):961)#)P&?)8&Y&6:$&'()#98^:')%&(%&'() • ! .":'%)2).?&&%) – ! A)":/'()$'&$@)A)":/'()8/'#N:9) – ! K,e)$&:$6&)%:%#6) – ! f&&$)8&%#46&8)0&&N95)049/%&() • ! Z&Y&6:$)=`7G[!.)F#(&8):9)%"&)R7G() – ! `'':'()#98)%1$&)<0#g:')<&E5E@)F#8);#6;Dh)049:')<%1$:(DD)
Z&P&;%).%#N(N;() • ! \;;:'8495)%:)%"&)%&_%U) – ! #)(:I?#'&)$':;&(()%"#%)8:&()ai7)49;6/8&)'&Y4&?(@) • ! 14&68()C+)&'':'()#%)%"&)F&5499495):P)%&(N95)#98) • ! G&6&#(&()*A)6#%&9%)8&P&;%()%:)%"&)L&68) – ! #)(:I?#'&)$':;&(()%"#%)8:&()49;6/8&)'&Y4&?(@) • ! 14&68()A+)&'':'()#%)%"&)F&5499495):P)%&(N95)#98) • ! '&6&#(&()K)6#%&9%)8&P&;%()%:)%"&)L&68) – ! \);:(%)#9#61(4()4984;#%&()%"#%)%"&)$':;&(()?4%")ai) '&Y4&?();:(%()#$$':_40#%&61)K)N0&()0:'&)%"#9)%"&) $':;&(()?4%")'&Y4&?(@)%#S495)%"&);:(%):P);:''&;N95)%"&) 6#%&9%)8&P&;%()49%:)#;;:/9%)
7&_%F::S)`_#0$6&) • ! The effort required to correct a minor model error (immediately after the review) was found to require 4 person-hours. ! • ! The effort required for a major requirement error was found to be 18 person-hours. ! • ! Examining the review data collected, you find that minor errors occur about 6 times more frequently than major errors. Therefore, you can estimate that the average effort to find and correct a requirements error during review is about 6 person-hours. ! • ! Requirements related errors uncovered during testing require an average of 45 person-hours to find and correct. Using the averages noted, we get:! • ! Effort saved per error = !E testing – E reviews ! • ! ! ! ! 45 – 6 = 30 person-hours/error! • ! S ince 22 errors were found during the review of the requirements model, a saving of about 660 person-hours of testing effort would be achieved. And that’s just for requirements-related errors. ! 7"&(&)(648&()#'&)8&(459&8)%:) #;;:0$#91) !"#$%&'( )*+,*''&,*+-(.(/&%011"*'&23( **) .44&"%056(78'( <=;>'#?,3466) ABBCDE).648&();:$1'45"%)ABBC)F1) G:5&')H'&((0#9E)
Review/No Review Comparison Effort expended with and without reviews Higher upfront manpower expenditure, Which is why managers don’t want to spend time for testing
.:I?#'&)J/#64%1)\((/'#9;&) • ! `Y&'1F:81)?#9%()MT/#64%1Q)(:I?#'&) • ! a:F:81)?#9%()%:)$#1)P:')4%b) • ! !/6%/'#6)%'#84N:9):P)Y&'1)(6:$$1)(:I?#'&) – ! l#9S()?4%")$::'^64O6&)(:I?#'&)(&;/'4%1) – ! =4;':(:I)$':8/;%()?4%")'#0$#9%)(&;/'4%1)":6&()#98)F/5() – ! R/mm1);:9;&$%):P);#/(&(@);:9(&T/&9;&()F1)5&9&'#6)$/F64;) – ! a:);6&#')49;&9NY&()P:')"45")T/#64%1).d)$':8/;%() • ! ]4N5#N:9n) • ! Z#0#5&(^\?#'8(n) • ! V(&')Y()o&98:')'&($:9(4F464N&() • ! [.i)CBB*UABBB).%#98#'8) – ! AB)'&T/4'&0&9%()P:')&j&;NY&)J\) – ! !:Y&')#66)#($&;%()P':0)0#9#5&0&9%)'&($:9(4F464N&()%:)(%#N(N;#6) %&;"94T/&()
Recommend
More recommend