Welcome to Scribd. Sign in or start your free trial to enjoy unlimited e-books, audiobooks & documents.Find out more
Download
Standard view
Full view
of .
Look up keyword
Like this
3Activity
0 of .
Results for:
No results containing your search query
P. 1
Test Planning and Execution in a Mobile Game Development Project using SCRUM

Test Planning and Execution in a Mobile Game Development Project using SCRUM

Ratings: (0)|Views: 279|Likes:
Published by José Carréra
Article describes the best practices and also the difficulties faced to perform testing activities on mobile game development projects.
Article describes the best practices and also the difficulties faced to perform testing activities on mobile game development projects.

More info:

Published by: José Carréra on Apr 26, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

01/23/2015

pdf

text

original

 
The Magazine for Agile Developers and Agile Testers
April 2011
issue 6
www.agilerecord.comfreedigitalversionmadeinGermanyISSN2191-1320
 
26 www.agilerecord.comTheinformationtechnologyindustryincreasinglyrealizestheim-portanceofconducting,inacarefulandefcientmanner,veri-cationandvalidationactivities,whichincludessoftwaretesting.Herethetestingindividuals,alongwiththerestoftheteam,work toassurethatthedevelopedsoftwaremeetsallclients’needsandisofahighqualitystandard.Toachievethisgoal,aneffec- tivetestplanisindispensable.Fromthebeginningoftheproject,atestengineershouldbepresent,becausethisallowsustoplanaheadandtondandxdefectsassoonaspossibleinthede-velopmentlifecycle.Afterall,asmentionedintestingliterature, thesoonerdefectsarefound,thelowerwillbethecoststox themandthehigheristheprobabilitythattheircorrectionwon’tcausenewbugs(GlenfordJ.Myers,“Theartofsoftwaretesting”).Thisarticle,describeshowtestingactivitieswereperformedinamobilegamedevelopmentprojectusingSCRUMastheman-agementprocess.Itwilldescribeindetailthetestingstrategiesused,alongwiththebestpracticesidentiedandthelearnedlessons.Themaingoalofthearticleistoassistothertesten-gineerswhoarestartingingamedevelopmentprojects,sothat theycaneasilyandrapidlyadapttothedifferencescompared tostandardsoftwaredevelopmentprojects.Thiswillalsoallow themtocontributetothecreationofnewandevenmoreeffec- tivetestingtechniques.
The project
AllthetechniquesandlearnedlessonsdescribedinthisarticlewereexperiencedduringaprojectdevelopedatC.E.S.A.R.(Re-cife’sCenterofAdvancedStudiesandSystems)fromDecember2007toMarch2008.Sincetheprojectincluded,amongstothers,elementslikeshortduration,asmallteam,frequentclientinvolvement,andcon-stantrequirementchanges,itwasdecidedtoapplySCRUMandanagiledevelopmentmethodologytohelpmanageallactivitiesduringtheproject.InaccordancewithSCRUM,alltaskstobede-velopedwerelistedasbacklogitems(BLI).Thesewereelectedtobedevelopedinshortdevelopmentcycles(“sprints”),wherebyat theendofeachsprintanewversionoftheproductwasreleased totheclient.Inourproject,eachsprintlasted10workdays,and theitemstobedevelopedwerechosenbytheteamduringsprintplanningmeetings.Duringthesprintplanningmeeting,allteammembershadtopri-oritizeallBLIs,inordertohelpdecidewhichtaskshadtobede-velopedduringthefollowingsprint.Fromatestengineer’spointofview,theapproachwastoalwaystrytoanticipatethefeatures thatappearedtobecriticalforsystembehaviorandformeeting theclient’sneeds.Prioritizationcouldbeassignedduetocom-plexityorimportance;theintentionwastopreventbugsrelating tothesefeaturesfrombeingfoundlateintheprojectlifecycle.
Testing strategyPlanning – First sprint
Testingactivitiesstartedbeforetheendoftheproject’srstsprintwiththearrivalofatestengineer.Asarsttask,acom-pleteanalysisoftheBasicGameDesignSpecication(BGDS)wasmade.Thisdocumentsummarizesallbasicgamefeatures.AfterevaluatingtheBGDSandallclient’srequestsandneeds,asimpleteststrategywasdenedwhichinvolveddocumentingmanualtestcasesassoonasthesprintstartedusingasimplepriorityschemebasedonthecomplexityoftheselectedstoryand theimplementationorder.Atthisinitialstagewealsoidentiedandsolvedalltestenvironmentneeds,likeavailablehardware,SIMcards,bugtrackingsoftware,etc.Finally,asetofgeneral testcasesmadeavailablebytheclientwerealsoevaluatedprior tostartingtestexecution.
Test case design
OneoftheinitiallydenedconstraintstotheprojectwasthatalldocumentedBLIsshouldbecoveredbytestcases,andtheBGDSwereconsideredasthetestoracle.Basedonprojectcharacteris- ticslikeshortduration,scarceBLIdocumentation,andfrequentchanges,wedecidedtodesigntestcasesinamoregeneralway
 © i   S  t   o c p o t   o. c om /  ui   y  0  0 
Test Planning and Execution in a Mo-bile Game Development Project usingSCRUM
by José Carréra Alvares Neto
 
