Oladimeji Levels of Testing

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 28

LevelsofTesting

PatrickOladimeji

AdvancetopicsinComputerScience
Dr.MarkusRoggenbach Prof.Dr.Holger Schlingloff UniversityofWalesSwanseaComputerScienceDepartment

Contents
1. Differentlevelsoftesting. 2. Importantfactorsontestinglevels.
o o Factorsinfluencingtestscope Whytestatdifferentlevels? V Model

3. Testlevelsandsoftwarelifecyclemodels.
o

DecompositiontreeofSATM
SATMsystem Terminal I/O CentralBank Communication

Screen Driver

Key Sensor Manage Sessions

ValidateCard

PINEntry

Manage Transaction

Close Session

1.DifferentLevelsoftesting
Whatisaleveloftest? Definedbyagivenenvironment environmentisacollectionofpeople, hardware,software,interfaces,dataetc.

Fig1 Sampleenvironmentvariables [SystematicSoftwaretesting RickD.CraigandStefanP.Jaskiel2002]

1.Levelsoftesting
UnitTesting IntegrationTesting SystemTesting AcceptanceTesting Regressiontesting

Contents
1. Differentlevelsoftesting.
o o o o o UnitTesting IntegrationTesting SystemTesting AcceptanceTesting RegressionTesting Factorsinfluencingtestscope Whytestatdifferentlevels? V Model

2. Importantfactorsontestinglevels.
o o

3. Testlevelsandsoftwarelifecyclemodels.
o

1.1UnitTesting
Aunitissmallesttestablepieceofsoftware
canbecompiled,linked,loaded e.g functions/procedures,classes,interfaces normallydonebyprogrammer Testcaseswrittenaftercoding

Disadvantage
Testcaseswrittentosuitprogrammers implementation(notnecessarilyspecification)

BettertouseBuddyTesting

1.1UnitTesting
BuddyTesting
Teamapproachtocodingandtesting Oneprogrammercodestheothertestsand viceversa
Testcases writtenbytester(before coding starts).Betterthansingleworkerapproach
Objectivity crosstraining Modelsprogramspecificationrequirement

1.1UnitTesting
NormallyinprogrammersIDE(comfortzone) Findunitbugs
Wrongimplementationoffunctionalspecs

SATMExample
Testingfunctionprocedurese.g.theValidatePIN() procedure

Contents
1. Differentlevelsoftesting.
o o o o o UnitTesting IntegrationTesting SystemTesting AcceptanceTesting RegressionTesting Factorsinfluencingtestscope Whytestatdifferentlevels? V Model

2. Importantfactorsontestinglevels.
o o

3. Testlevelsandsoftwarelifecyclemodels.
o

1.2Integrationtesting
Testforcorrectinteractionbetweensystemunits systems builtbymergingexistinglibraries modulescodedbydifferentpeople Mainlyteststheinterfacesamongunits Bottomupintegrationtesting
Useofdrivers

Topdownintegrationtesting
Useofstubs

1.2Integrationtesting
Whodoesintegrationtestingandwhenisit done?
Donebydevelopers/testers Testcaseswrittenwhendetailedspecificationisready Testcontinuousthroughoutproject

Whereisitdone?
doneonprogrammersworkbench

Whyisitdone?
Discoverinconsistenciesinthecombinationofunits.

1.2.1StubsandDrivers
SATMsystem Terminal I/O Manage Sessions Close Session

CentralBank Communication

Screen Driver

Key Sensor ValidateCard

Manage Transaction ValidatePIN

GetDigit

Contents
1. Differentlevelsoftesting.
o o o o o UnitTesting IntegrationTesting SystemTesting AcceptanceTesting RegressionTesting Factorsinfluencingtestscope Whytestatdifferentlevels? V Model

2. Importantfactorsontestinglevels.
o o

3. Testlevelsandsoftwarelifecyclemodels.
o

1.3SystemTesting
Testofoverallinteractionofcomponents Finddisparitiesbetweenimplementationand specification Usuallywheremostresourcesgoto Involves load,performance,reliabilityand securitytesting

1.3SystemTesting
Whoperformssystemtestingandwhenisit done?
Donebythetestteam Testcaseswrittenwhenhighleveldesignspecis ready

Whereisitdone?
Doneonasystemtestmachine Usuallyinasimulatedenvironmente.g.vmware

1.3.1Systemvs.Integrationtesting
Whatvs.How Requirementspec>what detaileddesignspec>how Systemtestingfunctionalnotstructural

1.3.2Example:System/IntegrationTesting
SATMsystem Terminal I/O Manage Sessions Close Session

CentralBank Communication

Screen Driver

Key Sensor ValidateCard

Manage Transaction ValidatePIN

GetDigit

Contents
1. Differentlevelsoftesting.
o o o o o UnitTesting IntegrationTesting SystemTesting AcceptanceTesting RegressionTesting Factorsinfluencingtestscope Whytestatdifferentlevels? V Model

2. Importantfactorsontestinglevels.
o o

3. Testlevelsandsoftwarelifecyclemodels.
o

1.4AcceptanceTesting
Demonstratessatisfactionofuser Usersareessentialpartofprocess UsuallymergedwithSystemTesting Donebytestteamandcustomer Doneinsimulatedenvironment/real environment

Contents
1. Differentlevelsoftesting.
o o o o o UnitTesting IntegrationTesting SystemTesting AcceptanceTesting RegressionTesting Factorsinfluencingtestscope Whytestatdifferentlevels? V Model

2. Importantfactorsontestinglevels.
o o

3. Testlevelsandsoftwarelifecyclemodels.
o

1.5RegressionTesting
Ongoingprocessthroughouttestinglifecycle Newbugfixbreakspreviouslytestedunits? Performregressiontestwheneverprogram changes

Contents
1. Differentlevelsoftesting.
o o o o o UnitTesting IntegrationTesting SystemTesting AcceptanceTesting RegressionTesting Factorsinfluencingtestscope Whytestatdifferentlevels? V Model

2. Importantfactorsontestinglevels.
o o

3. Testlevelsandsoftwarelifecyclemodels.
o

2.1Factorsinfluencingtestscope
Sizeofproject Complexityofproject Budgetforproject Timescopeforproject Numberofstaff

2.2Whytestatdifferentlevels
Softwaredevelopmentnaturallysplitto phases Easilytrackbugs Ensuresaworkingsubsystem/component/ library Softwarereusemorepractical

Contents
1. Differentlevelsoftesting.
o o o o o UnitTesting IntegrationTesting SystemTesting AcceptanceTesting RegressionTesting Factorsinfluencingtestscope Whytestatdifferentlevels? V Model

2. Importantfactorsontestinglevels.
o o

3. Testlevelsandsoftwarelifecyclemodels.
o

3.1TheV modelandtestlevels

Fig3.1levelsoftesting [SystematicSoftwaretesting RickD.CraigandStefanP.Jaskiel2002]

Summary
Differentlevelsoftest
Unittesting Integrationtesting Systemtesting Acceptancetesting Regressiontesting

Factorsaffectingtestscope Whytestatdifferentlevels TheV modelandtesting

You might also like