Data-based Testing TESTDATA 1 Data-based Testing Data-based Test Cases Environment of a Software...

25
Data-based Testing TEST DATA 1 Data-based Testing Data-based Test Cases Environment of a Software Component Data Flow Analysis Test Data Sets Defining the Input Data Defining the Control Data Random Data Generation Test Data Derivation Progression & Degression Data Generation Boundary Analysis Building Equivalence Classes 2 3 6 7 5 4 8 9 10 13 Inputs/Functions/Outputs Sample Equivalence Classes Sample Boundary Values Cause & Effect Analysis Cause & Effect Graph Sample Cause & Effect Graph Data Usage Types Input/Output Specification Validating System Databases Validating System Outputs Generation of an XML Interface Validation of the XML Interface 14 15 18 19 17 16 20 21 22 11 23 12 24

Transcript of Data-based Testing TESTDATA 1 Data-based Testing Data-based Test Cases Environment of a Software...

Page 1: Data-based Testing TESTDATA 1 Data-based Testing Data-based Test Cases Environment of a Software Component Data Flow Analysis Test Data Sets Defining the.

Data-based Testing

TEST DATA

1 Data-based Testing

Data-based Test Cases

Environment of a Software Component

Data Flow Analysis

Test Data Sets

Defining the Input Data

Defining the Control Data

Random Data Generation

Test Data Derivation

Progression & Degression Data Generation

Boundary Analysis

Building Equivalence Classes

2

3

6

7

5

4

8

9

10

13 Inputs/Functions/Outputs

Sample Equivalence Classes

Sample Boundary Values

Cause & Effect Analysis

Cause & Effect Graph

Sample Cause & Effect Graph

Data Usage Types

Input/Output Specification

Validating System Databases

Validating System Outputs

Generation of an XML Interface

Validation of the XML Interface

14

15

18

19

17

16

20

21

22

11 23

12 24

Page 2: Data-based Testing TESTDATA 1 Data-based Testing Data-based Test Cases Environment of a Software Component Data Flow Analysis Test Data Sets Defining the.

Data-based Testing

TEST DATA-1

ProgramsData Structures

Testing Programs against their Data Structures

Page 3: Data-based Testing TESTDATA 1 Data-based Testing Data-based Test Cases Environment of a Software Component Data Flow Analysis Test Data Sets Defining the.

3. Test

2. Test

Data-based Test Cases

TEST DATA-2

T e s t O b j e c tField-B2Field-B4Field-B5

Field-AEField-A2Field-A3

Field-1Field-2Field-3

1. Test

3. Test

2. Test

Field-B1Field-B2Field-B3

Field-E1Field-E2Field-E3

Instance-1Instance-2Instance-3

1. Test

Input States Output-States

Params

Params

Message_In Message_Out

Rec-B Rec-B

Tab-1 List-1

I n p u t s O u t p u t s

Page 4: Data-based Testing TESTDATA 1 Data-based Testing Data-based Test Cases Environment of a Software Component Data Flow Analysis Test Data Sets Defining the.

Environment of a Software Component

TEST DATA-3

TestObject

Input-params

Output-params

ReturnCodesDB-Retrieves

Module CallsDB-Stores

Global data

Import Files

Global data

Export Files

IncomingMessages

(XML/IDL/etc.)

OutgoingMessages

(XML/IDL/etc.)

Vertical Data Flow

Post-Results

Post-Results

Pre-Arguments

Pre-Arguments

HorizontalData Flow

In Out

I N P U T S O U T P U T S

Page 5: Data-based Testing TESTDATA 1 Data-based Testing Data-based Test Cases Environment of a Software Component Data Flow Analysis Test Data Sets Defining the.

Data Flow Analysis

TEST DATA-4

D1

P 1

D3D2

P 3P 2

D6

P 4

D5D4

a-Flow b-Flow

a1 b1

a2a3

a4

a5

b2b3

b4

b5

Page 6: Data-based Testing TESTDATA 1 Data-based Testing Data-based Test Cases Environment of a Software Component Data Flow Analysis Test Data Sets Defining the.

Defining Test Data Sets

TEST DATA-5

: = Set of actual Results (Outputs)

: = Set of specified Results (Outputs)

: = Set of possible Arguments (Inputs)

: = Set of defined Arguments (Inputs)

S2

S3

S4

