istqb chapter2

Upload: anjujainmba

Post on 03-Apr-2018

315 views

Category:

Documents


5 download

TRANSCRIPT

  • 7/28/2019 ISTQB Chapter2

    1/88

    Testing in the Lifecycle

    1 Principles 2 Lifecycle

    4 Dynamic testtechniques

    3 Static testing

    5 Management 6 Tools

    Software Testing

    ISTQB / ISEB Foundation Exam Practice

    Chapter 2

  • 7/28/2019 ISTQB Chapter2

    2/88

    Contents

    Models for testing, economics of testing

    High level test planning

    Component Testing

    Integration testing in the small

    System testing (non-functional and functional)

    Integration testing in the large

    Acceptance testing

    Maintenance testing

    Lifecycle

    1 2 3

    4 5 6

    ISTQB / ISEB Foundation Exam Practice

  • 7/28/2019 ISTQB Chapter2

    3/88

    V-Model: test levels

    Integration Testing

    in the Small

    Integration Testing

    in the Small

    Integration Testing

    in the Large

    Integration Testing

    in the Large

    System

    Testing

    System

    Testing

    Component

    Testing

    Component

    Testing

    AcceptanceTesting

    AcceptanceTesting

    Code

    Code

    Design

    Specification

    Design

    Specification

    System

    Specification

    System

    Specification

    Project

    Specification

    Project

    Specification

    BusinessRequirements

    BusinessRequirements

  • 7/28/2019 ISTQB Chapter2

    4/88

    Tests

    BusinessRequirements

    BusinessRequirements

    Tests

    Project

    Specification

    Project

    Specification

    TestsSystem

    Specification

    System

    Specification

    Tests

    Design

    Specification

    Design

    SpecificationTests

    Code

    Code

    V-Model: late test design

    Integration Testing

    in the Small

    Integration Testing

    in the Small

    Integration Testing

    in the Large

    Integration Testing

    in the Large

    System

    Testing

    System

    Testing

    Component

    Testing

    Component

    Testing

    AcceptanceTesting

    AcceptanceTesting

    Design

    Tests?

    We dont havetime to design

    tests early

  • 7/28/2019 ISTQB Chapter2

    5/88

  • 7/28/2019 ISTQB Chapter2

    6/88

    Early test design

    test design finds faults

    faults found early are cheaper to fix

    most significant faults found first

    faults prevented, not built in

    no additional effort, re-schedule test design

    changing requirements caused by test design

    Early test design helps to build quality,

    stops fault multiplication

    Early test design helps to build quality,

    stops fault multiplication

  • 7/28/2019 ISTQB Chapter2

    7/88

    Experience report: Phase 1

    Phase 1: Plan2 mo 2 mo

    dev test

    test150 faults

    1st mo.50 faults

    usersnothappy

    Quality

    fraught, lots of dev overtime

    Actual

    "has to go in"but didn't work

  • 7/28/2019 ISTQB Chapter2

    8/88

    Experience report: Phase 2

    Source: Simon Barlow & Alan Veitch, Scottish Widows, Feb 96

    Phase 2: Plan2 mo 6 wks

    dev test

    test

    50 faults

    1st mo.

    0 faultshappyusers!

    Quality

    smooth, not much for dev to do

    Actual

    acc test: fullweek (vs half day)

    on time

    Phase 1: Plan2 mo 2 mo

    dev test

    test

    150 faults

    1st mo.

    50 faults

    users

    nothappy

    Quality

    fraught, lots of dev overtime

    Actual

    "has to go in"but didn't work

    Phase 2: Plan2 mo 6 wks

    dev test

    test50 faults

    1st mo.0 faults

    happyusers!

    Quality

    smooth, not much for dev to do

    Actual

    acc test: fullweek (vs half day)

    on time

  • 7/28/2019 ISTQB Chapter2

    9/88

    VV&T

    Verification the process of evaluating a system or component tothe process of evaluating a system or component to

    determine whether the products of the givendetermine whether the products of the given

    development phase satisfy the conditions imposeddevelopment phase satisfy the conditions imposed

    at the start of that phase [BS 7925-1]at the start of that phase [BS 7925-1] Validation

    determination of the correctness of the products ofdetermination of the correctness of the products ofsoftware development with respect to the usersoftware development with respect to the user

    needs and requirements [BS 7925-1]needs and requirements [BS 7925-1]

    Testing

    the process of exercising software to verify that itthe process of exercising software to verify that itsatisfies specified requirements and to detect faultssatisfies specified requirements and to detect faults

  • 7/28/2019 ISTQB Chapter2

    10/88

    Verification, Validation and Testing

    Verification

    Validation

    TestingAnyAny

  • 7/28/2019 ISTQB Chapter2

    11/88

    V-model exercise

  • 7/28/2019 ISTQB Chapter2

    12/88

    The V Model - Exercise

    DS

    FDBuild

    Components

    Build

    UnitsTD

    Build

    System

    Code

    Build

    AssemblageVD

    System

    Test

    Integration

    TestReview FD

    Review TD

    TUT

    FUT

    Review DS

    Review VD

    Assembly

    Test

    Exceptions:

    Conversion TestFOS: DN/Gldn

  • 7/28/2019 ISTQB Chapter2

    13/88

    How would you test this spec?

    A computer program plays chess with one

    user. It displays the board and the pieces on

    the screen. Moves are made by dragging

    pieces.

  • 7/28/2019 ISTQB Chapter2

    14/88

    Testing is expensive

    Compared to what?

    What is the cost of NOT testing, or of faults

    missed that should have been found in test?

    - Cost to fix faults escalates the later the fault is foundCost to fix faults escalates the later the fault is found- Poor quality software costs more to usePoor quality software costs more to use

    users take more time to understand what to dousers take more time to understand what to do

    users make more mistakes in using itusers make more mistakes in using it

    morale suffersmorale suffers

    => lower productivity=> lower productivity Do you know what it costs your organisation?

  • 7/28/2019 ISTQB Chapter2

    15/88

    What do software faults cost?

    Have you ever accidentally destroyed a PC?

    - knocked it off your desk?knocked it off your desk?

    - poured coffee into the hard disc drive?poured coffee into the hard disc drive?

    - dropped it out of a 2nd storey window?dropped it out of a 2nd storey window?

    How would you feel?

    How much would it cost?

  • 7/28/2019 ISTQB Chapter2

    16/88

    Hypothetical Cost - 1

    (Loaded Salary cost: 50/hr)Fault Cost Developer User

    700 50

    - detect ( .5 hr) 25

    - report ( .5 hr) 25

    - receive & process (1 hr) 50

    - assign & bkgnd (4 hrs) 200

    - debug ( .5 hr) 25

    - test fault fix ( .5 hr) 25

    - regression test (8 hrs) 400

  • 7/28/2019 ISTQB Chapter2

    17/88

    Hypothetical Cost - 2

    Fault Cost Developer User

    700 50

    - update doc'n, CM (2 hrs) 100

    - update code library (1 hr) 50- inform users (1 hr) 50

    - admin(10% = 2 hrs) 100

    Total (20 hrs) 1000

  • 7/28/2019 ISTQB Chapter2

    18/88

    Hypothetical Cost - 3

    Fault Cost Developer User

    1000 50(suppose affects only 5 users)

    - work x 2, 1 wk 4000

    - fix data (1 day) 350

    - pay for fix (3 days maint) 750

    - regr test & sign off (2 days) 700

    - update doc'n / inform (1 day) 350

    - double check + 12% 5 wks 5000- admin (+7.5%) 800

    Totals 1000 12000

  • 7/28/2019 ISTQB Chapter2

    19/88

    Cost of fixing faults

    Req UseDes Test

    1

    10

    1000

    100

  • 7/28/2019 ISTQB Chapter2

    20/88

    How expensive for you?

    Do your own calculation

    - calculate cost of testingcalculate cost of testing

    peoples time, machines, toolspeoples time, machines, tools

    - calculate cost to fix faults found in testingcalculate cost to fix faults found in testing- calculate cost to fix faults missed by testingcalculate cost to fix faults missed by testing

    Estimate if no data available

    - your figures will be the best your company has!your figures will be the best your company has!

    (10 minutes)

    Lif l

  • 7/28/2019 ISTQB Chapter2

    21/88

    Contents

    Lifecycle

    1 2 3

    4 5 6

    Models for testing, economics of testing

    High level test planning

    Component Testing

    Integration testing in the small

    System testing (non-functional and functional)

    Integration testing in the largeAcceptance testing

    Maintenance testing

    ISTQB / ISEB Foundation Exam Practice

  • 7/28/2019 ISTQB Chapter2

    22/88

    (Before planning for a set of tests)

    set organisational test strategy

    identify people to be involved (sponsors,

    testers, QA, development, support, et al.)

    examine the requirements or functionalspecifications (test basis)

    set up the test organisation and infrastructure

    defining test deliverables & reporting

    structure

    See: Structured Testing, an introduction to TMap, Pol & van Veenendaal, 1998

  • 7/28/2019 ISTQB Chapter2

    23/88

    High level test planning

    What is the purpose of a high level test plan?

    - Who does it communicate to?Who does it communicate to?

    - Why is it a good idea to have one?Why is it a good idea to have one?

    What information should be in a high level testplan?

    - What is your standard for contents of a test plan?What is your standard for contents of a test plan?

    -Have you ever forgotten something important?Have you ever forgotten something important?

    - What is not included in a test plan?What is not included in a test plan?

  • 7/28/2019 ISTQB Chapter2

    24/88

    Test Plan 1

    1 Test Plan Identifier

    2 Introduction

    - software items and features to be testedsoftware items and features to be tested

    - references to project authorisation, project plan, QAreferences to project authorisation, project plan, QAplan, CM plan, relevant policies & standardsplan, CM plan, relevant policies & standards

    3 Test items

    -test items including version/revision leveltest items including version/revision level

    - how transmitted (net, disc, CD, etc.)how transmitted (net, disc, CD, etc.)

    - references to software documentationreferences to software documentationSource: ANSI/IEEE Std 829-1998, Test Documentation

  • 7/28/2019 ISTQB Chapter2

    25/88

    Test Plan 2

    4 Features to be tested

    - identify test design specification / techniquesidentify test design specification / techniques

    5 Features not to be tested

    - reasons for exclusionreasons for exclusion

  • 7/28/2019 ISTQB Chapter2

    26/88

    Test Plan 3

    6 Approach- activities, techniques and toolsactivities, techniques and tools

    - detailed enough to estimatedetailed enough to estimate

    - specify degree of comprehensiveness (e.g.specify degree of comprehensiveness (e.g.

    coverage) and other completion criteria (e.g. faults)coverage) and other completion criteria (e.g. faults)

    - identify constraints (environment, staff, deadlines)identify constraints (environment, staff, deadlines)

    7 Item Pass/Fail Criteria

    8 Suspension criteria and resumption criteria- for all or parts of testing activitiesfor all or parts of testing activities

    - which activities must be repeated on resumptionwhich activities must be repeated on resumption

  • 7/28/2019 ISTQB Chapter2

    27/88

    Test Plan 4

    9 Test Deliverables

    - Test planTest plan

    - Test design specificationTest design specification

    - Test case specificationTest case specification

    - Test procedure specificationTest procedure specification

    - Test item transmittal reportsTest item transmittal reports

    - Test logsTest logs- Test incident reportsTest incident reports

    - Test summary reportsTest summary reports

  • 7/28/2019 ISTQB Chapter2

    28/88

    Test Plan 5

    10 Testing tasks

    - including inter-task dependencies & special skillsincluding inter-task dependencies & special skills

    11 Environment

    - physical, hardware, software, toolsphysical, hardware, software, tools

    - mode of usage, security, office spacemode of usage, security, office space

    12 Responsibilities

    - to manage, design, prepare, execute, witness, check,to manage, design, prepare, execute, witness, check,resolve issues, providing environment, providingresolve issues, providing environment, providing

    the software to testthe software to test

  • 7/28/2019 ISTQB Chapter2

    29/88

    Test Plan 6

    13 Staffing and Training Needs 14 Schedule

    - test milestones in project scheduletest milestones in project schedule

    - item transmittal milestonesitem transmittal milestones

    - additional test milestones (environment ready)additional test milestones (environment ready)

    - what resources are needed whenwhat resources are needed when

    15 Risks and Contingencies

    - contingency plan for each identified riskcontingency plan for each identified risk 16 Approvals

    - names and when approvednames and when approved

    Lifecycle

  • 7/28/2019 ISTQB Chapter2

    30/88

    Contents

    Models for testing, economics of testing

    High level test planning

    Component Testing

    Integration testing in the small

    System testing (non-functional and functional)

    Integration testing in the largeAcceptance testing

    Maintenance testing

    y

    1 2 3

    4 5 6

    ISTQB / ISEB Foundation Exam Practice

  • 7/28/2019 ISTQB Chapter2

    31/88

    Component testing

    lowest level

    tested in isolation

    most thorough look at detail

    - error handlingerror handling

    - interfacesinterfaces

    usually done by programmer

    also known as unit, module, program testing

  • 7/28/2019 ISTQB Chapter2

    32/88

    Component test strategy 1

    specify test design techniques and rationale

    - from Section 3 of the standard*from Section 3 of the standard*

    specify criteria for test completion and

    rationale- from Section 4 of the standardfrom Section 4 of the standard

    document the degree of independence for test

    design

    - component author, another person, from differentcomponent author, another person, from different

    section, from different organisation, non-humansection, from different organisation, non-human

    *Source: BS 7925-2, Software Component Testing Standard

  • 7/28/2019 ISTQB Chapter2

    33/88

    Component test strategy 2

    component integration and environment

    - isolation, top-down, bottom-up, or mixtureisolation, top-down, bottom-up, or mixture

    - hardware and softwarehardware and software

    document test process and activities- including inputs and outputs of each activityincluding inputs and outputs of each activity

    affected activities are repeated after any fault

    fixes or changes

    project component test plan

    - dependencies between component testsdependencies between component tests

  • 7/28/2019 ISTQB Chapter2

    34/88

    Component

    Test DocumentHierarchy

    ComponentTest Strategy

    ProjectComponentTest Plan

    ComponentTest

    Specification

    ComponentTest Plan

    Component

    Test Report

    Source: BS 7925-2,

    Software Component

    Testing Standard,

    Annex A

  • 7/28/2019 ISTQB Chapter2

    35/88

    Component test process

    Checking for

    Component

    Test Completion

    Component

    Test Planning

    Component

    Test Specification

    Component

    Test Execution

    Component

    Test Recording

    BEGIN

    END

  • 7/28/2019 ISTQB Chapter2

    36/88

    Component test process

    Component

    Test Planning

    Component

    Test Specification

    Component

    Test Execution

    Component

    Test Recording

    Checking for

    Component

    Test Completion

    BEGIN

    END

    Component test planning

    - how the test strategy andproject test plan apply to

    the component under test

    - any exceptions to the strategy

    - all software the component

    will interact with (e.g. stubs

    and drivers

  • 7/28/2019 ISTQB Chapter2

    37/88

    Component test process

    Component

    Test Planning

    Component

    Test Specification

    Component

    Test Execution

    Component

    Test Recording

    Checking for

    Component

    Test Completion

    BEGIN

    END

    Component test specification

    - test cases are designed

    using the test case design

    techniques specified in the

    test plan (Section 3)

    - Test case:

    objective

    initial state of component

    inputexpected outcome

    - test cases should be

    repeatable

  • 7/28/2019 ISTQB Chapter2

    38/88

    Component test process

    Component

    Test Planning

    Component

    Test Specification

    Component

    Test Execution

    Component

    Test Recording

    Checking for

    Component

    Test Completion

    BEGIN

    END

    Component test execution- each test case is executed

    - standard does not specify

    whether executed manually

    or using a test execution

    tool

  • 7/28/2019 ISTQB Chapter2

    39/88

    Component test process

    Component

    Test Planning

    Component

    Test Specification

    Component

    Test Execution

    Component

    Test Recording

    Checking for

    Component

    Test Completion

    BEGIN

    END

    Component test recording

    - identities & versions ofcomponent, test specification

    - actual outcome recorded &

    compared to expected outcome

    - discrepancies logged

    - repeat test activities to establishremoval of the discrepancy

    (fault in test or verify fix)

    - record coverage levels achieved

    for test completion criteria

    specified in test plan

    Sufficient to show test

    activities carried out

  • 7/28/2019 ISTQB Chapter2

    40/88

    Component test process

    Component

    Test Planning

    Component

    Test Specification

    Component

    Test Execution

    Component

    Test Recording

    Checking for

    Component

    Test Completion

    BEGIN

    END

    Checking for component

    test completion

    - check test records against

    specified test completion

    criteria

    - if not met, repeat test

    activities

    - may need to repeat test

    specification to design testcases to meet completion

    criteria (e.g. white box)

    Also a measurement

  • 7/28/2019 ISTQB Chapter2

    41/88

    Test design techniques

    Black box

    - Equivalence partitioningEquivalence partitioning

    - Boundary value analysisBoundary value analysis

    - State transition testingState transition testing

    - Cause-effect graphingCause-effect graphing

    - Syntax testingSyntax testing

    - Random testingRandom testing

    How to specify other

    techniques

    White box

    - Statement testingStatement testing

    - Branch / Decision testingBranch / Decision testing

    - Data flow testingData flow testing

    - Branch condition testingBranch condition testing

    - Branch conditionBranch condition

    combination testingcombination testing

    - Modified conditionModified condition

    decision testingdecision testing

    - LCSAJ testingLCSAJ testing

    = Yes

    = No

    technique?

    Lifecycle

  • 7/28/2019 ISTQB Chapter2

    42/88

    Contents

    Models for testing, economics of testing

    High level test planning

    Component Testing

    Integration testing in the small

    System testing (non-functional and functional)

    Integration testing in the largeAcceptance testing

    Maintenance testing

    1 2 3

    4 5 6

    ISTQB / ISEB Foundation Exam Practice

    Integration testing

  • 7/28/2019 ISTQB Chapter2

    43/88

    Integration testing

    in the small

    more than one (tested) component

    communication between components

    what the set can perform that is not possible

    individually non-functional aspects if possible

    integration strategy: big-bang vs incremental

    (top-down, bottom-up, functional)

    done by designers, analysts, or

    independent testers

    Bi B I t ti

  • 7/28/2019 ISTQB Chapter2

    44/88

    Big-Bang Integration

    In theory:

    - if we have already tested components why not justif we have already tested components why not just

    combine them all at once? Wouldnt this save time?combine them all at once? Wouldnt this save time?

    - (based on false assumption of no faults)(based on false assumption of no faults) In practice:

    - takes longer to locate and fix faultstakes longer to locate and fix faults

    - re-testing after fixes more extensivere-testing after fixes more extensive

    - end result? takes more timeend result? takes more time

    I t l I t ti

  • 7/28/2019 ISTQB Chapter2

    45/88

    Incremental Integration

    Baseline 0: tested component

    Baseline 1: two components

    Baseline 2: three components, etc.

    Advantages:- easier fault location and fixeasier fault location and fix

    - easier recovery from disaster / problemseasier recovery from disaster / problems

    -interfaces should have been tested in componentinterfaces should have been tested in component

    tests, but ..tests, but ..

    - add to tested baselineadd to tested baseline

    T D I t ti

  • 7/28/2019 ISTQB Chapter2

    46/88

    Baselines:- baseline 0: component abaseline 0: component a- baseline 1: a + bbaseline 1: a + b- baseline 2: a + b + cbaseline 2: a + b + c

    - baseline 3: a + b + c + dbaseline 3: a + b + c + d- etc.etc.

    Need to call to lower

    level components not

    yet integrated

    Stubs: simulate missing

    components

    Top-Down Integration

    a

    b c

    d e f g

    h i j k l m

    n o

    a

    b c

    d e f g

    h i j

    St b

  • 7/28/2019 ISTQB Chapter2

    47/88

    Stubs

    Stub (Baan: dummy sessions) replaces a called

    component for integration testing

    Keep it Simple

    - print/display name (I have been called)print/display name (I have been called)- reply to calling module (single value)reply to calling module (single value)

    - computed reply (variety of values)computed reply (variety of values)

    - prompt for reply from testerprompt for reply from tester

    - search list of repliessearch list of replies

    - provide timing delayprovide timing delay

    P & f t d h

  • 7/28/2019 ISTQB Chapter2

    48/88

    Pros & cons of top-down approach

    Advantages:

    - critical control structure tested first and most oftencritical control structure tested first and most often

    - can demonstrate system early (show workingcan demonstrate system early (show working

    menus)menus) Disadvantages:

    - needs stubsneeds stubs

    - detail left until lastdetail left until last

    - may be difficult to "see" detailed output (but shouldmay be difficult to "see" detailed output (but should

    have been tested in component test)have been tested in component test)

    - may look more finished than it ismay look more finished than it is

    Bottom up Integration

  • 7/28/2019 ISTQB Chapter2

    49/88

    a

    b c

    e f g

    k l m

    d

    i

    n o

    h j

    Baselines:- baseline 0: component nbaseline 0: component n- baseline 1: n + ibaseline 1: n + i- baseline 2: n + i + obaseline 2: n + i + o

    - baseline 3: n + i + o + dbaseline 3: n + i + o + d- etc.etc.

    Needs drivers to call

    the baseline configuration

    Also needs stubs

    for some baselines

    Bottom-up Integration

    b

    d

    i

    n o

    h j

    Drivers

  • 7/28/2019 ISTQB Chapter2

    50/88

    Drivers

    Driver(Baan: dummy sessions): test harness:

    scaffolding

    specially written or general purpose

    (commercial tools)

    - invoke baselineinvoke baseline

    - send any data baseline expectssend any data baseline expects

    - receive any data baseline produces (print)receive any data baseline produces (print)

    each baseline has different requirements fromthe test driving software

    Pros & cons of bottom up approach

  • 7/28/2019 ISTQB Chapter2

    51/88

    Pros & cons of bottom-up approach

    Advantages:- lowest levels tested first and most thoroughly (butlowest levels tested first and most thoroughly (but

    should have been tested in unit testing)should have been tested in unit testing)

    - good for testing interfaces to external environmentgood for testing interfaces to external environment

    (hardware, network)(hardware, network)- visibility of detailvisibility of detail

    Disadvantages

    -no working system until last baselineno working system until last baseline

    - needs both drivers and stubsneeds both drivers and stubs

    - major control problems found lastmajor control problems found last

    Minimum Capability Integration

  • 7/28/2019 ISTQB Chapter2

    52/88

    Baselines:- baseline 0: component abaseline 0: component a- baseline 1: a + bbaseline 1: a + b- baseline 2: a + b + dbaseline 2: a + b + d

    - baseline 3: a + b + d + ibaseline 3: a + b + d + i- etc.etc.

    Needs stubs

    Shouldn't need drivers(if top-down)

    Minimum Capability Integration

    (also called Functional)

    f g

    k l m

    a

    b

    d

    i

    c

    e

    n o

    h j

    a

    b

    d

    i

    c

    e

    n o

    h j

    Pros & cons of Minimum Capability

  • 7/28/2019 ISTQB Chapter2

    53/88

    Pros & cons of Minimum Capability

    Advantages:

    - control level tested first and most oftencontrol level tested first and most often

    - visibility of detailvisibility of detail

    - real working partial system earliestreal working partial system earliest Disadvantages

    - needs stubsneeds stubs

    Thread Integration

  • 7/28/2019 ISTQB Chapter2

    54/88

    k l mih j

    b c

    a

    f gd e

    n o

    (also called functional)

    order of processing some eventdetermines integration order

    interrupt, user transaction

    minimum capability in time

    advantages:

    - critical processing firstcritical processing first

    - early warning ofearly warning of

    performance problemsperformance problems

    disadvantages:

    - may need complex drivers and stubsmay need complex drivers and stubs

    b c

    k l mih j

    f gd e

    Integration Guidelines

  • 7/28/2019 ISTQB Chapter2

    55/88

    Integration Guidelines

    minimise support software needed

    integrate each component only once

    each baseline should produce an easily

    verifiable result integrate small numbers of components at

    once

    - one at a time for critical or fault-prone componentsone at a time for critical or fault-prone components

    - combine simple related componentscombine simple related components

  • 7/28/2019 ISTQB Chapter2

    56/88

    Lifecycle

    1 2 3 ISTQB / ISEB Foundation Exam Practice

  • 7/28/2019 ISTQB Chapter2

    57/88

    Contents

    Models for testing, economics of testing

    High level test planning

    Component Testing

    Integration testing in the small

    System testing (non-functional and functional)

    Integration testing in the large

    Acceptance testing

    Maintenance testing

    1 2 3

    4 5 6

    ISTQB / ISEB Foundation Exam Practice

    System testing

  • 7/28/2019 ISTQB Chapter2

    58/88

    System testing

    last integration step functional

    - functional requirements and requirements-basedfunctional requirements and requirements-based

    testingtesting

    - business process-based testingbusiness process-based testing

    non-functional

    - as important as functional requirementsas important as functional requirements

    - often poorly specifiedoften poorly specified- must be testedmust be tested

    often done by independent test group

    Functional system testing

  • 7/28/2019 ISTQB Chapter2

    59/88

    Functional system testing

    Functional requirements

    - a requirement that specifies a function that a systema requirement that specifies a function that a system

    or system component must perform (ANSI/IEEEor system component must perform (ANSI/IEEE

    Std 729-1983, Software Engineering Terminology)Std 729-1983, Software Engineering Terminology)

    Functional specification

    - the document that describes in detail thethe document that describes in detail the

    characteristics of the product with regard to itscharacteristics of the product with regard to its

    intended capability (BS 4778 Part 2, BS 7925-1)intended capability (BS 4778 Part 2, BS 7925-1)

    Requirements-based testing

  • 7/28/2019 ISTQB Chapter2

    60/88

    Requirements based testing

    Uses specification of requirements as thebasis for identifying tests

    - table of contents of the requirements spec providestable of contents of the requirements spec provides

    an initial test inventory of test conditionsan initial test inventory of test conditions

    - for each section / paragraph / topic / functional area,for each section / paragraph / topic / functional area,

    risk analysis to identify most important / criticalrisk analysis to identify most important / critical

    decide how deeply to test each functional areadecide how deeply to test each functional area

    Business process-based testing

  • 7/28/2019 ISTQB Chapter2

    61/88

    Business process based testing

    Expected user profiles- what will be used most often?what will be used most often?

    - what is critical to the business?what is critical to the business?

    Business scenarios

    - typical business transactions (birth to death)typical business transactions (birth to death)

    Use cases

    - prepared cases based on real situationsprepared cases based on real situations

    Non-functional system testing

  • 7/28/2019 ISTQB Chapter2

    62/88

    Non functional system testing

    different types of non-functional system tests:

    - usabilityusability - configuration / installation- configuration / installation

    - securitysecurity - reliability / qualities- reliability / qualities

    - documentationdocumentation - back-up / recovery- back-up / recovery- storagestorage - performance, load, stress- performance, load, stress

    - volumevolume

    Performance Tests

  • 7/28/2019 ISTQB Chapter2

    63/88

    Timing Tests

    - response and service timesresponse and service times

    - database back-up timesdatabase back-up times

    Capacity & Volume Tests

    - maximum amount or processing ratemaximum amount or processing rate

    - number of records on the systemnumber of records on the system

    - graceful degradationgraceful degradation

    Endurance Tests (24-hr operation?)- robustness of the systemrobustness of the system

    - memory allocationmemory allocation

    Multi-User Tests

  • 7/28/2019 ISTQB Chapter2

    64/88

    Concurrency Tests

    - small numbers, large benefitssmall numbers, large benefits

    - detect record locking problemsdetect record locking problems

    Load Tests

    - the measurement of system behaviour underthe measurement of system behaviour under

    realistic multi-user loadrealistic multi-user load

    Stress Tests

    - go beyond limits for the system - know what willgo beyond limits for the system - know what willhappenhappen

    - particular relevance for e-commerceparticular relevance for e-commerceSource: Sue Atkins, Magic Performance Managemen

    Usability Tests

  • 7/28/2019 ISTQB Chapter2

    65/88

    Who should design / perform these tests?

    y

    messages tailored and meaningful to (real)users?

    coherent and consistent interface?

    sufficient redundancy of critical information? within the "human envelope"? (72 choices)

    feedback (wait messages)?

    clear mappings (how to escape)?

    Security Tests

  • 7/28/2019 ISTQB Chapter2

    66/88

    y

    passwords encryption

    hardware permission devices

    levels of access to information authorisation

    covert channels

    physical security

    Configuration and Installation

  • 7/28/2019 ISTQB Chapter2

    67/88

    g

    Configuration Tests

    - different hardware or software environmentdifferent hardware or software environment

    - configuration of the system itselfconfiguration of the system itself

    - upgrade paths - may conflictupgrade paths - may conflict Installation Tests

    - distribution (CD, network, etc.) and timingsdistribution (CD, network, etc.) and timings

    - physical aspects: electromagnetic fields, heat,physical aspects: electromagnetic fields, heat,

    humidity, motion, chemicals, power supplieshumidity, motion, chemicals, power supplies

    - uninstall (removing installation)uninstall (removing installation)

    Reliability / Qualities

  • 7/28/2019 ISTQB Chapter2

    68/88

    y

    Reliability

    - "system will be reliable" - how to test this?"system will be reliable" - how to test this?

    - "2 failures per year over ten years""2 failures per year over ten years"

    - Mean Time Between Failures (MTBF)Mean Time Between Failures (MTBF)- reliability growth modelsreliability growth models

    Other Qualities

    - maintainability, portability, adaptability, etc.maintainability, portability, adaptability, etc.

    Back-up and Recovery

  • 7/28/2019 ISTQB Chapter2

    69/88

    Back-ups

    - computer functionscomputer functions

    - manual procedures (where are tapes stored)manual procedures (where are tapes stored)

    Recovery- real test of back-upreal test of back-up

    - manual procedures unfamiliarmanual procedures unfamiliar

    - should be regularly rehearsedshould be regularly rehearsed

    - documentation should be detailed, clear anddocumentation should be detailed, clear and

    thoroughthorough

    Documentation Testing

  • 7/28/2019 ISTQB Chapter2

    70/88

    Documentation review

    - check for accuracy against other documentscheck for accuracy against other documents

    - gain consensus about contentgain consensus about content

    - documentation exists, in right formatdocumentation exists, in right format Documentation tests

    - is it usable? does it work?is it usable? does it work?

    - user manualuser manual

    - maintenance documentationmaintenance documentation

    Lifecycle

    1 2 3 ISTQB / ISEB Foundation Exam Practice

  • 7/28/2019 ISTQB Chapter2

    71/88

    ContentsModels for testing, economics of testing

    High level test planning

    Component Testing

    Integration testing in the small

    System testing (non-functional and functional)

    Integration testing in the large

    Acceptance testing

    Maintenance testing

    4 5 6

    Integration testing in the large

  • 7/28/2019 ISTQB Chapter2

    72/88

    Tests the completed system working inconjunction with other systems, e.g.

    - LAN / WAN, communications middlewareLAN / WAN, communications middleware

    - other internal systems (billing, stock, personnel,other internal systems (billing, stock, personnel,

    overnight batch, branch offices, other countries)overnight batch, branch offices, other countries)

    - external systems (stock exchange, news, suppliers)external systems (stock exchange, news, suppliers)

    - intranet, internet / wwwintranet, internet / www

    - 3rd party packages3rd party packages- electronic data interchange (EDI)electronic data interchange (EDI)

    Approach

  • 7/28/2019 ISTQB Chapter2

    73/88

    Identify risks- which areas missing or malfunctioning would bewhich areas missing or malfunctioning would be

    most critical - test them firstmost critical - test them first

    Divide and conquer

    - test the outside first (at the interface to your system,test the outside first (at the interface to your system,

    e.g. test a package on its own)e.g. test a package on its own)

    - test the connections one at a time firsttest the connections one at a time first

    (your system and one other)(your system and one other)- combine incrementally - safer than big bangcombine incrementally - safer than big bang

    (non-incremental)(non-incremental)

  • 7/28/2019 ISTQB Chapter2

    74/88

    Lifecycle

    1 2 3 ISTQB / ISEB Foundation Exam Practice

  • 7/28/2019 ISTQB Chapter2

    75/88

    ContentsModels for testing, economics of testing

    High level test planning

    Component Testing

    Integration testing in the small

    System testing (non-functional and functional)

    Integration testing in the large

    Acceptance testing

    Maintenance testing

    4 5 6

    User acceptance testing

  • 7/28/2019 ISTQB Chapter2

    76/88

    Final stage of validation- customer (user) should perform or be closelycustomer (user) should perform or be closely

    involvedinvolved

    - customer can perform any test they wish, usuallycustomer can perform any test they wish, usually

    based on their business processesbased on their business processes

    - final user sign-offfinal user sign-off

    Approach

    - mixture of scripted and unscripted testingmixture of scripted and unscripted testing- Model Office concept sometimes usedModel Office concept sometimes used

    Why customer / user involvement

  • 7/28/2019 ISTQB Chapter2

    77/88

    Users know:- what really happens in business situationswhat really happens in business situations

    - complexity of business relationshipscomplexity of business relationships

    - how users would do their work using the systemhow users would do their work using the system- variants to standard tasks (e.g. country-specific)variants to standard tasks (e.g. country-specific)

    - examples of real casesexamples of real cases

    - how to identify sensible work-aroundshow to identify sensible work-arounds

    Benefit: detailed understanding of the new systemBenefit: detailed understanding of the new system

    User Acceptance testing

  • 7/28/2019 ISTQB Chapter2

    78/88

    20% of functionby 80% of code

    80% of function

    by 20% of code

    System testing

    distributed overthis line

    Acceptance testing

    distributed overthis line

    Contract acceptance testing

  • 7/28/2019 ISTQB Chapter2

    79/88

    Contract to supply a software system- agreed at contract definition stageagreed at contract definition stage

    - acceptance criteria defined and agreedacceptance criteria defined and agreed

    - may not have kept up to date with changesmay not have kept up to date with changes Contract acceptance testing is against the

    contract and any documented agreed changes

    - not what the users wish they had asked for!not what the users wish they had asked for!

    - this system, not wish systemthis system, not wish system

    Alpha and Beta tests: similarities

  • 7/28/2019 ISTQB Chapter2

    80/88

    Testing by [potential] customers orrepresentatives of your market

    - not suitable for bespoke softwarenot suitable for bespoke software

    When software is stable

    Use the product in a realistic way in its

    operational environment

    Give comments back on the product

    - faults foundfaults found- how the product meets their expectationshow the product meets their expectations

    - improvement / enhancement suggestions?improvement / enhancement suggestions?

    Alpha and Beta tests: differences

  • 7/28/2019 ISTQB Chapter2

    81/88

    Alpha testing- simulated or actual operational testing at an in-simulated or actual operational testing at an in-

    house site not otherwise involved with the softwarehouse site not otherwise involved with the software

    developers (i.e. developers site)developers (i.e. developers site)

    Beta testing

    operational testing at a site not otherwise involved

    with the software developers (i.e. testers site,

    their own location)

    Acceptance testing motto

  • 7/28/2019 ISTQB Chapter2

    82/88

    If you don't have patience to test the system

    the system will surely test your patience

    If you don't have patience to test the system

    the system will surely test your patience

    Lifecycle

    1 2 3

    4 5 6

    ISTQB / ISEB Foundation Exam Practice

  • 7/28/2019 ISTQB Chapter2

    83/88

    ContentsModels for testing, economics of testing

    High level test planning

    Component TestingIntegration testing in the small

    System testing (non-functional and functional)

    Integration testing in the large

    Acceptance testing

    Maintenance testing

    4 5 6

    Maintenance testing

  • 7/28/2019 ISTQB Chapter2

    84/88

    Testing to preserve quality:- different sequencedifferent sequence

    development testing executed bottom-updevelopment testing executed bottom-up

    maintenance testing executed top-downmaintenance testing executed top-down

    different test data (live profile)different test data (live profile)

    - breadth tests to establish overall confidencebreadth tests to establish overall confidence

    - depth tests to investigate changes and critical areasdepth tests to investigate changes and critical areas

    - predominantly regression testingpredominantly regression testing

    What to test in maintenance testing

  • 7/28/2019 ISTQB Chapter2

    85/88

    Test any new or changed code Impact analysis

    - what could this change have an impact on?what could this change have an impact on?

    -how important is a fault in the impacted area?how important is a fault in the impacted area?

    - test what has been affected, but how much?test what has been affected, but how much?

    most important affected areas?most important affected areas?

    areas most likely to be affected?areas most likely to be affected?

    whole system?whole system? The answer: It depends

    Poor or missing specifications

  • 7/28/2019 ISTQB Chapter2

    86/88

    Consider what the system should do- talk with userstalk with users

    Document your assumptions

    -ensure other people have the opportunity to reviewensure other people have the opportunity to reviewthemthem

    Improve the current situation

    - document what you do know and find outdocument what you do know and find out

    Track cost of working with poor specifications- to make business case for better specificationsto make business case for better specifications

    What should the system do?

  • 7/28/2019 ISTQB Chapter2

    87/88

    Alternatives- the way the system works now must be right (exceptthe way the system works now must be right (except

    for the specific change) - use existing system as thefor the specific change) - use existing system as the

    baseline for regression testsbaseline for regression tests

    - look in user manuals or guides (if they exist)look in user manuals or guides (if they exist)

    - ask the experts - the current usersask the experts - the current users

    Without a specification, you cannot really test,

    only explore. You can validate, but not verify.

    Lifecycle

    1 2 3

    4 5 6

    ISTQB / ISEB Foundation Exam Practice

  • 7/28/2019 ISTQB Chapter2

    88/88

    Summary: Key PointsV-model shows test levels, early test design

    High level test planning

    Component testing using the standardIntegration testing in the small: strategies

    System testing (non-functional and functional)

    Integration testing in the large

    Acceptance testing: user responsibility

    Maintenance testing to preserve quality

    4 5 6