Chapter 3 The Realities of Software TestingWord格式.docx
- 文档编号:19711895
- 上传时间:2023-01-09
- 格式:DOCX
- 页数:17
- 大小:176.70KB
Chapter 3 The Realities of Software TestingWord格式.docx
《Chapter 3 The Realities of Software TestingWord格式.docx》由会员分享,可在线阅读,更多相关《Chapter 3 The Realities of Software TestingWord格式.docx(17页珍藏版)》请在冰豆网上搜索。
thappen.But,tobeaneffectivesoftwaretester,youneedtounderstandwhattheidealprocessissothatyouhavesomethingtoaimfor.
Thegoalofthischapteristotemperthatidealismwitharealitycheckfromasoftwaretester'
sperspective.Itwillhelpyouseethat,inpractice,trade-offsandconcessionsmustbemadethroughoutthedevelopmentcycle.Manyofthosetrade-offsaredirectlyrelatedtothesoftwaretesteffort.Thebugsyoufindandtheproblemsyoupreventallsignificantlyaffecttheproject.Afterreadingthischapter,you'
llhaveamuchclearerpictureoftheroles,theimpact,andtheresponsibilitiesthatsoftwaretestinghasandyou'
llhopefullyappreciatethebehind-the-scenesdecisionsthatmustbemadetocreateasoftwareproduct.
Thehighlightsofthischapterinclude
∙Whysoftwarecanneverbeperfect
∙Whysoftwaretestingisn'
tjustatechnicalproblem
∙Thetermscommonlyusedbysoftwaretesters
TestingAxioms
Thisfirstsectionofthischapterisalistofaxioms,ortruisms.Thinkofthemasthe"
rulesoftheroad"
orthe"
factsoflife"
forsoftwaretestingandsoftwaredevelopment.Eachofthemisalittletidbitofknowledgethathelpsputsomeaspectoftheoverallprocessintoperspective.
It'
sImpossibletoTestaProgramCompletely
Asanewtester,youmightbelievethatyoucanapproachapieceofsoftware,fullytestit,findallthebugs,andassurethatthesoftwareisperfect.Unfortunately,thisisn'
tpossible,evenwiththesimplestprograms,duetofourkeyreasons:
∙Thenumberofpossibleinputsisverylarge.
∙Thenumberofpossibleoutputsisverylarge.
∙Thenumberofpathsthroughthesoftwareisverylarge.
∙Thesoftwarespecificationissubjective.Youmightsaythatabugisintheeyeofthebeholder.
Multiplyallthese"
verylarge"
possibilitiestogetherandyougetasetoftestconditionsthat'
stoolargetoattempt.Ifyoudon'
tbelieveit,considertheexampleshowninFigure3.1,theMicrosoftWindowsCalculator.
Figure3.1.EvenasimpleprogramsuchastheWindowsCalculatoristoocomplextocompletelytest.
AssumethatyouareassignedtotesttheWindowsCalculator.Youdecidetostartwithaddition.Youtry1+0=.Yougetananswerof1.That'
scorrect.Thenyoutry1+1=.Youget2.Howfardoyougo?
Thecalculatoracceptsa32-digitnumber,soyoumusttryallthepossibilitiesupto
1+99999999999999999999999999999999=
Onceyoucompletethatseries,youcanmoveonto2+0=,2+1=,2+2=,andsoon.Eventuallyyou'
llgetto
99999999999999999999999999999999+99999999999999999999999999999999=
Nextyoushouldtryallthedecimalvalues:
1.0+0.1,1.0+0.2,andsoon.
Onceyouverifythatregularnumberssumproperly,youneedtoattemptillegalinputstoassurethatthey'
reproperlyhandled.Remember,you'
renotlimitedtoclickingthenumbersonscreenyoucanpresskeysonyourcomputerkeyboard,too.Goodvaluestotrymightbe1+a,z+1,1a1+2b2,….Thereareliterallybillionsuponbillionsofthese.
Editedinputsmustalsobetested.TheWindowsCalculatorallowstheBackspaceandDeletekeys,soyoushouldtrythem.1<
backspace>
2+2shouldequal4.Everythingyou'
vetestedsofarmustberetestedbypressingtheBackspacekeyforeachentry,foreachtwoentries,andsoon.
Ifyouoryourheirsmanagetocompleteallthesecases,youcanthenmoveontoaddingthreenumbers,thenfournumbers,….
Therearesomanypossibleentriesthatyoucouldnevercompletethem,evenifyouusedasupercomputertofeedinthenumbers.Andthat'
sonlyforaddition.Youstillhavesubtraction,multiplication,division,squareroot,percentage,andinversetocover.
Thepointofthisexampleistodemonstratethatit'
simpossibletocompletelytestaprogram,evensoftwareassimpleasacalculator.Ifyoudecidetoeliminateanyofthetestconditionsbecauseyoufeelthey'
reredundantorunnecessary,orjusttosavetime,you'
vedecidednottotesttheprogramcompletely.
SoftwareTestingIsaRisk-BasedExercise
Ifyoudecidenottotesteverypossibletestscenario,you'
vechosentotakeonrisk.Inthecalculatorexample,whatifyouchoosenottotestthat1024+1024=2048?
It'
spossibletheprogrammeraccidentallyleftinabugforthatsituation.Ifyoudon'
ttestit,acustomerwilleventuallyenterit,andheorshewilldiscoverthebug.It'
llbeacostlybug,too,sinceitwasn'
tfounduntilthesoftwarewasinthecustomer'
shands.
Thismayallsoundprettyscary.Youcan'
ttesteverything,andifyoudon'
t,youwilllikelymissbugs.Theproducthastobereleased,soyouwillneedtostoptesting,butifyoustoptoosoon,therewillstillbeareasuntested.Whatdoyoudo?
Onekeyconceptthatsoftwaretestersneedtolearnishowtoreducethehugedomainofpossibletestsintoamanageableset,andhowtomakewiserisk-baseddecisionsonwhat'
simportanttotestandwhat'
snot.
Figure3.2showstherelationshipbetweentheamountoftestingperformedandthenumberofbugsfound.Ifyouattempttotesteverything,thecostsgoupdramaticallyandthenumberofmissedbugsdeclinestothepointthatit'
snolongercosteffectivetocontinue.Ifyoucutthetestingshortormakepoordecisionsofwhattotest,thecostsarelowbutyou'
llmissalotofbugs.Thegoalistohitthatoptimalamountoftestingsothatyoudon'
ttesttoomuchortoolittle.
Figure3.2.Everysoftwareprojecthasanoptimaltesteffort.
YouwilllearnhowtodesignandselecttestscenariosthatminimizeriskandoptimizeyourtestinginChapters4through7.
TestingCan'
tShowThatBugsDon'
tExist
Thinkaboutthisforamoment.You'
reanexterminatorchargedwithexaminingahouseforbugs.Youinspectthehouseandfindevidenceofbugsmaybelivebugs,deadbugs,ornests.Youcansafelysaythatthehousehasbugs.
Youvisitanotherhouse.Thistimeyoufindnoevidenceofbugs.Youlookinalltheobviousplacesandseenosignsofaninfestation.Maybeyoufindafewdeadbugsoroldnestsbutyouseenothingthattellsyouthatlivebugsexist.Canyouabsolutely,positivelystatethatthehouseisbugfree?
Nope.Allyoucanconcludeisthatinyoursearchyoudidn'
tfindanylivebugs.Unlessyoucompletelydismantledthehousedowntothefoundation,youcan'
tbesurethatyoudidn'
tsimplyjustmissthem.
Softwaretestingworksexactlyastheexterminatordoes.Itcanshowthatbugsexist,butitcan'
tshowthatbugsdon'
texist.Youcanperformyourtests,findandreportbugs,butatnopointcanyouguaranteethattherearenolongeranybugstofind.Youcanonlycontinueyourtestingandpossiblyfindmore.
TheMoreBugsYouFind,theMoreBugsThereAre
Thereareevenmoresimilaritiesbetweenrealbugsandsoftwarebugs.Bothtypestendtocomeingroups.Ifyouseeone,oddsaretherewillbemorenearby.
Frequently,atesterwillgoforlongspellswithoutfindingabug.He'
llthenfindonebug,thenquicklyanotherandanother.Thereareseveralreasonsforthis:
∙Programmershavebaddays.Likeallofus,programmerscanhaveoffdays.Codewrittenonedaymaybeperfect;
codewrittenanothermaybesloppy.Onebugcanbeatell-talesignthattherearemorenearby.
∙Programmersoftenmakethesamemistake.Everyonehashabits.Aprogrammerwhoispronetoacertainerrorwilloftenrepeatit.
∙Somebugsarereallyjustthetipoftheiceberg.Veryoftenthesoftware'
sdesignorarchitecturehasafundamentalproblem.Atesterwillfindseveralbugsthatatfirstmayseemunrelatedbuteventuallyarediscoveredtohaveoneprimaryseriouscause.
simportanttonotethattheinverseofthis"
bugsfollowbugs"
ideaistrue,aswell.Ifyoufailtofindbugsnomatterhowhardyoutry,itmayverywellbethatthefeatureyou'
retestingwascleanlywrittenandthatthereareindeedfewifanybugstobefound.
ThePesticideParadox
In1990,BorisBeizer,inhisbookSoftwareTestingTechniques,SecondEdition,coinedthetermpesticideparadoxtodescribethephenomenonthatthemoreyoutestsoftware,themoreimmuneitbecomestoyourtests.Thesamethinghappenstoinsectswithpesticides(seeFigure3.3).Ifyoukeepapplyingthesamepesticide,theinsectseventuallybuildupresistanceandthepesticidenolongerworks.
Figure3.3.Softwareundergoingthesamerepetitivetestseventuallybuildsupresistancetothem.
RememberthespiralmodelofsoftwaredevelopmentdescribedinChapter2?
Thetestprocessrepeatseachtimearoundtheloop.Witheachiteration,thesoftwaretestersreceivethesoftwarefortestingandruntheirtests.Eventually,afterseveralpasses,allthebugsthatthosetestswouldfindareexposed.Continuingtorunthemwon'
trevealanythingnew.
Toovercomethepesticideparadox,softwaretestersmustcontinuallywritenewanddifferentteststoexercisedifferentpartsoftheprogramandfindmorebugs.
NotAlltheBugsYouFindWillBeFixed
Oneofthesadrealitiesofsoftwaretestingisthatevenafterallyourhardwork,noteverybugyou
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Chapter The Realities of Software Testing
链接地址:https://www.bdocx.com/doc/19711895.html