27www.agilerecord.comwithafocusontestingthegame’sbasicfunctionalitiesforeachBLI.Thisresultedinasetoftestcasessimilartothoseusedfor“sanity”tests.Thiswayweexpectedtomaximizethetimespentontestexecutionandtoavoidspendingexcessivetimeondocu-mentation.
Test execution
Thetestspecicationconsistedofaspreadsheetwithasetof testcasessentbythecustomerandagroupofspecicscenar-iosdesignedspecicallyforthegamebythetestengineers.,AMANTISbugtracker(http://www.mantisbt.org/)wasusedasthedefectmanagementtool.Duringtheexecutionphase,thefollowingactivitieswereplanned tobeexecutedineachsprint:Themainfocuswastheexecutionoftheexploratorytestsasfeatureswerereleasedthroughoutthesprint,alongwiththeexecutionoftheclientsetoftestcasesand thegame’sspecicgroupoftestcases.Theuseofexploratory testingisgenerallyencouragedforprojectswithcharacteristicssimilartoours,andwhenexecutedbyexperiencedtestengi-neers,such”exploratorytestscanbemuchmoreefcientthan thetestsperformedfollowingscriptedtestcases”(JamesBach).Duringthecourseofeachsprint,animportanttaskperformedbythetestengineerwastoeffectivelymonitortheprogressofalldevelopers’activitiesonthecurrentsprint.Thiswasdoneinordertodenethebesttimetorequestthereleaseofintermedi-ateversionsofthegameforcomponenttestingandalsotoavoiddefectsorchangerequestsbeingraisedforfeaturesthathadnotbeenfullyreleasedbythedevelopmentteam.ThismonitoringofactivitieswasmadeeasierbytheSCRUMmethodologywhere,duringthedailymeetings,wecouldeasilyfollowprojectactivities throughtheburndowngraph.Aspreviouslymentioned,thedecisiontoprioritizetheexplora- torytestswasmadeduetotheproject’smaincharacteristics,suchasalackofaextensivedocumentationatthebeginningof theproject,andfrequentchangesofclient’sneedsandrequire-ments.
Formal tests
Thecompletesetoftestcasesconsistedoftheclient’sstandard testcasestogetherwithgame-specictestcaseswhichcametoatotalofaround15Otests.However,notallspecictestswereexecutedintheinitialsprints,sincemostofthefeatureswerenotyetdeveloped.Acompletetestexecutioncyclewouldtakeanaverageofthreedays.Duringtherestofthesprintothertest-ingactivitiesliketestdesignandmaintenancewereperformedalongwithexploratorytestingandchangerequestvalidation.Theclient’ssetoftestcasesmainlyfocusedonassuringthat thecompany’sstandardswerebeingfollowedbyourteam.Thisconcernedfeatureslikekeymapping,performance,interactionanduserinterface.Takingthisintoconsideration,itwasmanda- torytorunthesetestsforeachsprintinordertoassurethatthedevelopedgamesuitedallclients’demandsand,aboveall,that theywouldn’tinterferewiththemobilephone’sbasicfeatures.Attheendofeachsprintanintermediateversionofthegamewasreleasedtotheclient,whocouldanalyzethedeliveryandprovidefeedbacktoourteam.Thisusuallyinvolvedaspectslikegameplay,gamedesignanddefects.Throughananalysisofthisfeedbackwecouldgureoutwhichareasweremorerelevanttoourclient,adjustourteststrategyaccordingly,andthenfocuson themisseddefectsinthenextsprint.
Exploratory tests
Exploratorytests,whichwerechosenasourmaintestexecu- tionstrategyduetotheprojectprole,beganearlyintheinitialsprints.Inatraditionalapproach,informaltestcharterswerepre-paredfocusingonaspecicareaorBLItobetested.Duringthecourseoftheproject,astheGameDesignSpecicationbecamemoremature,westartedusingtwonewapproachesforrunning theexploratorytests,whichwillbedescribedbelow.
Test case based
Inthisapproachtheactualtestcaseswereusedasthefocusareaforeachexploratorytest,wherebythestepsofthetestcasewereruninanunusualway.Thetesterisencouragedtodivergeasmuchaspossiblefromthespeciedteststeps,andtotryand thinkofalternativepathsthatcouldbetakeninsteadoftheonesuggestedbythetestcase.Themainideaistousetheexisting testcasesjustasareferenceinordertocoverallthefeaturesoftheapplicationandtoleaveittothetestengineertoevalu-aterelevanceofthefeaturestothesystem.Bydoingthis,weencouragethetestengineertothinkcreativelytondnewways,orwaysnotpreviouslyforeseen,tobreakthesoftware.Thisap-proachachievedverygoodresultsandcertainlyincreasedthe totalnumberofrelevantdefectsfound.Ifthisapproachistoachieveahighdegreeofsuccess,itisveryimportantforthetestengineertoknowallexistingfeaturesof thesystem,themarketandtheclient’sexpectations.Heneeds tofullyconcentrateonhisworkinordertonoticedetailsthatmayhaveescapedbefore.Itisalsoimportantthattheengineercanworkinacomfortableenvironmentduringtestexecutionwithoutbeingconstantlyinterrupted,thusallowinganefcientanalysisoftheexistingtestcasesandunexploredpossibilities.
GDS scanning 
Adifferentapproach,whichweusedinthelatersprints,wasbasedontheexecutionoftheexploratoryteststhroughacom-pletescanoftheGDS.Thisapproachcouldn’tbeappliedfullyin theinitialsprints,becauseonlytheBGDSwasavailable,whichdidn’tcontainenoughinformationtoallowamoredetailedex-ecution.Forthistechniquetobeappliedsuccessfully,thetestengineerneedstohavealreadyreadandunderstoodthedocument,,and thereshouldbenoopenquestions.Themainideaofthisap-proachistomakesurethateverydescriptionincludedintheGDSiscorrectlycodedinthegame.Bysimultaneouslyanalyz-ingthedocumentandexploringthegame,itbecomesvisibleifanyimportantscenarioisn’twelldescribedinthetext.Withthisapproachwecancombinethebenetsofstatictestingofdocu-

Activity (3)

You've already reviewed this. Edit your review.
1 thousand reads
1 hundred reads
Isaac Carballo liked this

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->