testing levels nice

Upload: sbshinde07

Post on 30-May-2018

214 views

Category:

Documents


0 download

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