X = F (Y)

when X then Y

F is correct

when ^

F is complete

when ^

F is consistent

when ^

S2

S1

S4

XI S2 YI S4

XI S1 YI S3

XI S12 YI S34

Page 7: Data-based Testing TESTDATA 1 Data-based Testing Data-based Test Cases Environment of a Software Component Data Flow Analysis Test Data Sets Defining the.

Defining Input Data

TEST DATA-6

All Data

Input Data = Arguments | Sending Variables

+

+

+

+

+

++

+ +

+

++

+

+

+

+

+

++

+

+

+

++

+

+

+

+

++

+

+

+

++

+

+

+

++

++

+

+

+

+ +

+ +

+

++

+

++

+

++

+

+

+

+

+

++

++

+

+

++

+

+

+

++

+

+

+

+

+

+

+

+

+

+

++

+

+

+

+

++

++

+

X = Y + 4;

ADD Y TO X.

X = SUB (Y);

CALL SUB USING Y, X

Page 8: Data-based Testing TESTDATA 1 Data-based Testing Data-based Test Cases Environment of a Software Component Data Flow Analysis Test Data Sets Defining the.

Defining Control Data

TEST DATA-7

All Data

Input Data

Control Data = Predicates

+

+

++

+

+

+

+

+

+

+

+

+

+

+

+

+

+ +

+

+

++

+ ++

+

+

+

+

+

+

+

+

+

++

+

+

++

+

+

+

+

++

+

++

+

+

IF I > 0

THEN

DO WHILE ( I < N );

Page 9: Data-based Testing TESTDATA 1 Data-based Testing Data-based Test Cases Environment of a Software Component Data Flow Analysis Test Data Sets Defining the.

Random Data Generation

TEST DATA-8

DataType

DefinitionTable

Random-Data Generator Data Storage

BeforeImage

Binary-Fieldsr = -32627, -1, 0, 1, 32627

Packed-Fields = -1000, 0, 1000, 1000000

Hexadecimal-Fields = 40, 00, A2, FF

Character-Fields = ' ', 'XXXXX'

Bit-Fields = 0, 1

Page 10: Data-based Testing TESTDATA 1 Data-based Testing Data-based Test Cases Environment of a Software Component Data Flow Analysis Test Data Sets Defining the.

Test Data Derivation Approaches

TEST DATA-9

X(1-n)

Y(1-n)

X = F (Y)Arguments Results

Output Value DomainsValid Output ValuesInvalid Output Values

Input Value DomainsValid Input Values

Invalid Input Values Function

Equivalence Classes

Representative value set Valid value set Invalid value set

Boundary Analysis

Numeric Value Ranges Upper & Lower Bounds

Cause & Effect Analysis

Events/ Starting States Results/State Transitions

Page 11: Data-based Testing TESTDATA 1 Data-based Testing Data-based Test Cases Environment of a Software Component Data Flow Analysis Test Data Sets Defining the.

Progression & Degression Data Generation

Increasing & Decreasing Intervals

TEST DATA-10

1, 2, 3, 4, 5, 6, 7, 8, 9, etc.

100, 200, 300, 400, 500, 600, 700, 800, 900, etc.

10.5, 15.5, 20.5, 25.5, 30.5 35.5, etc.

0, -1, -2, -3, -4, -5, -6, -7, etc.

0, -100, -200, -300, -400, -500, -600, -700. etc.

50.3, 40.3, 30.3, 20.3, 10.3, 0.3, -0.7, -10.7, etc.

Page 12: Data-based Testing TESTDATA 1 Data-based Testing Data-based Test Cases Environment of a Software Component Data Flow Analysis Test Data Sets Defining the.

Boundary Analysis

TEST DATA-11

V alue

Range

V alue

Range

V alue

Range

-100

+1.000

-32.000

+64.000

0

+50

Lower Boundary

Upper Boundary

Page 13: Data-based Testing TESTDATA 1 Data-based Testing Data-based Test Cases Environment of a Software Component Data Flow Analysis Test Data Sets Defining the.

Building Equivalence Classes

TEST DATA-12

110 120

130

Sub-SubDomain

First SubDomain

Second SubDomain

I N P U T D O M A I N

Representative numeric values for Testing

Lower Bound = 100 Upper Bound = 200

100 : 150 150 : 200

170 200

190 160

180 190140

