Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Submitted By: Valerie Stanton Hatsey Frezghi Todd Wilkinson Nick Monge
Table of (ontents
1 *ntroduction+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++1 1.1 Team Interaction................................................................................................................1 2 Test !b,ecti-e++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++1 3 Process !-er-iew++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++1 . Testin/ Process++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++2 0 Testin/ Strate/y++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++3 5.1 Unit Testing........................................................................................................................ 5.1.1 White Box Testing ..................................................................................................5 5.1.2 Black Box Testing....................................................................................................8 5.! Integration Testing...........................................................................................................1" 5.2.1 Incremental Testing...............................................................................................10 5.# System Testing ................................................................................................................1" 5.3.1 Function Validation Testing..................................................................................10 5.3.2 er!ormance testing..............................................................................................11 1 &ntry and &2it (riteria++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++11 $.1 Unit Testing......................................................................................................................1! ".1.1 Black Box hase....................................................................................................12 ".1.2 White Box hase...................................................................................................13 $.! Integration Test ...............................................................................................................1 ".2.1 Integration Test #ntr$ %riteria.............................................................................1& ".2.2 Integration Test #xit %riteria................................................................................1& $.# System Test .....................................................................................................................15 ".3.1 '$stem Test #ntr$ %riteria....................................................................................15 ".3.2 '$stem #xit %riteria..............................................................................................15 $. Shi%%ing or &i'e (elease.................................................................................................1$ ".&.1 'hi((ing)*i+e ,elease #ntr$ %riteria...................................................................1" ".&.2 'hi((ing)*i+e ,elease exit %riteria......................................................................1" 3 Bu/ Trac4in/5 Bu/ Process++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++11 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++11 ).1 Vario*s (oles in +*g (esol*tion.....................................................................................1) ).! +*g (e%ort Form..............................................................................................................1, 6 "oles and "es7onsibilities++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++18 ,.1 -e'elo%ment Team..........................................................................................................1. ,.! Testing Team....................................................................................................................1. 8 Test Schedule+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++18 10 Deli-erables ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++21 11 "eferences++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++23
*ntroduction
This doc*ment is a high/le'el o'er'ie0 de1ining o*r testing strategy 1or the Sorted +inary Tree a%%lication. Its o23ecti'e is to comm*nicate %ro3ect/0ide 4*ality standards and %roced*res. It %ortrays a sna%shot o1 the %ro3ect as o1 the end o1 the %lanning %hase. This doc*ment 0ill address the di11erent standards that 0ill a%%ly to the *nit5 integration and system testing o1 the s%eci1ied a%%lication. We 0ill *tilize testing criteria *nder the 0hite 2o65 2lack 2o65 and system/ testing %aradigm. This %aradigm 0ill incl*de5 2*t is not limited to5 the testing criteria5 methods5 and test cases o1 the o'erall design. Thro*gho*t the testing %rocess 0e 0ill 2e a%%lying the test doc*mentation s%eci1ications descri2ed in the I777 Standard ,!./1.,# 1or So1t0are Test -oc*mentation. 1+1 Team *nteraction
The 1ollo0ing descri2es the le'el o1 team interaction necessary to ha'e a s*ccess1*l %rod*ct. The Test Team 0ill 0ork closely 0ith the -e'elo%ment Team to achie'e a high 4*ality design and *ser inter1ace s%eci1ications 2ased on c*stomer re4*irements. The Test Team is res%onsi2le 1or 'is*alizing test cases and raising 4*ality iss*es and concerns d*ring meetings to address iss*es early eno*gh in the de'elo%ment cycle. The Test Team 0ill 0ork closely 0ith -e'elo%ment Team to determine 0hether or not the a%%lication meets standards 1or com%leteness. I1 an area is not acce%ta2le 1or testing5 the code com%lete date 0ill 2e %*shed o*t5 gi'ing the de'elo%ers additional time to sta2ilize the area. Since the a%%lication interacts 0ith a 2ack/end system com%onent5 the Test Team 0ill need to incl*de a %lan 1or integration testing. Integration testing m*st 2e e6ec*ted s*ccess1*lly %rior to system testing.
Test !b,ecti-e
The o23ecti'e o*r test %lan is to 1ind and re%ort as many 2*gs as %ossi2le to im%ro'e the integrity o1 o*r %rogram. 8ltho*gh e6ha*sti'e testing is not %ossi2le5 0e 0ill e6ercise a 2road range o1 tests to achie'e o*r goal. We 0ill 2e testing a +inary Search Tree 8%%lication *tilizing a %re/ order tra'ersal 1ormat. There 0ill 2e eight key 1*nctions *sed to mange o*r a%%lication9 load5 store5 clear5 search5 insert5 delete5 list in ascending order5 and list in descending order. :*r *ser inter1ace to *tilize these 1*nctions is designed to 2e *ser/1riendly and %ro'ide easy mani%*lation o1 the tree. The a%%lication 0ill only 2e *sed as a demonstration tool5 2*t 0e 0o*ld like to ens*re that it co*ld 2e r*n 1rom a 'ariety o1 %lat1orms 0ith little im%act on %er1ormance or *sa2ility.
Process !-er-iew
D T B!"!#$% T&ST ST" T&$' D!(#M&)T 1. Identi1y the re4*irements to 2e tested. 8ll test cases shall 2e deri'ed *sing the c*rrent ;rogram S%eci1ication. !. Identi1y 0hich %artic*lar test<s= 0ill 2e *sed to test each mod*le. #. (e'ie0 the test data and test cases to ens*re that the *nit has 2een thoro*ghly 'eri1ied and that the test data and test cases are ade4*ate to 'eri1y %ro%er o%eration o1 the *nit. . Identi1y the e6%ected res*lts 1or each test. 5. -oc*ment the test case con1ig*ration5 test data5 and e6%ected res*lts. $. ;er1orm the test<s=. ). -oc*ment the test data5 test cases5 and test con1ig*ration *sed d*ring the testing %rocess. This in1ormation shall 2e s*2mitted 'ia the Unit>System Test (e%ort <ST(=. ,. S*ccess1*l *nit testing is re4*ired 2e1ore the *nit is eligi2le 1or com%onent integration>system testing. .. Uns*ccess1*l testing re4*ires a +*g (e%ort Form to 2e generated. This doc*ment shall descri2e the test case5 the %ro2lem enco*ntered5 its %ossi2le ca*se5 and the se4*ence o1 e'ents that led to the %ro2lem. It shall 2e *sed as a 2asis 1or later technical analysis. 1". Test doc*ments and re%orts shall 2e s*2mitted. 8ny s%eci1ications to 2e re'ie0ed5 re'ised5 or *%dated shall 2e handled immediately.
Testin/ Process
b+ -esign System
Test
a+ :rganize
;ro3ect
e+ -esign>+*ild
Test ;roc.
f+ Signo11
d+ :rganize
;ro3ect
9i/ure 1: Test Process 9low The diagram a2o'e o*tlines the Test ;rocess a%%roach that 0ill 2e 1ollo0ed.
D T B!"!#$% T&ST ST" T&$' D!(#M&)T a+ !r/ani:e Pro,ect in'ol'es creating a System Test ;lan5 Sched*le ? Test 8%%roach5 and assigning res%onsi2ilities. b+ Desi/n5Build System Test in'ol'es identi1ying Test @ycles5 Test @ases5 7ntrance ? 76it @riteria5 76%ected (es*lts5 etc. In general5 test conditions>e6%ected res*lts 0ill 2e identi1ied 2y the Test Team in con3*nction 0ith the -e'elo%ment Team. The Test Team 0ill then identi1y Test @ases and the -ata re4*ired. The Test conditions are deri'ed 1rom the ;rogram S%eci1ications -oc*ment. c+ Desi/n5Build Test Procedures incl*des setting *% %roced*res s*ch as 7rror Management systems and Stat*s re%orting. d+ Build Test &n-ironment incl*des re4*esting>2*ilding hard0are5 so1t0are and data set/ *%s. e+ &2ecute System Tests ; The tests identi1ied in the -esign>+*ild Test ;roced*res 0ill 2e e6ec*ted. 8ll res*lts 0ill 2e doc*mented and +*g (e%ort Forms 1illed o*t and gi'en to the -e'elo%ment Team as necessary. f+ Si/noff / Signo11 ha%%ens 0hen all %re/de1ined e6it criteria ha'e 2een achie'ed.
Testin/ Strate/y
The 1ollo0ing o*tlines the ty%es o1 testing that 0ill 2e done 1or *nit5 integration5 and system testing. While it incl*des 0hat 0ill 2e tested5 the s%eci1ic *se cases that determine ho0 the testing is done 0ill 2e detailed in the Test -esign -oc*ment. The tem%late that 0ill 2e *sed 1or designing *se cases is sho0n in Fig*re !.
D T B!"!#$% T&ST ST" T&$' D!(#M&)T Tested By: Test Ty7e Test (ase )umber Test (ase )ame Test (ase Descri7tion
Procedural Ste7s 1 ! #
Unit Testing is done at the so*rce or code le'el 1or lang*age/s%eci1ic %rogramming errors s*ch as 2ad synta65 logic errors5 or to test %artic*lar 1*nctions or code mod*les. The *nit test cases shall 2e designed to test the 'alidity o1 the %rograms correctness.
In 0hite 2o6 testing5 the UI is 2y%assed. In%*ts and o*t%*ts are tested directly at the code le'el and the res*lts are com%ared against s%eci1ications. This 1orm o1 testing ignores the 1*nction o1 the %rogram *nder test and 0ill 1oc*s only on its code and the str*ct*re o1 that code. Test case designers shall generate cases that not only ca*se each condition to take on all %ossi2le 'al*es at least once5 2*t that ca*se each s*ch condition to 2e e6ec*ted at least once. To ens*re this ha%%ens5 0e 0ill 2e a%%lying +ranch Testing. +eca*se the 1*nctionality o1 the %rogram is relati'ely sim%le5 this method 0ill 2e 1easi2le to a%%ly. 7ach 1*nction o1 the 2inary tree re%ository is e6ec*ted inde%endentlyA there1ore5 a %rogram 1lo0 1or each 1*nction has 2een deri'ed 1rom the code. 5.1.1.1 Branch Testing Using the %rogram 1lo0 gra%h 1or each 1*nction5 0e 0ill 2e a2le to determine all o1 the 2ranches that 0ill need to tested and 0ill 2e *sed to de'elo% the corres%onding test cases. *nsert
Delete
>ist
"ead <>oad=
5.1.2
+lack 2o6 testing ty%ically in'ol'es r*nning thro*gh e'ery %ossi2le in%*t to 'eri1y that it res*lts in the right o*t%*ts *sing the so1t0are as an end/*ser 0o*ld. We ha'e decided to %er1orm 74*i'alence ;artitioning and +o*ndary Val*e 8nalysis testing on o*r a%%lication. 5.1.2.1 #-ui+alence artitioning In considering the in%*ts 1or o*r e4*i'alence testing5 the 1ollo0ing ty%es 0ill 2e *sed9
&egal in%*t 'al*es B Test 'al*es 0ithin 2o*ndaries o1 the s%eci1ication e4*i'alence classes. This shall 2e in%*t data the %rogram e6%ects and is %rogrammed to trans1orm into *sa2le 'al*es. Illegal in%*t 'al*es B Test e4*i'alence classes o*tside the 2o*ndaries o1 the s%eci1ication. This shall 2e in%*t data the %rogram may 2e %resented5 2*t that 0ill not %rod*ce any meaning1*l o*t%*t.
The e4*i'alence %artitioning techni4*e is a test case selection techni4*e in 0hich the test designer e6amines the in%*t s%ace de1ined 1or the *nit *nder test and seeks to 1ind sets o1 in%*t that are5 or sho*ld 2e5 %rocessed identically. The 1ollo0ing ta2le re%resents o*r e4*i'alence classes5 2oth 'alid and in'alid.
D T B!"!#$% T&ST ST" T&$' D!(#M&)T *n7ut5!ut7ut &-ent In%*t ma6im*m n*m2er o1 allo0ed 'al*es In%*t integers @alid &Aui-alence (lasses !5 'al*es Integers 2et0een B... and ... *n-alid &Aui-alence (lasses C !5 'al*es Integers C ... Integers D /... Non/integers <characters= Non/integers <decimal 'al*es= &oad e6ternal 1ile @omma delimited 1ile 0ith only one 'al*e %er line No commas M*lti%le entries %er line No 1ile content File e6ists Store e6ternal 1ile 5.1.2.2 File e6ists File does not e6ist File does not e6ist
The acce%ta2le range o1 'al*es 1or this a%%lication 0as set 2y the de'elo%ment team. -*e to the limitations o1 the EUI5 the de'elo%ers also limited the size o1 the in%*t 'al*es to three digit integers. The 'alid and in'alid ranges are sho0n 2elo0 along 0ith the corres%onding 'alid and in'alid 2o*ndary test 'al*es. 8cce%ta2le (ange9 /... 6 ... In'alid (ange9 / D 6 D /... and ... D 6 D F @alid Boundary Tests: +o*ndary19 6 G /... +o*ndary!9 6 G " +o*ndary#9 6 G ... *n-alid Boundary Tests: +o*ndary 9 6 G 1""" +o*ndary59 6 G /1""" +o*ndary$9 6 G /...... +o*ndary)9 6 G ......
D T B!"!#$% T&ST ST" T&$' D!(#M&)T 0+2 5.2.1 *nte/ration Testin/ Incremental Testing
There are t0o %rimary mod*les that 0ill need to 2e integrated9 the Era%hic User Inter1ace mod*le and the Tree (e%ository mod*le <2ack/end=. The t0o com%onents5 once integrated5 0ill 1orm the com%lete +inary Search Tree 8%%lication. The 1ollo0ing descri2es these mod*les as 0ell as the ste%s that 0ill need to 2e taken to achie'e com%lete integration. We 0ill 2e em%loying an incremental testing strategy to com%lete the integration. Module 1 B $ra7hic #ser *nterface <$#*= Module This mod*le %ro'ides a sim%le EUI 0here the *ser can %er1orm the di11erent actions <1*nctions=. This mod*le 0ill 2e tested se%arate 1rom the 2ackend to check i1 each inter1ace <e.g. insert 2*tton= is 1*nctioning %ro%erly5 and in general5 to test i1 the mo*se/e'ent actions are 0orking %ro%erly. The testing 0ill 2e %er1ormed 2y 0riting a st*2 1or each element in the inter1ace. Module 2 ; Tree "e7ository Bac4end Module The Htree re%ositoryI %ro'ides the storage 1or the data elements and im%lements the algorithms and associated 1*nctionality o1 the 2inary tree. This mod*le 0ill 2e tested se%arate 1rom the EUI 2y %rinting o*t the res*lts to the @onsole. In testing this mod*le 0e 0ill 1ollo0 the incremental testing method i.e. testing one 1*nction 1irst and then kee% adding additional 1*nction and test it again *ntil all the re4*ired 1*nctions are tested. When the EUI is com2ined 0ith the 2ackend mod*le5 0e 0ill ha'e a com%lete 2inary search tree a%%lication. To achie'e com%lete integration o1 these t0o mod*les5 0e 0ill test each element in the EUI 2y re%lacing the st*2s 0ith the a%%ro%riate 1*nction 1rom the 2ack end. The res*lts 0ill 2e dis%layed 0ithin the EUI instead o1 thro*gh the @onsole. In testing the com2ined mod*les5 0e 0ill 1ollo0 the incremental testing method. 7ach st*2 0ill 2e re%laced one at a time and tested. This 0ill 2e done *ntil all st*2s ha'e 2een re%laced 2y the a%%ro%riate 1*nctions 1rom the 2ackend. 0+3 System Testin/
The goals o1 system testing are to detect 1a*lts that can only 2e e6%osed 2y testing the entire integrated system or some ma3or %art o1 it. Eenerally5 system testing is mainly concerned 0ith areas s*ch as %er1ormance5 sec*rity5 'alidation5 load>stress5 and con1ig*ration sensiti'ity. +*t in o*r case 0ell 1oc*s only on 1*nction 'alidation and %er1ormance. 8nd in 2oth cases 0e 0ill *se the 2lack/2o6 method o1 testing. 5.3.1 Function Validation Testing
The integrated H+inary Search Tree 8%%licationI 0ill 2e tested 2ased on the re4*irements to ens*re that 0e 2*ilt the right a%%lication. In doing this test5 0e 0ill try to 1ind the errors in the
D T B!"!#$% T&ST ST" T&$' D!(#M&)T in%*ts and o*t%*ts5 that is5 0e 0ill test each 1*nction to ens*re that it %ro%erly im%lements the +inary Search Tree algorithms5 and that the res*lting tree dis%lays the 'al*es in the %ro%er location gra%hically. The 2eha'ior o1 each 1*nction5 as 0ell as their res%ecti'e algorithms5 are contained in the So1t0are ;rogram S%eci1ication. 9unction &oad Store Insert -elete Search @lear &ist in 8scending :rder &ist in -escending :rder In addition5 0e 0ill test9 5.3.2 The inter1aces to ens*re they are 1*nctioning as desired <i.e. check i1 each inter1ace is 2eha'ing as e6%ected5 s%eci1ically 'eri1ying the a%%ro%riate action is associated 0ith each mo*seJclick e'ent=. The interaction 2et0een the EUI and the 2ackend re%ository. In this case the data 0ill 2e inserted and check i1 they are %rocessed in the 2ackend and gi'e the e6%ected o*t%*t. Performance testing &27ected Beha-ior see So1t0are ;rogram S%eci1ication see So1t0are ;rogram S%eci1ication see So1t0are ;rogram S%eci1ication see So1t0are ;rogram S%eci1ication see So1t0are ;rogram S%eci1ication see So1t0are ;rogram S%eci1ication see So1t0are ;rogram S%eci1ication see So1t0are ;rogram S%eci1ication
This test 0ill 2e cond*cted to e'al*ate the 1*l1illment o1 a system 0ith s%eci1ied %er1ormance re4*irements. It 0ill 2e done *sing 2lack/2o6 testing method. 8nd this 0ill 2e %er1ormed 2y9 Storing the ma6im*m data in the 1ile and trying to insert5 and o2ser'e ho0 the a%%lication 0ill %er1orm 0hen it is o*t o1 2o*ndary. -eleting data and check i1 it 1ollo0s the right sorting algorithm to sort the res*lting data or o*t%*t. Trying to store ne0 data and check i1 it o'er 0rites the e6isting once. Trying to load the data 0hile they are already loaded
This section descri2es the general criteria 2y 0hich testing commences5 tem%orarily sto%%ed5 res*med and com%leted 0ithin each testing %hase. -i11erent 1eat*res>com%onents may ha'e
D T B!"!#$% T&ST ST" T&$' D!(#M&)T slight 'ariation o1 their criteria5 in 0hich case5 those sho*ld 2e mentioned in the 1eat*re test %lan. The testing %hase also ma%s to the im%act le'el de1inition 0hen a de1ect is entered in the 2*g/ tracking %hase. 1+1 #nit Testin/
Unit Testing is done at the so*rce or code le'el 1or lang*age/s%eci1ic %rogramming errors s*ch as 2ad synta65 logic errors5 or to test %artic*lar 1*nctions or code mod*les. The *nit test cases shall 2e designed to test the 'alidity o1 the %rograms correctness. .1.1 Black Box Phase
+lack 2o6 testing ty%ically in'ol'es r*nning thro*gh e'ery %ossi2le in%*t to 'eri1y that it res*lts in the right o*t%*ts *sing the so1t0are as an end/*ser 0o*ld. We 0ill *se 74*i'alence ;artitioning and +o*ndary Val*e 8nalysis com%le6ity metrics in order to 4*anti1ia2ly determine ho0 many test cases needed to achie'e ma6im*m code co'erage. ".1.1.1 Black Box #ntr$ %riteria The +lack +o6 7ntry @riteria 0ill rely on the com%onent s%eci1ication5 and *ser inter1ace re4*irements. Things that m*st 2e done on entry to the +lack +o6 stage9 8ll +inary Tree 1*nctions5 &oad5 Store5 @lear5 Sort 8scending5 Sort -escending5 Insert5 -elete5 Search5 m*st either 2e coded or st*2s created. The ty%e o1 +lack +o6 testing Methods 0ill 2e determined *%on entry. We 0ill *se 74*i'alency ;artition5 and +o*ndary Val*e 8nalysis. 74*i'alency ;artition 0ill incl*de5 Integer data ty%es only5 No @haracter data ty%es acce%ted5 each data 1ield 0ill 2e comma delimited5 and there 0ill 2e 1 'al*e %er line in the data 1ile. +o*ndary Val*e 8nalysis 0ill incl*de5 Integer data ty%e 'al*es 0ill ha'e a 2o*ndary 'al*e o1 </...5...=. Kero is incl*ded. The 1ile size is limited to !5 entries.
".1.1.2 Black Box #xit %riteria The +lack +o6 76it @riteria listed 2elo0 e6%lains 0hat needs to 2e com%leted in/order to e6it +lack +o6 %hase. To e6it the +lack +o6 %hase 1""L s*ccess rate m*st 2e achie'ed. Things that m*st 2e done *%on e6iting the +lack +o6 stage9 The 74*i'alence @lasses 0ill ha'e 2een created 1or the 'alid and in'alid in%*t 'al*es. For o*r +inary Tree %rogram the in%*t domain 'al*es 1or 74*i'alence ;artitions 0ill incl*de Integer data ty%es only5 each data 1ield 0ill 2e delimited 2y a comma and carriage ret*rn5 and one data 'al*e %er line in the in%*t data 1ile. The 74*i'alency ;artition Method 0ill ha'e generated Test @ases 2ased on the 74*i'alence classes. The in'alid in%*t domain 'al*es 1or 74*i'alence classes 0ill incl*de loading an em%ty in%*t data 1ile5 in%*tting character strings5 entering a delimiter other that a comma5 and entering more than one data 'al*e %er line in the in%*t data 1ile.
D T B!"!#$% T&ST ST" T&$' D!(#M&)T +o*ndary Val*e 8nalysis 0ill ha'e generated Test @ases 2ased on the 2o*ndary 'al*es o1 Integer data ty%e 'al*es o1 </...5...=. These Test @ases 0ill test 1or 'al*es a2o'e and 2elo0 the s%eci1ied 2o*ndary 'al*es. For e6am%le5 'al*es that incl*de in1inity5 negati'e in1inity5 zero5 and decimal n*m2ers. 8nother set o1 Test @ases 0ill ha'e 2een created 2ased on the 2o*ndary 'al*e o1 the 1ile size limited to !5 entries. These Test @ases 0ill test 1or zero entries in the data in%*t 1ile5 and greater than !5 entries. 8ll code 2*gs that are e6%osed are corrected. White Box Phase
.1.2
The White +o6 criteria a%%ly 1or %*r%oses o1 1oc*sing on internal %rogram str*ct*re5 and disco'er all internal %rogram errors. -e1ects 0ill 2e categorized and the 4*ality o1 the %rod*ct 0ill 2e assessed. ".1.2.1 White Box #ntr$ %riteria The White +o6 7ntry @riteria 0ill rely on the M8 engineers 'eri1ying that the ma3or 1eat*res 0ork alone 2*t not necessarily in com2inationA e6ce%tion handling 0ill not 2e im%lemented. The design and h*man inter1ace are sta2le. Things that m*st 2e done on entry to the White +o6 stage9 8ll +inary Tree 1*nctions5 &oad5 Store5 @lear5 Sort 8scending5 Sort -escending5 Insert5 -elete5 Search5 m*st 2e coded. The ty%e o1 White +o6 testing Methods 0ill 2e determined *%on entry. We 0ill *se +asis ;ath Testing and F*nction Validation testing on all +inary Tree %ro%erties. +lack +o6 Testing sho*ld 2e in its late stages.
81ter the White +o6 criteria ha'e 2een met5 the %rod*ct enters the White +o6 stage. -*ring White +o6 stage -e'elo%ment 7ngineeringNs em%hasis is on re1ining the %rod*ct and 1i6ing de1ects. In1ormation -esignNs em%hasis is on de'elo%ing %rod*ct *ser doc*mentation. ".1.2.2 White Box #xit %riteria The +inary Tree in the White +o6 stage sho*ld ha'e a generally sta2le 1eel to it. White +o6 testing contin*es *ntil the +lack +o6 or ne6t milestone criteria are met. To e6it the White +o6 %hase 1""L s*ccess rate m*st 2e achie'ed. The 1ollo0ing descri2es the state o1 the %rod*ct *%on e6it 1rom the White +o6 Stage9 8ll +inary Tree 1*nctions5 &oad5 Store5 @lear5 Sort 8scending5 Sort -escending5 Insert5 -elete5 and Search are im%lemented5 o%erational and tested. 8ll +ranch Testing test cases 0ill 2e generated. The test cases 0ill 2e generated 1rom the @ontrol Flo0 diagrams o1 all 1*nctions. The +inary Tree gra%hical inter1ace has 2een re'ie0ed and 1o*nd to satis1actory 2y de'elo%ment 7ngineers5 and M8 7ngineers5 and is sta2le5 that is5 no 1*rther changes to
D T B!"!#$% T&ST ST" T&$' D!(#M&)T dialog 2o6es or other inter1ace elements are %lanned. Minor changes <0ord/smiting5 etc.= are acce%ta2le5 2*t m*st 2e arranged 0ith the -e'elo%ment and Test 7ngineers. 8ll code 2*gs that are e6%osed are corrected. *nte/ration Test
1+2
There are t0o mod*les that 0ill 2e integrated 1or Integration Testing. The t0o mod*les are The Era%hic User Inter1ace mod*le and the Tree (e%ository mod*le <2ack/end=. The t0o com%onents 0ill consist o1 a mi6t*re o1 st*2s5 dri'er5 and 1*ll 1*nction code. The 1ollo0ing descri2es the entry and e6it criteria 1or Integration testing. .2.1 Integration Test !ntr" #riteria
The Integration Test 7ntry @riteria 0ill rely on 2oth mod*les to 2e o%erational. The +inary Tree design and h*man inter1ace m*st 2e sta2le. Things that m*st 2e done on entry to the Integration Test stage9 8ll +inary Tree 1*nctions5 &oad5 Store5 @lear5 Sort 8scending5 Sort -escending5 Insert5 -elete5 Search5 m*st either 2e coded and>or st*2s created. The Era%hical User Inter1ace m*st either 2e coded and>or a dri'er and st*2s m*st 2e created. The dri'er is im%lemented to 1acilitate test case in%*t and o*t%*t 'al*es. Inter1aces and interactions 2et0een the +inary Tree Mod*le and the Era%hical User Inter1ace m*st 2e o%erational. 8 2ottom/*% Integration Test Strategy 0ill 2e cond*cted. The lo0 le'el details o1 the +inary Tree and gra%hical inter1ace 0ill 2e integrated. 8 dri'er 0ill 2e 0ritten to 1acilitate test case in%*t and o*t%*t 'al*es. The dri'er 0ill tem%orarily satis1y high/le'el details o1 the in%*t and o*t%*t 'al*es. +lack +o6 Testing sho*ld either 2e in its late stages or com%leted. White +o6 Testing sho*ld ha'e 2eg*n. Integration Test !xit #riteria
.2.2
The Integration Test 76it @riteria 0ill rely on 2oth mod*les to 2e o%erational. The +inary Tree design and h*man inter1ace m*st 2e sta2le. To e6it the Integration Testing %hase 1""L s*ccess rate m*st 2e achie'ed. Things that m*st 2e done on e6it 1rom the Integration Test stage9 8ll code 2*gs that are e6%osed are corrected. The +inary Tree Mod*le and Era%hical User Inter1ace Mod*le 0ill interact together 0ith com%lete acc*racy5 according to the System S%eci1ication -esign. 8ll discre%ancies are corrected. +oth Mod*les are ready 1or System Testing. St*2s and dri'ers are re%laced 0ith 1*lly 1*nctional code. +lack +o6 Testing is com%leted. White +o6 Testing sho*ld either 2e in its late stages or com%leted.
The System Test criteria a%%ly 1or %*r%oses o1 categorizing de1ects and the assessing the 4*ality le'el o1 the %rod*ct. 8ll elements o1 the +inary Tree Mod*le and Era%hical User Inter1ace are meshed together and tested as a 0hole. System test 1oc*ses on 1*nctions and %er1ormance5 relia2ility5 instillation5 2eha'ior d*ring s%ecial conditions5 and stress testing. .3.1 $"stem Test !ntr" #riteria
The 7ntrance @riteria s%eci1ied 2y the -e'elo%ment 7ngineers5 sho*ld 2e 1*l1illed 2e1ore System Test can commence. In the e'ent5 that any criterion has not 2een achie'ed5 the System Test may commence i1 2oth -e'elo%ment and Test 7ngineers are in 1*ll agreement that the risk is managea2le. The Era%hical User Inter1ace and the +inary Tree 2ack/end Mod*le m*st 2e 1*lly 1*nctional. 8ll de'elo%ed code m*st 2e *nit tested. Unit and &ink Testing m*st 2e com%leted and signed o11 2y the de'elo%ment team. 8ll test hard0are and en'ironments m*st 2e in %lace5 and 1ree 1or System test *se. 8ll +lack +o6 testing m*st 2e com%lete and e6%osed 2*gs m*st 2e corrected. 8ll White +o6 testing m*st 2e com%lete and e6%osed 2*gs m*st 2e corrected. Integration Testing m*st 2e com%lete and e6%osed 2*gs m*st 2e corrected F*nction Validation Testing is the acce%ted method o1 testing 1or all +inary Tree 1*nctions9 &oad5 Store5 @lear5 Sort 8scending5 Sort -escending5 Insert5 -elete5 and Search. The Era%hical User Inter1ace 0ill 2e the method o1 interacting 0ith the system5 so the EUI 0ill 2e tested thoro*ghly. -e'elo%ment and Test 7ngineers agree that F*nction Validation Testing 0ill co'er 1*nction %er1ormance5 relia2ility5 stress and load testing. $"stem !xit #riteria
.3.2
The 76it @riteria m*st satis1y all the criteria listed 2elo0. This 'eri1ies that all elements o1 the %ro3ect mesh %ro%erly. This is to make s*re that all the system 1*nctions and %er1orms according to the System S%eci1ication -oc*ment. 8ll F*nction Validation Testing is 1"" %ercent s*ccess1*l. Testing 1or all +inary Tree 1*nctions9 &oad5 Store5 @lear5 Sort 8scending5 Sort -escending5 Insert5 and -elete5 and Search interact 0ith com%lete acc*racy. No degradation o1 System %er1ormance across di11erent %lat1orms o1 Windo0s o%erating system 0ill 2e a11ected. <Windo0s .5 or a2o'e is acce%ta2le= The Era%hical User Inter1ace %er1orms to System S%eci1ication (e4*irements. 8ll the +inary Tree %ro%erties are e6%ressed correctly thro*gh the Era%hical User Inter1ace. 8ll in%*t 1ields on the Era%hical User Inter1ace are 0orking correctly. 8ll high %riority errors 1rom System Testing m*st 2e 1i6ed and tested.
D T B!"!#$% T&ST ST" T&$' D!(#M&)T 1+. I1 any medi*m or lo0/%riority errors are o*tstanding B the -e'elo%ment 7ngineers and Test manager m*st sign o11 the im%lementation risk as acce%ta2le. Shi77in/ or >i-e "elease
The +inary Tree testing is scaled do0n and com2ines all %hases o1 testing into t0o %hases B F*nction @om%lete and (egression testing B and 1ollo0s the release criteria. .%.1 $hi&&ing'(i)e *elease !ntr" #riteria
The criteria 1or entering the 1inal stages are as 1ollo0s9 M8 'eri1ies that all o%en %rod*ct de1ects5 regardless o1 1i6ed de1ects5 doc*mented5 de1erred5 or other0ise addressed. M8 'eri1ies that regression testing on all %rod*ct de1ects and the entire %rod*ct has 2een com%leted. M8 'eri1ies that all 2*gs HFor Veri1yI ha'e 2een regressed.
The so1t0are is 1rozen 0hen the %rod*ct %asses its 1inal milestone. I1 any code changes are made a1ter the 1inal milestone5 the 1eat*res 1i6ed m*st 2e re/tested. M85 and -e'elo%ment 7ngineers closely monitor 1i6es that go into the 1inal 2*ild to minimize risk. 81ter the 1inal milestone criteria ha'e 2een met5 the %rod*ct enters the &i'e (elease stage. .%.2 $hi&&ing'(i)e *elease exit #riteria
The Shi%%ing>&i'e (elease stage is 0hen the %rod*ct is ready 1or general a'aila2ility to the %*2lic and the *ser doc*mentation is 1inal. The %rod*ct m*st 1*lly satis1y its release s%eci1ications and the *ser doc*mentation m*st ade4*ately descri2e the %rod*ctNs 1*nctionality. +oth sho*ld 2e ready 1or *se 2y the end *ser. M8 tests the 1inal %rod*ct 'ersion to 'eri1y that the %rod*ct to 2e released to the general %*2lic is o1 the *tmost 4*ality and satis1ies original design s%eci1ications. The %rod*ct m*st recei'e a%%ro'al 1rom the %rod*ct team. M8 and -e'elo%ment m*st %re%are (elease Notes.
-*ring testing5 the testing team mem2ers normally enco*nter 2eha'ior that goes against a s%eci1ied or im%lied design re4*irement in the %rod*ct. When this ha%%ens5 0e 0ill doc*ment and re%rod*ce the 2*gs 1or the de'elo%ers. &27ectation of a bu/:
D T B!"!#$% T&ST ST" T&$' D!(#M&)T Oee% track o1 0hat 'ersion o1 the a%%lication the 2*g is 1o*nd -etermine i1 2*g has already 2een 0ritten *% Indicate the ste%s to re%rod*ce the 2*g B 0rite eno*gh details 1or others looking at the 2*g to 2e a2le to d*%licate itA e6cl*de *nnecessary ste%s <i.e. I1 access %oint is irrele'ant5 2e more general in yo*r ste%s=. 8ct*al res*lts B 2e s%eci1ic on yo*r 1indings. 76%ected res*lts B ho0 the %rod*ct sho*ld 2eha'e 2ased on the s%eci1ied or im%lied re4*irements. Im%lications B Ho0 does the de1ect a11ect the 4*ality o1 the %rod*ctP
The 1ollo0ing chart de1ines the im%act le'els to 2e *sed 0hen entering 2*gs. *m7act 1 B Fatal ! B Serio*s # B Minor Definitions Test Sto77er: I1 yo* canNt access a 1*nction and need the 2*g to 2e 1i6ed immediately. The de1ect %re'ents M8 1rom testing the 1eat*re area5 s*2/ area or 1*nctionality o1 the 1eat*re. Beta Sto77er: This is a 2*g that *sers 0o*ld e6%erience s*ch as9 data corr*%tion5 calc*lation errors5 incorrect data5 U7Ns and system crash on common *ser scenarios5 signi1icant M8 risk5 and ma3or UI de1ects. >i-e "elease: 8 2*g that m*st 2e 1i6ed 2e1ore the %rod*ct is o11icially com%leted5 U7Ns or crashes5 content5 and UI and gra%hic changes re4*ired 1or release.
3+1
@arious "oles in Bu/ "esolution uthor ; The %erson 0ho 0rote the 2*gA this 0ill 2e someone on the M8 team "esol-er ; Normally an 7ngineer assigned to a s%eci1ic area o1 the a%%lication. @erifier ; normally a M8 7ngineer res%onsi2le 1or testing the 1i6 and closing the 2*g.
Relea se Severity(1-3)_____
1 - Fa ta l 2 - Serio us 3 - Mino r
Pro b lem S%mma ry &a n yo% rep ro ' % e t!e p ro b lem( ("# $) Pro b lem ) !o * a n it b e rep ro ' % e' (
.a te:
Item s b elo " a re fo r use o nly b y t)e d e0elo % m ent tea m /%n tio na l Area :______________________ &om ments: Assig ne' To :______________________
Sta t%s_____
1 - o% e n 2 - c losed
Prio irity(1-0)_____
.a te: .a te:
6
6+1
7ns*re ;hase 1 is deli'ered to sched*le and 4*ality 7ns*re e6it criteria are achie'ed %rior to system test signo11 (eg*larly re'ie0 testing %rogress 0ith test controller. (aise and manage iss*es>risks relating to %ro3ect or o*tside test teams control. (e'ie0 and sign o11 test a%%roach5 %lans and sched*le.
7ns*re ;hase 1 is deli'ered to sched*le and 4*ality (eg*larly re'ie0 testing %rogress Manage iss*es>risks relating to System Test Team ;ro'ide reso*rces necessary 1or com%leting system test Testin/ Team
6+2
7ns*re ;hase 1 is deli'ered to sched*le and 4*ality ;rod*ce high le'el and detailed test conditions ;rod*ce e6%ected res*lts (e%ort %rogress at reg*lar stat*s re%orting meetings @o/ordinate re'ie0 and signo11 o1 test conditions Manage indi'id*al test cycles and resol'e tester 4*eries>%ro2lems.
Identi1y test data 76ec*te test conditions and mark/o11 res*lts ;re%are so1t0are error re%orts 8dministrate error meas*rement system 7ns*re test systems o*tages>%ro2lems are re%orted immediately and 1ollo0ed *%. 7ns*re entrance criteria are achie'ed %rior to system test start. 7ns*re e6it criteria are achie'ed %rior to system test signo11.
Test Schedule
The section contains the o'erall %ro3ect sched*le. It disc*sses the %hases and key milestones as they relate to 4*ality ass*rance. It disc*sses the testing goals and standards that 0eNd like to achie'e 1or each %hase o1 testing that 0ill 2e de%loyed5 e.g.5 Usa2ility Testing5 @ode @om%lete 8cce%tance5 +eta Testing5 Integration Testing5 (egression Testing5 System Testing.
D T B!"!#$% T&ST ST" T&$' D!(#M&)T The key dates 1or o'erall +inary Tree de'elo%ment and Testing are o*tlined 2elo0. For details on the sched*le5 re1er to the +inary Tree ;ro3ect Sched*le <this doc*ment=. For details on general 7ngineering M8 deli'era2les5 re1er to the test %lan doc*ment. Binary Tree Pro/ram Milestones ;lanning ;hase &nd Date )otes C Deli-erables5"oles High/le'el test %lanning acti'ities5 0hich incl*de %reliminary de'elo%ment o1 Master M8 ;lan <this doc*ment5 M8 sched*le. -e'elo%ment and Test engineers %artici%ate acti'ely in 1eat*re design 2y ins%ecting and re'ie0ing the re4*irements and design doc*ments. 8s the design doc*ments are com%leted5 the test engineers are enco*raged to start 0orking on the Test ;lan doc*ment and test design %lanning. The Test 7ngineers sho*ld ha'e com%leted or in the 1inal stages o1 their %reliminary In1rastr*ct*re Test ;lan5 test cases and other M8 doc*ments related to test e6ec*tion 1or each 1eat*re or com%onent s*ch as test scenarios5 e6%ected res*lts5 data sets5 test %roced*res5 scri%ts and a%%lica2le testing tools. The Test 7ngineers sho*ld ha'e %ro'ided @ode @om%lete 8ssessment Test to -e'elo%ment 7ngineer one 0eek %rior to @ode @om%lete (e'ie0 date. The Test 7ngineers sho*ld also ha'e com%leted or in the 1inal stages o1 their %reliminary White +o6 Test ;lan5 test cases and other M8 doc*ments related to test e6ec*tion 1or each 1eat*re or com%onent s*ch as test scenarios5 e6%ected res*lts5 data sets5 test %roced*res5 scri%ts and a%%lica2le testing tools.
-esign ;hase
"!>!">"# 8t this Milestone5 the high le'el %lanning sho*ld 2e com%leted. Some o1 the deli'era2les are9 ;ro3ect ;lan5 ;rogram 1*nction s%eci1ications. "!>!)>"# This is a 1eat*re/dri'en milestone 0here the re4*irements and initiati'es are 1*rther de1ined and sol*tions are 1inalized. The deli'era2les 1or this %hase are ;rogram so*rce code and other design related doc*ments. "#>"$>"# This milestone is 0hen all in1rastr*ct*re de'elo%ment and 1*nctions sho*ld 2e com%lete. The testing team sho*ld ha'e %re1ormed *nit ? integration testing 2e1ore checking the code into any 2*ild.
"#>1">"# This milestone incl*des *nit testing and code re'ie0 o1 each 1*nction com%onent %rior to checking the code into the test %hase. The deli'era2les incl*de system/testing s%eci1ication5 Unit testing s%eci1ications5 Integration %lan.
D T B!"!#$% T&ST ST" T&$' D!(#M&)T Binary Tree Pro/ram Milestones +eta (eady Feat*re @om%lete
&nd Date
)otes
C Deli-erables5"oles ! Weeks regression o1 +inary Tree 1eat*res to +eta and %re%aration 1or +eta Sh*tdo0n. 8ll 2*gs 'eri1ied and M8 doc*mentation is 1inalized. The test 7ngineers sho*ld assess that +inary Tree 1eat*res are ready 1or +eta regression and ha'e started their %reliminary Test S*mmary (e%orts. @om%lete regression test e6ec*tion o1 com%lete system and *%date Test S*mmary (e%orts 1or regression. 8ny *n1inished Testing doc*ments sho*ld 2e com%lete.
"#>15>"# This milestone re%resents that all 1eat*res are ready 1or +eta release sh*tdo0n. "#>15>"# This %hase allo0s 1or 1eat*re clean *% to 'eri1y remaining 2*g 1i6es and regression testing aro*nd the 2*g 1i6es. This milestone indicates that the 1eat*re is ready 1or +eta regression. "#>!">"# This milestone re%resents that all +inary Tree code and EUI inter1ace to the +inary Tree is ready 1or (egression Testing. " >"#>"# ;rod*ct is o*t.
10 Deli-erables
;rogram 1*nction s%eci1ications ;rogram so*rce code Test %lan doc*ment / this doc*ment sho*ld address testing o23ecti'es5 criteria5 standards5 sched*le and assignments5 and testing tools. Unit Testing ;lan Integration ;lan System Testing ;lan Test -esign -oc*ment Unit 0hite/2o6 test design B co'ers 0hite testing criteria5 methods and test cases Unit 2lack/2o6 test design B co'ers 2lack/2o6 testing criteria5 methods and test cases System test design B co'ers system test criteria5 methods5 and test cases5 scri%ts. Test re%ort doc*ment
D T B!"!#$% T&ST ST" T&$' D!(#M&)T Unit 0hite/2o6 test re%ort B co'ers *nit 0hite 2o6 test res*lts5 %ro2lems5 s*mmary and analysis Unit 2lack/2o6 test re%ort B co'ers *nit 2lack 2o6 test res*lts5 %ro2lems5 s*mmary and analysis System Test re%ort B co'ers system test res*lts5 %ro2lems5 s*mmary and analysis
11 "eferences
;ressman5 (oger S. So1t0are 7ngineering / 8 ;ractitionerQs 8%%roach. Fi1th edition. The McEra0/Hill com%anies5 Inc. Oaner5 @.5 Falk5 R.5 Ng*yen5 H./M. Testing @om%*ter So1t0are. Wiley @om%*ter ;*2lishing5 1....