Upload
jasmine-little
View
221
Download
0
Tags:
Embed Size (px)
Citation preview
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
Data-based Testing
TEST DATA-1
ProgramsData Structures
Testing Programs against their Data Structures
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
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
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
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
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
Defining Control Data
TEST DATA-7
All Data
Input Data
Control Data = Predicates
+
+
++
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+
++
+ ++
+
+
+
+
+
+
+
+
+
++
+
+
++
+
+
+
+
++
+
++
+
+
IF I > 0
THEN
DO WHILE ( I < N );
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
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
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.
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
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
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
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')
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
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 =
!
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
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
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
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
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
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
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>
+-----------------------------------------------------------------------+| 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