150

100

< 100 > 200

Page 14: Data-based Testing TESTDATA 1 Data-based Testing Data-based Test Cases Environment of a Software Component Data Flow Analysis Test Data Sets Defining the.

Inputs/Functions/Outputs

TEST DATA-13

Inputs Functions Outputs

Transaction Stock_Entry OrderPosition TransactionType OrderNumber ArticleNumber ArticleNumber StockinAmount OrderAmountArtikel Article ArticlelNumber ArticlesonStock

Articlename ArticleStatus ArticlePrice ArticlesonStock ArticleStatusTransaction Stock_Exit OrderPosition TransactionType OrderNumber ArticleNumber Article StockoutAmount ArticleNumberArticle ArticlesonStock ArticleNumber Protocol ArticleName ArticleNumber ArticlePrice OrderAmount ArticlesonStock ArticlesonStockOrderPosition OrderNumber ArticleNumber StockAmount

Page 15: Data-based Testing TESTDATA 1 Data-based Testing Data-based Test Cases Environment of a Software Component Data Flow Analysis Test Data Sets Defining the.

Sample Equivalence Classes

TEST DATA-14

Input Parameter Valid Values Invalid Values

Transaction TransType ‘IN', ‘OUT‘ NOT E SET (‘IN', ‘OUT') ArticleNumber 101, 150, 177, 182 < 100 OR > 200 StockOutAmount 1, 99, 50 < 1 OR > 99 StockInAmount 1, 99, 500 < 1 OR > 500

Article ArticleNumber E SET ( ArticleNumbers) NOT E SET (ArticleNumbers) ArticleName 'BOOK', ‘DISC', ‘CD' 'NAILS', 'SCREWS', ' ', ArticlePrice 5.00, 48.80, 99.99 < 5.00 OR > 99.99 ArticlesonStock 1, 99, 500 < 0 OR > 500 OrderId ‘Y', 'N' NOT E SET (‘Y', 'N')

Page 16: Data-based Testing TESTDATA 1 Data-based Testing Data-based Test Cases Environment of a Software Component Data Flow Analysis Test Data Sets Defining the.

Sample Boundary Values

TEST DATA-15

Input Parameters Lower Boundary Upper Boundary

Transaction ArticleNumber 99, 100, 101 199, 200, 201 StockinAmount 0, 1, 2 98, 99, 100 StockoutAmount 0, 1, 2 499, 500, 501

Article ArticleNumber 99, 100, 101 199, 200, 201 ArticlePrice 4.99, 5.00, 5.01 99.98, 99.99, 100.00 ArticlesonStock -1, 0, 1 499, 500, 501

Page 17: Data-based Testing TESTDATA 1 Data-based Testing Data-based Test Cases Environment of a Software Component Data Flow Analysis Test Data Sets Defining the.

Cause & Effect Analysis

TEST DATA-16

ba ba

a

b

c

a

b

c

&

a

b

c

a

b

c

Logical Relations between Input & Outputs

IF A THEN B IF NOT A THEN B

IF (A ! B) THEN C IF NOT (A ! B) THEN C

IF (A & B) THEN C IF NOT (A & B) THEN C

x = y =

x =

x =

x =

z =

y =

y =

!

Page 18: Data-based Testing TESTDATA 1 Data-based Testing Data-based Test Cases Environment of a Software Component Data Flow Analysis Test Data Sets Defining the.

Cause & Effect Graphs

TEST DATA-17

1

2

3

4

5

6

7

8

9

31

21

22

X

33

32

34

INPUT

ST

A

T

E

S

OUTPUT

S

T

A

T

E

S

Page 19: Data-based Testing TESTDATA 1 Data-based Testing Data-based Test Cases Environment of a Software Component Data Flow Analysis Test Data Sets Defining the.

Sample Cause & Effect Graph

TEST DATA-18

Order.CustomerNr E SET (CustomerNrs)

Customer is valid Order rejected

Customer is credibleOrderaccepted OrderPosition

rejected

Fulfill Order

Article Amount on Stock is sufficient to fulfill order

Order.Amount < ArticlesonStock

Article on Stock

Cust_Credit > 2

Order.ArticleNr E SET (ArticleNrs)

ArticlesonStock - Order.Amount

Page 20: Data-based Testing TESTDATA 1 Data-based Testing Data-based Test Cases Environment of a Software Component Data Flow Analysis Test Data Sets Defining the.

