Test Design Techniques Luxoft

download Test Design Techniques Luxoft

of 57

Transcript of Test Design Techniques Luxoft

  • -

  • 2

    :

    .

  • 3

    :

    (review):

    (informal review)

    (walkthrough)

    (technical review)

    (inspection)

    (static analysis):

    [] (data [flow] analysis)

    (control flow analysis)

    /

  • 4

    :

    (IDE)

    (W3C HTML/CSS validator, FindBugs)

  • 5

    : (structure-

    based):

    (statement coverage) (decision coverage) (condition coverage)

    (experience-based):

    (ad hoc testing) (error guessing)

    (exploratory testing)

  • 6

    :

    (specification-based):

    (equivalence partitioning)

    (boundary value analysis)

    (decision tables)

    (state transition)

    (use-case testing)

  • 7

    []

    Use-case

  • 8

    White-box

  • 9

    Black-box : SC = 60%-70%

    SC = 100% - (statement) -

    %100Total

    Exercised

    S

    SSC

  • 10

    Read P

    Read Q

    If P+Q>100 Then

    Print P>Q

    End If

    If P>50 Then

    Print P>50

    End If

    TC1:

    P = 60

    Q = 60

    1:

  • 11

    Read X

    Read Y

    If X=3 Then

    Print Message X

    If Y=2 then

    Print Message Y

    Else Print Message Z

    End If

    Else Print Message Z

    End If

    TC1:

    X = 3

    Y = 2

    TC2:

    X = 3

    Y 2

    TC3:

    X 3

    Y =

    2:

  • 12

    Decision statements: IF, Case, Do-While, Repeat-Until, etc.

    Black-box : DC = 40%-60%

    DC = 100% - -

    DC = 100% SC = 100%

    %100Total

    Exercised

    D

    DDC

  • 13

    Read P

    Read Q

    If P+Q>100 Then

    Print P+Q>100

    End If

    If P>50 Then

    Print P>50

    End If

    TC1:

    P = 60

    Q = 60

    TC2:

    P = 10

    Q = 15

    3:

  • 14

    Read X

    Read Y

    If X=3 Then

    Print Message X

    If Y=2 then

    Print Message Y

    Else Print Message Z

    End If

    Else Print Message Z

    End If

    TC1:

    X = 3

    Y = 2

    TC2:

    X = 3

    Y 2

    TC3:

    X 3

    Y =

    4:

  • 15

    Tea/

    Coffee

    Prepare tea

    Sugar Add sugar

    Give drink

    Prepare

    coffee

    Milk Add milk

    Sugar Add sugar

    Tea Coffee

    Y

    N

    Y

    N

    N

    Y

    :

    TC1: Tea, Sugar

    TC2: Coffee, Milk, Sugar

    :

    TC3: Tea, Sugar

    TC4: Coffee, M ilk, Sugar

    5:

  • 16

    Condition coverage

    Condition/decision coverage CC+DC

    Modified condition/decision coverage CC+DC +

    Multiple condition coverage

  • 17

    If A or B Then

    Print Message Z

    End If

    SC: TF

    DC: TF, FF

    CC: TF, FT (TT,FF)

    CDC: TT, FF

    Modified CDC: TF, FT, FF

    Multiple CC: TT, TF, FT, FF

    6:

  • 18

    If (A or B) and C Then

    Print Message Z

    End If

    SC: TTT

    DC: TTT, TTF

    CC: TFT, FTF (TTT, FFF)

    CDC: TTT, FFF

    Modified CDC:

    A: FFT / TFT

    B: FFT / FTT

    C: TTF / TFT(FTT)

    All: FFT, TFT, FTT, TTF

    Multiple CC: FFF, FFT, FTF, FTT,

    TFF, TFT, TTF, TTT

    7:

  • 19

    Black-box

  • 20

    , .

    ,

    (

    [] ,

    [] )

  • 21

    , :

    100 . : 0%

    100 . 1000 . : - 7%

    1000 . : - 10%

    7:

  • 22

    (valid) (invalid)

    1) 1 N < 100

    2) 100 N < 999

    3) 1000 N

    1) N = 0

    2) N -1

    3) Null

    4)

    5) 123.4567

    6) Max < N

    7:

  • 23

    : / (-, +, 0, 199999,0.123456) (symbol, , SML, !@#$%^) ( , , multi-select) (.bmp, .jpg, .png) (Null, 200, ) (Null, 4+Gb) (/ ) (640x480, 1920x1080, 2560x1440) , (Mac OS/Win/Linux, DX9/10/11) (Firefox, Safari, Chrome, IE6/7/8, Opera)

  • 24

    ():

    -

  • 25

    ,

    .

  • 26

    (brute force)

    TC FW MW MC D

    1 L Y Y Up

    2 U Y Y Up

    3 M Y Y Up

    4 L N Y Up

    5 U N Y Up

    6 M N Y Up

    24 M N N Down

    :

    1) Find what (FW)

    2) Match whole word (MW)

    3) Match case (MC)

    4) Direction (D)

    :

    FW = {lower, UPPER, MiXeD}

    MW = {Yes, No}

    MC = {Yes, No}

    D = {Up, Down}

    3x2x2x2 = 24

    TC FW MW MC D

    1 L Y N Up

    2 U N Y Down

    3 M Y Y Up

    8:

  • 27

    :

    1) Find what (FW)

    2) Match whole word (MW)

    3) Match case (MC)

    4) Direction (D)

    :

    FW = {lower, UPPER, MiXeD}

    MW = {Yes, No}

    MC = {Yes, No}

    D = {Up, Down}

    3x2x2x2 = 24

    (pairwise testing)

    TC FW MW MC D

    1 L Y N Down

    2 L N Y Up

    3 M Y Y Up

    4 M N N Down

    5 U Y N Down

    6 U N Y Up

    8:

  • 28

    1.

    (B)

    (R)

    (T)

    (L)

    2.

    B = {IE, FF, Safari, Chrome}

    R = {800x600, 1280x1024, 1920x1080}

    T = {Theme1, Theme2, Theme3}

    L = {EN, RU, UA}

    3.

    =

    =

    - =

  • 29

    B R

    IE 800x600

    IE 1280x1024

    IE 1920x1080

    FF 800x600

    FF 1280x1024

    FF 1920x1080

    Safari 800x600

    Safari 1280x1024

    Safari 1920x1080

    Chrome 800x600

    Chrome 1280x1024

    Chrome 1920x1080

    B R T

    IE 800x600 Theme1

    IE 1280x1024 Theme2

    IE 1920x1080 Theme3

    FF 800x600 Theme2

    FF 1280x1024 Theme3

    FF 1920x1080 Theme1

    Safari 800x600 Theme3

    Safari 1280x1024 Theme1

    Safari 1920x1080 Theme2

    Chrome 800x600 Theme1

    Chrome 1280x1024 Theme2

    Chrome 1920x1080 Theme3

    B R T L

    IE 800x600 Theme1 EN

    IE 1280x1024 Theme2 RU

    IE 1920x1080 Theme3 UA

    FF 800x600 Theme2 UA

    FF 1280x1024 Theme3 EN

    FF 1920x1080 Theme1 RU

    Safari 800x600 Theme3 RU

    Safari 1280x1024 Theme1 UA

    Safari 1920x1080 Theme2 EN

    Chrome 800x600 Theme1 EN

    Chrome 1280x1024 Theme2 RU

    Chrome 1920x1080 Theme3 UA

  • 30

    :

    (100 N < 999)

    (1000 N)

    :

    ,

    , ,

  • 31

    , :

    100 $1000 () : +3%

    $1000 $10 000 : +5%

    $10 000 : +7%

    9:

  • 32

    0% $99.99, $0 -$0.01

    +3% $100.00, $100.01, $999.99, $1000.00

    +5% $1000.01, $9 999.99

    +7% $10 000, 10 000.01, $Max $Max + $0.01

    +3% +5% +7% 100 1000 10 000

    99.99 100.01 999.99 1000.01 9 999.99 10 000.01 Max

    10:

    0%

  • 33

    ():

    -

    -

    ,

  • 34

    (decision tables/

    cause-effect tables) :

    -

  • 35

    :

    (rules)

    1 2 3 4 5 6 7 8

    (conditions)

    1 T T T T F F F F

    2 T T F F T T F F

    3 T F T F T F T F

    (actions)

    1 X X X

    2 X X

    3 X X X

    4 X X X X

    (expected results)

    -

    (rules)

    1 2 3 4 5 6 7 8

    1 T,F T T T T F F F F

    2 T,F T T F F T T F F

    3 T,F T F T F T F T F

    1 X X X

    2 X X

    3 X X X

    4 X X X X

  • 36

    :

    1) /

    2)

    3)

    4)

    5)

  • 37

    : a,b,c

    : (,

    ,, )

    1 ( ):

    1: a,b,c ? {Y,N}

    2: a=b? {Y,N}

    3: a=c? {Y,N}

    4: b=c? {Y,N}

    11:

  • 38

    2 ( ):

    ({Y,N}):

    - = 2-

    ({A, B, C, D}):

    - = VC1* VC2* VC3 * VCn

    N = 24 = 16

    11:

  • 39

    3-4 ( ): 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

    C1: ? Y Y Y Y Y Y Y Y N N N N N N N N

    C2: a=b? Y Y Y Y N N N N Y Y Y Y N N N N

    C3: a=c? Y Y N N Y Y N N Y Y N N Y Y N N

    C4: b=c? Y N Y N Y N Y N Y N Y N Y N Y N

    1 2 3 4 5 6 7 8 9

    C1: ? Y N

    C2: a=b? Y N -

    C3: a=c? Y N Y N -

    C4: b=c? Y N Y N Y N Y N -

    11:

  • 40

    5 ( ): 1 2 3 4 5 6 7 8 9

    C1: ? Y N

    C2: a=b? Y N -

    C3: a=c? Y N Y N -

    C4: b=c? Y N Y N Y N Y N -

    A1: X

    A2: X

    A3: X X X

    A4: X

    A5: X X X

    11:

  • 41

    -

    .

    :

    1) A, B

    2) C

    3) , 5 $500 20%

    12:

  • 42

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

    A,B,C,D A A A A B B B B C C C C D D D D

    5 Y,N Y Y N N Y Y N N Y Y N N Y Y N N

    $500 Y,N Y N Y N Y N Y N Y N Y N Y N Y N

    X X X X X X X X ? ? ? ?

    X X X X ? ? ? ?

    ? X X ? X X ? X X ? ? ? ?

    ? ? ? ?

    D ( )

    ? 5 $500

    12:

  • 43

    (finite state machine)

    ,

    , .

    [IEEE 610]

    ,

    ,

    .

  • 44

    :

    (state-transition diagram)

    (state-transition table)

    :

    ,

    ( )

    ,

    ,

  • 45

    /C

    /

    /

    [ ]/

    13:

  • 46

    -

    /C

    /

    /

    [ ]/

    1

    2

    3

    13:

  • 47

    -

    /C

    /

    /

    [ ]/

    1

    2

    3

    13:

  • 48

    -

    /C

    /

    /

    [ ]/

    1 2 3 4 5

    13:

  • 49

    1-

    2-

    3-

    PIN-

    PIN-

    PIN-

    PIN-

    PIN-

    PIN-

    14:

  • 50

    -:

    PIN PIN

    S1) S2

    S2) 1- S5 S3

    S3) 2- S5 S4

    S4) 3- S5 S6

    S5) ? ?

    S6) S1 ( )

    14:

  • 51

    Use-case

    ,

    .

    (actors) :

  • 52

    Use-case

    :

    ,

    ,

    -

  • 53

    Use-case

    /

    ( )

    / / /

    / / ()

    ,

    /

    /

    ,

    1

    2

    ,

    , ,

    / /

  • 54

    Use-case

    / ATM123

    -

    :

    :

    1. ()

    2. () PIN-

    3. PIN ()

    4. PIN- ()

    2a) ,

    4a) PIN- , PIN

    4b) 3 PIN- ,

    -

    3

  • 55

    Use-case

    -

    -

  • 56

    Kelly J. Hayhurst - "A Practical Tutorial on Modified Condition/Decision Coverage"

    Lee Copeland A Practitioner's Guide to Software Test Design

    Dorothy Graham Foundations of software testing

    IEEE SWEBOK 2004

    IEEE 610

    Google

    Wikipedia

  • 57