testing levels nice
TRANSCRIPT
-
8/9/2019 Testing Levels Nice
1/28
LevelsofTesting
AdvancetopicsinComputerScience
PatrickOladimeji
Dr.MarkusRoggenbach
Prof.Dr.Holger Schlingloff
Universityof
Wales
Swansea
Computer
Science
Department
-
8/9/2019 Testing Levels Nice
2/28
Contents
1. Differentlevelsoftesting.
2. Importantfactors
on
testing
levels.
o Factorsinfluencingtestscope
o Whytestatdifferentlevels?
3. Testlevels
and
software
life
cycle
models.
o V Model
-
8/9/2019 Testing Levels Nice
3/28
DecompositiontreeofSATM
SATMsystem
Manage
Sessions
CentralBank
CommunicationTerminal
I/O
ValidateCard PINEntryManage
Transaction
Close
Session
Screen
Driver
Key
Sensor
-
8/9/2019 Testing Levels Nice
4/28
1.DifferentLevelsoftesting
Whatisaleveloftest?
Definedby
agiven
environment
environmentisacollectionofpeople,
hardware,software,
interfaces,
data
etc.
Fig1 Sampleenvironmentvariables
[SystematicSoftwaretesting RickD.CraigandStefanP.Jaskiel2002]
-
8/9/2019 Testing Levels Nice
5/28
UnitTesting
IntegrationTesting
SystemTesting
AcceptanceTesting
Regressiontesting
1.Levelsoftesting
-
8/9/2019 Testing Levels Nice
6/28
Contents
1. Differentlevels
of
testing.
o UnitTesting
o IntegrationTesting
o SystemTesting
o AcceptanceTesting
o RegressionTesting
2. Importantfactorsontestinglevels.
o Factorsinfluencingtestscope
o Whytest
at
different
levels?
3. Testlevelsandsoftwarelifecyclemodels.
o
V Model
-
8/9/2019 Testing Levels Nice
7/28
1.1UnitTesting
Aunitissmallesttestablepieceofsoftware
can
be
compiled,
linked,
loaded
e.g functions/procedures,classes,interfaces
normallydonebyprogrammer
Testcases
written
after
coding
Disadvantage
Test
cases
written
to
suit
programmers
implementation(notnecessarilyspecification)
BettertouseBuddyTesting
-
8/9/2019 Testing Levels Nice
8/28
1.1UnitTesting
BuddyTesting
Teamapproachtocodingandtesting
Oneprogrammercodestheothertestsand
viceversa
Testcases
written
by
tester(before coding
starts).Betterthansingleworkerapproach
Objectivity
crosstraining
Modelsprogramspecificationrequirement
-
8/9/2019 Testing Levels Nice
9/28
1.1UnitTesting
NormallyinprogrammersIDE(comfortzone)
Findunit
bugs
Wrongimplementationoffunctionalspecs
SATM
Example
Testingfunctionprocedurese.g.theValidatePIN()
procedure
-
8/9/2019 Testing Levels Nice
10/28
Contents
1. Differentlevels
of
testing.
o UnitTesting
o IntegrationTesting
o SystemTesting
o AcceptanceTesting
o RegressionTesting
2. Importantfactorsontestinglevels.
o Factorsinfluencingtestscope
o Whytest
at
different
levels?
3. Testlevelsandsoftwarelifecyclemodels.
o
V Model
-
8/9/2019 Testing Levels Nice
11/28
1.2Integrationtesting
Testforcorrectinteractionbetweensystemunits
systems
built
by
merging
existing
libraries
modulescodedbydifferentpeople
Mainlyteststheinterfacesamongunits
Bottomupintegrationtesting
Useofdrivers
Topdown
integration
testing
Useofstubs
-
8/9/2019 Testing Levels Nice
12/28
1.2Integrationtesting
Whodoesintegrationtestingandwhenisit
done? Donebydevelopers/testers
Testcaseswrittenwhendetailedspecificationisready
Testcontinuous
throughout
project
Whereisitdone?
doneon
programmers
workbench
Whyisitdone?
Discoverinconsistenciesinthecombinationofunits.
-
8/9/2019 Testing Levels Nice
13/28
1.2.1StubsandDrivers
SATMsystem
Manage
Sessions
CentralBank
Communication
Terminal
I/O
ValidateCard
ValidatePIN
Manage
Transaction
Close
Session
Screen
Driver
Key
Sensor
GetDigit
-
8/9/2019 Testing Levels Nice
14/28
Contents
1. Differentlevels
of
testing.
o UnitTesting
o IntegrationTesting
o SystemTesting
o AcceptanceTesting
o RegressionTesting
2. Importantfactorsontestinglevels.
o Factorsinfluencingtestscope
o Whytest
at
different
levels?
3. Testlevelsandsoftwarelifecyclemodels.
o V Model
-
8/9/2019 Testing Levels Nice
15/28
1.3SystemTesting
Testofoverallinteractionofcomponents
Finddisparities
between
implementation
and
specification
Usuallywhere
most
resources
go
to
Involves load,performance,reliabilityand
securitytesting
-
8/9/2019 Testing Levels Nice
16/28
1.3SystemTesting
Whoperformssystemtestingandwhenisit
done? Donebythetestteam
Testcaseswrittenwhenhighleveldesignspecis
ready
Whereisitdone?
Doneon
asystem
test
machine
Usuallyinasimulatedenvironmente.g.vmware
-
8/9/2019 Testing Levels Nice
17/28
1.3.1Systemvs.Integrationtesting
Whatvs.How
Requirementspec
>what
detaileddesignspec>how
Systemtesting
functional
not
structural
-
8/9/2019 Testing Levels Nice
18/28
1.3.2Example:System/IntegrationTesting
SATMsystem
Manage
Sessions
Central
Bank
Communication
Terminal
I/O
ValidateCard
ValidatePIN
Manage
Transaction
Close
Session
Screen
Driver
Key
Sensor
GetDigit
-
8/9/2019 Testing Levels Nice
19/28
Contents
1. Differentlevels
of
testing.
o UnitTesting
o IntegrationTesting
o SystemTesting
o AcceptanceTesting
o RegressionTesting
2. Importantfactorsontestinglevels.
o Factorsinfluencingtestscope
o Whytest
at
different
levels?
3. Testlevelsandsoftwarelifecyclemodels.
o V Model
-
8/9/2019 Testing Levels Nice
20/28
1.4AcceptanceTesting
Demonstratessatisfactionofuser
Usersare
essential
part
of
process
UsuallymergedwithSystemTesting
Doneby
test
team
and
customer
Doneinsimulatedenvironment/real
environment
-
8/9/2019 Testing Levels Nice
21/28
Contents
1. Differentlevels
of
testing.
o UnitTesting
o IntegrationTesting
o SystemTesting
o AcceptanceTesting
o RegressionTesting
2. Importantfactorsontestinglevels.
o Factorsinfluencingtestscope
o Whytest
at
different
levels?
3. Testlevelsandsoftwarelifecyclemodels.
o V Model
-
8/9/2019 Testing Levels Nice
22/28
1.5RegressionTesting
Ongoingprocessthroughouttestinglifecycle
Newbug
fix
breaks
previously
tested
units?
Performregressiontestwheneverprogram
changes
-
8/9/2019 Testing Levels Nice
23/28
Contents
1. Differentlevels
of
testing.
o UnitTesting
o IntegrationTesting
o SystemTesting
o AcceptanceTesting
o RegressionTesting
2. Importantfactorsontestinglevels.
o Factorsinfluencingtestscope
o Whytest
at
different
levels?
3. Testlevelsandsoftwarelifecyclemodels.
o V Model
-
8/9/2019 Testing Levels Nice
24/28
2.1 Factorsinfluencingtestscope
Sizeofproject
Complexityof
project
Budgetforproject
Timescope
for
project
Numberofstaff
-
8/9/2019 Testing Levels Nice
25/28
2.2Whytestatdifferentlevels
Softwaredevelopmentnaturallysplitto
phases Easilytrackbugs
Ensuresaworking
subsystem/
component/
library
Softwarereusemorepractical
C t t
-
8/9/2019 Testing Levels Nice
26/28
Contents
1. Differentlevels
of
testing.
o UnitTesting
o IntegrationTesting
o SystemTesting
o AcceptanceTesting
o RegressionTesting
2. Importantfactorsontestinglevels.
o Factorsinfluencingtestscope
o Whytest
at
different
levels?
3. Testlevelsandsoftwarelifecyclemodels.
o V Model
-
8/9/2019 Testing Levels Nice
27/28
3.1TheV modelandtestlevels
Fig3.1levelsoftesting
[SystematicSoftware
testing
Rick
D.
Craig
and
Stefan
P.
Jaskiel
2002]
-
8/9/2019 Testing Levels Nice
28/28
Summary
Differentlevelsoftest
Unittesting
Integrationtesting
Systemtesting
Acceptancetesting
Regressiontesting
Factorsaffectingtestscope
Whytest
at
different
levels
TheV modelandtesting