Data Usage Types

TEST DATA-19

F u n c t i o n

Predicates

Inputs Outputs

Output Driven:

when test cases are derived from predicted Outputs

Input Driven:

when test cases are derived from possible Inputs

Page 21: Data-based Testing TESTDATA 1 Data-based Testing Data-based Test Cases Environment of a Software Component Data Flow Analysis Test Data Sets Defining the.

Input/Output Specification

TEST DATA-20

Transaction Update

Stock-Delivered Stock Inventory Stock Inventory

Stock-Ordered Order-SW

Stock-Inventory

Stock-NR

Inputs Processing Outputs

Order-SW = 1If Stock-NR Valid & Stock-Ordered < = Stock-Inventory

Order-SW = 0If Stock-NR Not Valid | Stock-Ordered > Stock-Inventory

Page 22: Data-based Testing TESTDATA 1 Data-based Testing Data-based Test Cases Environment of a Software Component Data Flow Analysis Test Data Sets Defining the.

Validation of Database Contents

DATA-21

SQL-Query

GUN-System Test

CSV-Files

TabComp

CSV-Files

FileTran

VSAMFiles

GU-System

old

Comparisonprotocol

Fields which map to the Fields of the old Database

GUNSQLDB

Missing Records,Matching Records,Non-matching Fields

TEST

Page 23: Data-based Testing TESTDATA 1 Data-based Testing Data-based Test Cases Environment of a Software Component Data Flow Analysis Test Data Sets Defining the.

Validation of System Outputs

DATA-22

GU-System

old

Reports REPTOXML

XML-Files

XMLComp

XML-Files

Comparisonprotocol

Missing Objects,Matching Objects,Non-matching Results

GU-System Test

TEST

Page 24: Data-based Testing TESTDATA 1 Data-based Testing Data-based Test Cases Environment of a Software Component Data Flow Analysis Test Data Sets Defining the.

Generation of an XML Interface

TEST DATA-23

<?xml version = "1.0" encoding = "ISO-8859-1"?><!DOCTYPE "xm059i" SYSTEM "xm059i.xsd"><xm059i> <XM059-PARAMS> <P1> <P1-TT>12</P1-TT> <P1-MM>10</P1-MM> <P1-CE>19</P1-CE> <P1-JJ>77</P1-JJ> </P1> <P2> <LANG-CODE>1</LANG-CODE> <-- 1 = Deutsch, 2 = Franzoezisch, 3 = Italienisch --> </P2> <P3> <DIRECTION>1</DIRECTION> <-- 1 = Links, 2 = rechts --> </P3> <P4> <DAY-NAME>XXXXXXXXXX</DAY-NAME> </P4> <RETURN-CODE>00</RETURN-CODE> </XM059-PARAMS></xm059i>____________________________________________________________________________________

<?xml version = "1.0" encoding = "ISO-8859-1"?><!--DOCTYPE XM059O SYSTEM "XM059O.xsd"--><XM059O> <XM059-PARAMS> <RETURN-CODE>00</RETURN-CODE> <P1> <P1-TT>12</P1-TT> <P1-MM>10</P1-MM> <P1-CE>19</P1-CE> <P1-JJ>77</P1-JJ> </P1> <P2> <LANG-CODE>1</LANG-CODE> </P2> <P3> <DIRECTION>2</DIRECTION> </P3> <P4> <DAY-NAME>MERCOLEDI</DAY-NAME> </P4> </XM059-PARAMS></XM059O>

Page 25: Data-based Testing TESTDATA 1 Data-based Testing Data-based Test Cases Environment of a Software Component Data Flow Analysis Test Data Sets Defining the.

+-----------------------------------------------------------------------+| WSDL Response Validation Report || Object: Kalender Date: 19.06.04 || Type : XML System: TEST || Key Fields of Response (ist,soll) |+-------------------------------------+---------------------------------+| MsgKey:DayofWeek = 12101977 | || Ist : DayofWeek | Mercolodi || SOll: DayofWeek | Mittwoch |+-------------------------------------+---------------------------------+| MsgKey:DayofWeek = 12101977 | || Ist : Language | 2 || SOll: Language | 1 |+-------------------------------------+---------------------------------+

Validation of the XML Interface

TEST DATA-24