Home
Existing User Login
Brochure
Sign up for Risk-Free Trial
About Testcover.com
Frequently Asked Questions
Tutorial with Examples
->Equivalence Partitioning
--->Shopping Cart Example
----->Seq. Unit Replay Design
->UML State Machines
--->Shopping Cart Example
--->Test Models, 1 Region
--->Design Procedure
--->Transition Designs
----->Functionally Dependent
----->Fixed Values
--->Target State Designs
----->Functionally Dependent
----->Fixed Values
--->Thermostat Example
->Definitions of Terms
Performance
WSDL Interface
Background
Partners
Registrations
Contact Information
|
The shopping cart example illustrates pairwise testing using a
Unified Modeling Language (UML)
state machine diagram.
This test design is based on the shopping cart diagram.
The design illustrates the target state model,
in which each partition includes all the transitions leading to a particular target state.
Some of the factor values are functionally dependent on the values of other factors.
This design is converted from functionally dependent form
(above)
using the fixed values conversion
procedure
to insure that all allowed pairs of factor values are covered.
In the shopping cart example
there are four leaf states: emptyCart, nonemptyCart, shopping, checkout.
There are eight state transitions which are grouped into four partitions according to their target states:
# all states to emptyCart
# all states to nonemptyCart
# all states to shopping
# all states to checkout
|
There are 18 test factors with values as follows.
Test Factor | Number of Values | Test Factor Values |
1. | newItem | 4 |
unset itemA itemB itemC |
2. | n | 5 |
unset 0 1 2 3 |
3. | delChk[0] | 3 |
n/a 0 1 |
4. | item[0] | 4 |
n/a itemA itemB itemC |
5. | qty[0] | 4 |
n/a 1 2 10 |
6. | newQ[0] | 5 |
n/a 0 1 2 10 |
7. | delChk[1] | 3 |
n/a 0 1 |
8. | item[1] | 3 |
n/a itemB itemC |
9. | qty[1] | 4 |
n/a 1 2 10 |
10. | newQ[1] | 5 |
n/a 0 1 2 10 |
11. | delChk[2] | 3 |
n/a 0 1 |
12. | item[2] | 2 |
n/a itemC |
13. | qty[2] | 4 |
n/a 1 2 10 |
14. | newQ[2] | 5 |
n/a 0 1 2 10 |
15. | i | 4 |
n/a 0 1 2 |
16. | q | 5 |
n/a 0 1 2 10 |
17. | state | 4 |
shopping emptyCart nonemptyCart checkout |
18. | event | 19 |
SHOP CART CHECK(0)[0<=i&&i<n] CHECK(1)[0<=i&&i<n] CHECK(2)[0<=i&&i<n]
QTY(0,0)[0<=i&&i<n] QTY(0,1)[0<=i&&i<n] QTY(0,2)[0<=i&&i<n] QTY(0,10)[0<=i&&i<n]
QTY(1,0)[0<=i&&i<n] QTY(1,1)[0<=i&&i<n] QTY(1,2)[0<=i&&i<n] QTY(1,10)[0<=i&&i<n]
QTY(2,0)[0<=i&&i<n] QTY(2,1)[0<=i&&i<n] QTY(2,2)[0<=i&&i<n] QTY(2,10)[0<=i&&i<n]
UPDATE CHECKOUT |
The first 16 factors are program variables.
Factor 17 is the current state, and factor 18 is the event triggering the expected transition.
The newItem value indicates an item to place in the cart;
n is the number of items in the cart (up to 3 in this test design).
The first 3 items in the cart are indexed by 0, 1 and 2,
so factors 3-6 are for the item in position 0, 7-10 for position 1, etc.
For each cart position i,
delChk[i] indicates whether the delete box is checked;
item[i] identifies the item;
qty[i] is the quantity of the item;
newQ[i] shows a new quantity entered.
Factors 15 and 16 give the values for i and q in the CHECK(i) and the QTY(i,q) events.
These events are functionally dependent,
but in this design their fixed values are given explicitly according to the values of i and q.
The value n/a indicates that a factor is not applicable to the transition test case.
The items are placed in the cart starting at position 0.
They are constrained to be different, to appear in separate cart positions.
Otherwise, the item already in the cart would have its quantity incremented;
a new cart position would not be filled.
For example, when there are two different items, the test design constrains
position 0 to have itemA or itemB;
position 1 is constrained to have itemC.
In the shopping-nonemptyCart and checkout-nonemptyCart transitions,
qty[0] is used as a value for newQ[0].
This indicates that the value shown for the new quantity
is the same as the current quantity.
Then newQ[0] is functionally dependent on qty[0].
(If qty[0] is 10, then so is newQ[0].)
Factors newQ[1] and newQ[2] have similar dependencies on
values of qty[1] and qty[2].
The test design is constructed from the
functionally dependent form
using the fixed values conversion
procedure.
Partitions 1, 3 and 4 are the same in both forms because their factor values are given explicitly,
without functional dependence.
Partition 2 (all states to nonemptyCart) is the only one that differs
between the functionally dependent and fixed values forms.
The relationship between the two forms of the target state design is presented
in the shopping cart mapping table.
The test case generator request is given below.
The partition prefix, e.g. E, indicates the target state (emptyCart) for each test case.
|
Shopping Cart Example - target state design - fixed values form
newItem
n
delChk[0]
item[0]
qty[0]
newQ[0]
delChk[1]
item[1]
qty[1]
newQ[1]
delChk[2]
item[2]
qty[2]
newQ[2]
i
q
state
event
#E states to emptyCart
+ shopping to emptyCart
unset
unset 0
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
shopping
CART
+ nonemptyCart to emptyCart; n=1; delChk[0]=1
unset
1
1
itemA itemB itemC
1 2 10
0 1 2 10
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
nonemptyCart
UPDATE
+ nonemptyCart to emptyCart; n=1; newQ[0]=0
unset
1
0 1
itemA itemB itemC
1 2 10
0
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
nonemptyCart
UPDATE
+ nonemptyCart to emptyCart; n=2; delChk[0]=1; newQ[1]=0
unset
2
1
itemA itemB
1 2 10
0 1 2 10
0 1
itemC
1 2 10
0
n/a
n/a
n/a
n/a
n/a
n/a
nonemptyCart
UPDATE
+ nonemptyCart to emptyCart; n=3; delChk[0]=1; delChk[1]=1; newQ[2]=0
unset
3
1
itemA
1 2 10
0 1 2 10
1
itemB
1 2 10
0 1 2 10
0 1
itemC
1 2 10
0
n/a
n/a
nonemptyCart
UPDATE
#N states to nonemptyCart
+ shopping to nonemptyCart; no items yet
itemA itemB itemC
unset 0
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
shopping
CART
+ shopping to nonemptyCart; n=1; newQ[0]=qty[0]=1
itemA itemB itemC
1
0
itemA itemB itemC
1
1
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
shopping
CART
+ shopping to nonemptyCart; n=1; newQ[0]=qty[0]=2
itemA itemB itemC
1
0
itemA itemB itemC
2
2
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
shopping
CART
+ shopping to nonemptyCart; n=1; newQ[0]=qty[0]=10
itemA itemB itemC
1
0
itemA itemB itemC
10
10
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
shopping
CART
+ shopping to nonemptyCart; n=2; newQ[0]=qty[0]=1; newQ[1]=qty[1]=1
itemA itemB itemC
2
0
itemA itemB
1
1
0
itemC
1
1
n/a
n/a
n/a
n/a
n/a
n/a
shopping
CART
+ shopping to nonemptyCart; n=2; newQ[0]=qty[0]=1; newQ[1]=qty[1]=2
itemA itemB itemC
2
0
itemA itemB
1
1
0
itemC
2
2
n/a
n/a
n/a
n/a
n/a
n/a
shopping
CART
+ shopping to nonemptyCart; n=2; newQ[0]=qty[0]=1; newQ[1]=qty[1]=10
itemA itemB itemC
2
0
itemA itemB
1
1
0
itemC
10
10
n/a
n/a
n/a
n/a
n/a
n/a
shopping
CART
+ shopping to nonemptyCart; n=2; newQ[0]=qty[0]=2; newQ[1]=qty[1]=1
itemA itemB itemC
2
0
itemA itemB
2
2
0
itemC
1
1
n/a
n/a
n/a
n/a
n/a
n/a
shopping
CART
+ shopping to nonemptyCart; n=2; newQ[0]=qty[0]=2; newQ[1]=qty[1]=2
itemA itemB itemC
2
0
itemA itemB
2
2
0
itemC
2
2
n/a
n/a
n/a
n/a
n/a
n/a
shopping
CART
+ shopping to nonemptyCart; n=2; newQ[0]=qty[0]=2; newQ[1]=qty[1]=10
itemA itemB itemC
2
0
itemA itemB
2
2
0
itemC
10
10
n/a
n/a
n/a
n/a
n/a
n/a
shopping
CART
+ shopping to nonemptyCart; n=2; newQ[0]=qty[0]=10; newQ[1]=qty[1]=1
itemA itemB itemC
2
0
itemA itemB
10
10
0
itemC
1
1
n/a
n/a
n/a
n/a
n/a
n/a
shopping
CART
+ shopping to nonemptyCart; n=2; newQ[0]=qty[0]=10; newQ[1]=qty[1]=2
itemA itemB itemC
2
0
itemA itemB
10
10
0
itemC
2
2
n/a
n/a
n/a
n/a
n/a
n/a
shopping
CART
+ shopping to nonemptyCart; n=2; newQ[0]=qty[0]=10; newQ[1]=qty[1]=10
itemA itemB itemC
2
0
itemA itemB
10
10
0
itemC
10
10
n/a
n/a
n/a
n/a
n/a
n/a
shopping
CART
+ shopping to nonemptyCart; n=3; newQ[0]=qty[0]=1; newQ[1]=qty[1]=1; newQ[2]=qty[2]=1
itemA itemB itemC
3
0
itemA
1
1
0
itemB
1
1
0
itemC
1
1
n/a
n/a
shopping
CART
+ shopping to nonemptyCart; n=3; newQ[0]=qty[0]=1; newQ[1]=qty[1]=1; newQ[2]=qty[2]=2
itemA itemB itemC
3
0
itemA
1
1
0
itemB
1
1
0
itemC
2
2
n/a
n/a
shopping
CART
+ shopping to nonemptyCart; n=3; newQ[0]=qty[0]=1; newQ[1]=qty[1]=1; newQ[2]=qty[2]=10
itemA itemB itemC
3
0
itemA
1
1
0
itemB
1
1
0
itemC
10
10
n/a
n/a
shopping
CART
+ shopping to nonemptyCart; n=3; newQ[0]=qty[0]=1; newQ[1]=qty[1]=2; newQ[2]=qty[2]=1
itemA itemB itemC
3
0
itemA
1
1
0
itemB
2
2
0
itemC
1
1
n/a
n/a
shopping
CART
+ shopping to nonemptyCart; n=3; newQ[0]=qty[0]=1; newQ[1]=qty[1]=2; newQ[2]=qty[2]=2
itemA itemB itemC
3
0
itemA
1
1
0
itemB
2
2
0
itemC
2
2
n/a
n/a
shopping
CART
+ shopping to nonemptyCart; n=3; newQ[0]=qty[0]=1; newQ[1]=qty[1]=2; newQ[2]=qty[2]=10
itemA itemB itemC
3
0
itemA
1
1
0
itemB
2
2
0
itemC
10
10
n/a
n/a
shopping
CART
+ shopping to nonemptyCart; n=3; newQ[0]=qty[0]=1; newQ[1]=qty[1]=10; newQ[2]=qty[2]=1
itemA itemB itemC
3
0
itemA
1
1
0
itemB
10
10
0
itemC
1
1
n/a
n/a
shopping
CART
+ shopping to nonemptyCart; n=3; newQ[0]=qty[0]=1; newQ[1]=qty[1]=10; newQ[2]=qty[2]=2
itemA itemB itemC
3
0
itemA
1
1
0
itemB
10
10
0
itemC
2
2
n/a
n/a
shopping
CART
+ shopping to nonemptyCart; n=3; newQ[0]=qty[0]=1; newQ[1]=qty[1]=10; newQ[2]=qty[2]=10
itemA itemB itemC
3
0
itemA
1
1
0
itemB
10
10
0
itemC
10
10
n/a
n/a
shopping
CART
+ shopping to nonemptyCart; n=3; newQ[0]=qty[0]=2; newQ[1]=qty[1]=1; newQ[2]=qty[2]=1
itemA itemB itemC
3
0
itemA
2
2
0
itemB
1
1
0
itemC
1
1
n/a
n/a
shopping
CART
+ shopping to nonemptyCart; n=3; newQ[0]=qty[0]=2; newQ[1]=qty[1]=1; newQ[2]=qty[2]=2
itemA itemB itemC
3
0
itemA
2
2
0
itemB
1
1
0
itemC
2
2
n/a
n/a
shopping
CART
+ shopping to nonemptyCart; n=3; newQ[0]=qty[0]=2; newQ[1]=qty[1]=1; newQ[2]=qty[2]=10
itemA itemB itemC
3
0
itemA
2
2
0
itemB
1
1
0
itemC
10
10
n/a
n/a
shopping
CART
+ shopping to nonemptyCart; n=3; newQ[0]=qty[0]=2; newQ[1]=qty[1]=2; newQ[2]=qty[2]=1
itemA itemB itemC
3
0
itemA
2
2
0
itemB
2
2
0
itemC
1
1
n/a
n/a
shopping
CART
+ shopping to nonemptyCart; n=3; newQ[0]=qty[0]=2; newQ[1]=qty[1]=2; newQ[2]=qty[2]=2
itemA itemB itemC
3
0
itemA
2
2
0
itemB
2
2
0
itemC
2
2
n/a
n/a
shopping
CART
+ shopping to nonemptyCart; n=3; newQ[0]=qty[0]=2; newQ[1]=qty[1]=2; newQ[2]=qty[2]=10
itemA itemB itemC
3
0
itemA
2
2
0
itemB
2
2
0
itemC
10
10
n/a
n/a
shopping
CART
+ shopping to nonemptyCart; n=3; newQ[0]=qty[0]=2; newQ[1]=qty[1]=10; newQ[2]=qty[2]=1
itemA itemB itemC
3
0
itemA
2
2
0
itemB
10
10
0
itemC
1
1
n/a
n/a
shopping
CART
+ shopping to nonemptyCart; n=3; newQ[0]=qty[0]=2; newQ[1]=qty[1]=10; newQ[2]=qty[2]=2
itemA itemB itemC
3
0
itemA
2
2
0
itemB
10
10
0
itemC
2
2
n/a
n/a
shopping
CART
+ shopping to nonemptyCart; n=3; newQ[0]=qty[0]=2; newQ[1]=qty[1]=10; newQ[2]=qty[2]=10
itemA itemB itemC
3
0
itemA
2
2
0
itemB
10
10
0
itemC
10
10
n/a
n/a
shopping
CART
+ shopping to nonemptyCart; n=3; newQ[0]=qty[0]=10; newQ[1]=qty[1]=1; newQ[2]=qty[2]=1
itemA itemB itemC
3
0
itemA
10
10
0
itemB
1
1
0
itemC
1
1
n/a
n/a
shopping
CART
+ shopping to nonemptyCart; n=3; newQ[0]=qty[0]=10; newQ[1]=qty[1]=1; newQ[2]=qty[2]=2
itemA itemB itemC
3
0
itemA
10
10
0
itemB
1
1
0
itemC
2
2
n/a
n/a
shopping
CART
+ shopping to nonemptyCart; n=3; newQ[0]=qty[0]=10; newQ[1]=qty[1]=1; newQ[2]=qty[2]=10
itemA itemB itemC
3
0
itemA
10
10
0
itemB
1
1
0
itemC
10
10
n/a
n/a
shopping
CART
+ shopping to nonemptyCart; n=3; newQ[0]=qty[0]=10; newQ[1]=qty[1]=2; newQ[2]=qty[2]=1
itemA itemB itemC
3
0
itemA
10
10
0
itemB
2
2
0
itemC
1
1
n/a
n/a
shopping
CART
+ shopping to nonemptyCart; n=3; newQ[0]=qty[0]=10; newQ[1]=qty[1]=2; newQ[2]=qty[2]=2
itemA itemB itemC
3
0
itemA
10
10
0
itemB
2
2
0
itemC
2
2
n/a
n/a
shopping
CART
+ shopping to nonemptyCart; n=3; newQ[0]=qty[0]=10; newQ[1]=qty[1]=2; newQ[2]=qty[2]=10
itemA itemB itemC
3
0
itemA
10
10
0
itemB
2
2
0
itemC
10
10
n/a
n/a
shopping
CART
+ shopping to nonemptyCart; n=3; newQ[0]=qty[0]=10; newQ[1]=qty[1]=10; newQ[2]=qty[2]=1
itemA itemB itemC
3
0
itemA
10
10
0
itemB
10
10
0
itemC
1
1
n/a
n/a
shopping
CART
+ shopping to nonemptyCart; n=3; newQ[0]=qty[0]=10; newQ[1]=qty[1]=10; newQ[2]=qty[2]=2
itemA itemB itemC
3
0
itemA
10
10
0
itemB
10
10
0
itemC
2
2
n/a
n/a
shopping
CART
+ shopping to nonemptyCart; n=3; newQ[0]=qty[0]=10; newQ[1]=qty[1]=10; newQ[2]=qty[2]=10
itemA itemB itemC
3
0
itemA
10
10
0
itemB
10
10
0
itemC
10
10
n/a
n/a
shopping
CART
+ nonemptyCart to nonemptyCart; n=1; CHECK(0)
unset
1
0 1
itemA itemB itemC
1 2 10
0 1 2 10
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
0
n/a
nonemptyCart
CHECK(0)[0<=i&&i<n]
+ nonemptyCart to nonemptyCart; n=2; CHECK(0)
unset
2
0 1
itemA itemB
1 2 10
0 1 2 10
0 1
itemC
1 2 10
0 1 2 10
n/a
n/a
n/a
n/a
0
n/a
nonemptyCart
CHECK(0)[0<=i&&i<n]
+ nonemptyCart to nonemptyCart; n=2; CHECK(1)
unset
2
0 1
itemA itemB
1 2 10
0 1 2 10
0 1
itemC
1 2 10
0 1 2 10
n/a
n/a
n/a
n/a
1
n/a
nonemptyCart
CHECK(1)[0<=i&&i<n]
+ nonemptyCart to nonemptyCart; n=3; CHECK(0)
unset
3
0 1
itemA
1 2 10
0 1 2 10
0 1
itemB
1 2 10
0 1 2 10
0 1
itemC
1 2 10
0 1 2 10
0
n/a
nonemptyCart
CHECK(0)[0<=i&&i<n]
+ nonemptyCart to nonemptyCart; n=3; CHECK(1)
unset
3
0 1
itemA
1 2 10
0 1 2 10
0 1
itemB
1 2 10
0 1 2 10
0 1
itemC
1 2 10
0 1 2 10
1
n/a
nonemptyCart
CHECK(1)[0<=i&&i<n]
+ nonemptyCart to nonemptyCart; n=3; CHECK(2)
unset
3
0 1
itemA
1 2 10
0 1 2 10
0 1
itemB
1 2 10
0 1 2 10
0 1
itemC
1 2 10
0 1 2 10
2
n/a
nonemptyCart
CHECK(2)[0<=i&&i<n]
+ nonemptyCart to nonemptyCart; n=1; QTY(0,0)
unset
1
0 1
itemA itemB itemC
1 2 10
0 1 2 10
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
0
0
nonemptyCart
QTY(0,0)[0<=i&&i<n]
+ nonemptyCart to nonemptyCart; n=1; QTY(0,1)
unset
1
0 1
itemA itemB itemC
1 2 10
0 1 2 10
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
0
1
nonemptyCart
QTY(0,1)[0<=i&&i<n]
+ nonemptyCart to nonemptyCart; n=1; QTY(0,2)
unset
1
0 1
itemA itemB itemC
1 2 10
0 1 2 10
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
0
2
nonemptyCart
QTY(0,2)[0<=i&&i<n]
+ nonemptyCart to nonemptyCart; n=1; QTY(0,10)
unset
1
0 1
itemA itemB itemC
1 2 10
0 1 2 10
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
0
10
nonemptyCart
QTY(0,10)[0<=i&&i<n]
+ nonemptyCart to nonemptyCart; n=2; QTY(0,0)
unset
2
0 1
itemA itemB
1 2 10
0 1 2 10
0 1
itemC
1 2 10
0 1 2 10
n/a
n/a
n/a
n/a
0
0
nonemptyCart
QTY(0,0)[0<=i&&i<n]
+ nonemptyCart to nonemptyCart; n=2; QTY(0,1)
unset
2
0 1
itemA itemB
1 2 10
0 1 2 10
0 1
itemC
1 2 10
0 1 2 10
n/a
n/a
n/a
n/a
0
1
nonemptyCart
QTY(0,1)[0<=i&&i<n]
+ nonemptyCart to nonemptyCart; n=2; QTY(0,2)
unset
2
0 1
itemA itemB
1 2 10
0 1 2 10
0 1
itemC
1 2 10
0 1 2 10
n/a
n/a
n/a
n/a
0
2
nonemptyCart
QTY(0,2)[0<=i&&i<n]
+ nonemptyCart to nonemptyCart; n=2; QTY(0,10)
unset
2
0 1
itemA itemB
1 2 10
0 1 2 10
0 1
itemC
1 2 10
0 1 2 10
n/a
n/a
n/a
n/a
0
10
nonemptyCart
QTY(0,10)[0<=i&&i<n]
+ nonemptyCart to nonemptyCart; n=2; QTY(1,0)
unset
2
0 1
itemA itemB
1 2 10
0 1 2 10
0 1
itemC
1 2 10
0 1 2 10
n/a
n/a
n/a
n/a
1
0
nonemptyCart
QTY(1,0)[0<=i&&i<n]
+ nonemptyCart to nonemptyCart; n=2; QTY(1,1)
unset
2
0 1
itemA itemB
1 2 10
0 1 2 10
0 1
itemC
1 2 10
0 1 2 10
n/a
n/a
n/a
n/a
1
1
nonemptyCart
QTY(1,1)[0<=i&&i<n]
+ nonemptyCart to nonemptyCart; n=2; QTY(1,2)
unset
2
0 1
itemA itemB
1 2 10
0 1 2 10
0 1
itemC
1 2 10
0 1 2 10
n/a
n/a
n/a
n/a
1
2
nonemptyCart
QTY(1,2)[0<=i&&i<n]
+ nonemptyCart to nonemptyCart; n=2; QTY(1,10)
unset
2
0 1
itemA itemB
1 2 10
0 1 2 10
0 1
itemC
1 2 10
0 1 2 10
n/a
n/a
n/a
n/a
1
10
nonemptyCart
QTY(1,10)[0<=i&&i<n]
+ nonemptyCart to nonemptyCart; n=3; QTY(0,0)
unset
3
0 1
itemA
1 2 10
0 1 2 10
0 1
itemB
1 2 10
0 1 2 10
0 1
itemC
1 2 10
0 1 2 10
0
0
nonemptyCart
QTY(0,0)[0<=i&&i<n]
+ nonemptyCart to nonemptyCart; n=3; QTY(0,1)
unset
3
0 1
itemA
1 2 10
0 1 2 10
0 1
itemB
1 2 10
0 1 2 10
0 1
itemC
1 2 10
0 1 2 10
0
1
nonemptyCart
QTY(0,1)[0<=i&&i<n]
+ nonemptyCart to nonemptyCart; n=3; QTY(0,2)
unset
3
0 1
itemA
1 2 10
0 1 2 10
0 1
itemB
1 2 10
0 1 2 10
0 1
itemC
1 2 10
0 1 2 10
0
2
nonemptyCart
QTY(0,2)[0<=i&&i<n]
+ nonemptyCart to nonemptyCart; n=3; QTY(0,10)
unset
3
0 1
itemA
1 2 10
0 1 2 10
0 1
itemB
1 2 10
0 1 2 10
0 1
itemC
1 2 10
0 1 2 10
0
10
nonemptyCart
QTY(0,10)[0<=i&&i<n]
+ nonemptyCart to nonemptyCart; n=3; QTY(1,0)
unset
3
0 1
itemA
1 2 10
0 1 2 10
0 1
itemB
1 2 10
0 1 2 10
0 1
itemC
1 2 10
0 1 2 10
1
0
nonemptyCart
QTY(1,0)[0<=i&&i<n]
+ nonemptyCart to nonemptyCart; n=3; QTY(1,1)
unset
3
0 1
itemA
1 2 10
0 1 2 10
0 1
itemB
1 2 10
0 1 2 10
0 1
itemC
1 2 10
0 1 2 10
1
1
nonemptyCart
QTY(1,1)[0<=i&&i<n]
+ nonemptyCart to nonemptyCart; n=3; QTY(1,2)
unset
3
0 1
itemA
1 2 10
0 1 2 10
0 1
itemB
1 2 10
0 1 2 10
0 1
itemC
1 2 10
0 1 2 10
1
2
nonemptyCart
QTY(1,2)[0<=i&&i<n]
+ nonemptyCart to nonemptyCart; n=3; QTY(1,10)
unset
3
0 1
itemA
1 2 10
0 1 2 10
0 1
itemB
1 2 10
0 1 2 10
0 1
itemC
1 2 10
0 1 2 10
1
10
nonemptyCart
QTY(1,10)[0<=i&&i<n]
+ nonemptyCart to nonemptyCart; n=3; QTY(2,0)
unset
3
0 1
itemA
1 2 10
0 1 2 10
0 1
itemB
1 2 10
0 1 2 10
0 1
itemC
1 2 10
0 1 2 10
2
0
nonemptyCart
QTY(2,0)[0<=i&&i<n]
+ nonemptyCart to nonemptyCart; n=3; QTY(2,1)
unset
3
0 1
itemA
1 2 10
0 1 2 10
0 1
itemB
1 2 10
0 1 2 10
0 1
itemC
1 2 10
0 1 2 10
2
1
nonemptyCart
QTY(2,1)[0<=i&&i<n]
+ nonemptyCart to nonemptyCart; n=3; QTY(2,2)
unset
3
0 1
itemA
1 2 10
0 1 2 10
0 1
itemB
1 2 10
0 1 2 10
0 1
itemC
1 2 10
0 1 2 10
2
2
nonemptyCart
QTY(2,2)[0<=i&&i<n]
+ nonemptyCart to nonemptyCart; n=3; QTY(2,10)
unset
3
0 1
itemA
1 2 10
0 1 2 10
0 1
itemB
1 2 10
0 1 2 10
0 1
itemC
1 2 10
0 1 2 10
2
10
nonemptyCart
QTY(2,10)[0<=i&&i<n]
+ nonemptyCart to nonemptyCart; n=1; UPDATE
unset
1
0
itemA itemB itemC
1 2 10
1 2 10
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
nonemptyCart
UPDATE
+ nonemptyCart to nonemptyCart; n=2; UPDATE
unset
2
0 1
itemA itemB
1 2 10
0 1 2 10
0
itemC
1 2 10
1 2 10
n/a
n/a
n/a
n/a
n/a
n/a
nonemptyCart
UPDATE
+ nonemptyCart to nonemptyCart; n=3; UPDATE
unset
3
0 1
itemA
1 2 10
0 1 2 10
0 1
itemB
1 2 10
0 1 2 10
0
itemC
1 2 10
1 2 10
n/a
n/a
nonemptyCart
UPDATE
+ checkout to nonemptyCart; n=1; newQ[0]=qty[0]=1
unset
1
0
itemA itemB itemC
1
1
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
checkout
CART
+ checkout to nonemptyCart; n=1; newQ[0]=qty[0]=2
unset
1
0
itemA itemB itemC
2
2
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
checkout
CART
+ checkout to nonemptyCart; n=1; newQ[0]=qty[0]=10
unset
1
0
itemA itemB itemC
10
10
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
checkout
CART
+ checkout to nonemptyCart; n=2; newQ[0]=qty[0]=1; newQ[1]=qty[1]=1
unset
2
0
itemA itemB
1
1
0
itemC
1
1
n/a
n/a
n/a
n/a
n/a
n/a
checkout
CART
+ checkout to nonemptyCart; n=2; newQ[0]=qty[0]=1; newQ[1]=qty[1]=2
unset
2
0
itemA itemB
1
1
0
itemC
2
2
n/a
n/a
n/a
n/a
n/a
n/a
checkout
CART
+ checkout to nonemptyCart; n=2; newQ[0]=qty[0]=1; newQ[1]=qty[1]=10
unset
2
0
itemA itemB
1
1
0
itemC
10
10
n/a
n/a
n/a
n/a
n/a
n/a
checkout
CART
+ checkout to nonemptyCart; n=2; newQ[0]=qty[0]=2; newQ[1]=qty[1]=1
unset
2
0
itemA itemB
2
2
0
itemC
1
1
n/a
n/a
n/a
n/a
n/a
n/a
checkout
CART
+ checkout to nonemptyCart; n=2; newQ[0]=qty[0]=2; newQ[1]=qty[1]=2
unset
2
0
itemA itemB
2
2
0
itemC
2
2
n/a
n/a
n/a
n/a
n/a
n/a
checkout
CART
+ checkout to nonemptyCart; n=2; newQ[0]=qty[0]=2; newQ[1]=qty[1]=10
unset
2
0
itemA itemB
2
2
0
itemC
10
10
n/a
n/a
n/a
n/a
n/a
n/a
checkout
CART
+ checkout to nonemptyCart; n=2; newQ[0]=qty[0]=10; newQ[1]=qty[1]=1
unset
2
0
itemA itemB
10
10
0
itemC
1
1
n/a
n/a
n/a
n/a
n/a
n/a
checkout
CART
+ checkout to nonemptyCart; n=2; newQ[0]=qty[0]=10; newQ[1]=qty[1]=2
unset
2
0
itemA itemB
10
10
0
itemC
2
2
n/a
n/a
n/a
n/a
n/a
n/a
checkout
CART
+ checkout to nonemptyCart; n=2; newQ[0]=qty[0]=10; newQ[1]=qty[1]=10
unset
2
0
itemA itemB
10
10
0
itemC
10
10
n/a
n/a
n/a
n/a
n/a
n/a
checkout
CART
+ checkout to nonemptyCart; n=3; newQ[0]=qty[0]=1; newQ[1]=qty[1]=1; newQ[2]=qty[2]=1
unset
3
0
itemA
1
1
0
itemB
1
1
0
itemC
1
1
n/a
n/a
checkout
CART
+ checkout to nonemptyCart; n=3; newQ[0]=qty[0]=1; newQ[1]=qty[1]=1; newQ[2]=qty[2]=2
unset
3
0
itemA
1
1
0
itemB
1
1
0
itemC
2
2
n/a
n/a
checkout
CART
+ checkout to nonemptyCart; n=3; newQ[0]=qty[0]=1; newQ[1]=qty[1]=1; newQ[2]=qty[2]=10
unset
3
0
itemA
1
1
0
itemB
1
1
0
itemC
10
10
n/a
n/a
checkout
CART
+ checkout to nonemptyCart; n=3; newQ[0]=qty[0]=1; newQ[1]=qty[1]=2; newQ[2]=qty[2]=1
unset
3
0
itemA
1
1
0
itemB
2
2
0
itemC
1
1
n/a
n/a
checkout
CART
+ checkout to nonemptyCart; n=3; newQ[0]=qty[0]=1; newQ[1]=qty[1]=2; newQ[2]=qty[2]=2
unset
3
0
itemA
1
1
0
itemB
2
2
0
itemC
2
2
n/a
n/a
checkout
CART
+ checkout to nonemptyCart; n=3; newQ[0]=qty[0]=1; newQ[1]=qty[1]=2; newQ[2]=qty[2]=10
unset
3
0
itemA
1
1
0
itemB
2
2
0
itemC
10
10
n/a
n/a
checkout
CART
+ checkout to nonemptyCart; n=3; newQ[0]=qty[0]=1; newQ[1]=qty[1]=10; newQ[2]=qty[2]=1
unset
3
0
itemA
1
1
0
itemB
10
10
0
itemC
1
1
n/a
n/a
checkout
CART
+ checkout to nonemptyCart; n=3; newQ[0]=qty[0]=1; newQ[1]=qty[1]=10; newQ[2]=qty[2]=2
unset
3
0
itemA
1
1
0
itemB
10
10
0
itemC
2
2
n/a
n/a
checkout
CART
+ checkout to nonemptyCart; n=3; newQ[0]=qty[0]=1; newQ[1]=qty[1]=10; newQ[2]=qty[2]=10
unset
3
0
itemA
1
1
0
itemB
10
10
0
itemC
10
10
n/a
n/a
checkout
CART
+ checkout to nonemptyCart; n=3; newQ[0]=qty[0]=2; newQ[1]=qty[1]=1; newQ[2]=qty[2]=1
unset
3
0
itemA
2
2
0
itemB
1
1
0
itemC
1
1
n/a
n/a
checkout
CART
+ checkout to nonemptyCart; n=3; newQ[0]=qty[0]=2; newQ[1]=qty[1]=1; newQ[2]=qty[2]=2
unset
3
0
itemA
2
2
0
itemB
1
1
0
itemC
2
2
n/a
n/a
checkout
CART
+ checkout to nonemptyCart; n=3; newQ[0]=qty[0]=2; newQ[1]=qty[1]=1; newQ[2]=qty[2]=10
unset
3
0
itemA
2
2
0
itemB
1
1
0
itemC
10
10
n/a
n/a
checkout
CART
+ checkout to nonemptyCart; n=3; newQ[0]=qty[0]=2; newQ[1]=qty[1]=2; newQ[2]=qty[2]=1
unset
3
0
itemA
2
2
0
itemB
2
2
0
itemC
1
1
n/a
n/a
checkout
CART
+ checkout to nonemptyCart; n=3; newQ[0]=qty[0]=2; newQ[1]=qty[1]=2; newQ[2]=qty[2]=2
unset
3
0
itemA
2
2
0
itemB
2
2
0
itemC
2
2
n/a
n/a
checkout
CART
+ checkout to nonemptyCart; n=3; newQ[0]=qty[0]=2; newQ[1]=qty[1]=2; newQ[2]=qty[2]=10
unset
3
0
itemA
2
2
0
itemB
2
2
0
itemC
10
10
n/a
n/a
checkout
CART
+ checkout to nonemptyCart; n=3; newQ[0]=qty[0]=2; newQ[1]=qty[1]=10; newQ[2]=qty[2]=1
unset
3
0
itemA
2
2
0
itemB
10
10
0
itemC
1
1
n/a
n/a
checkout
CART
+ checkout to nonemptyCart; n=3; newQ[0]=qty[0]=2; newQ[1]=qty[1]=10; newQ[2]=qty[2]=2
unset
3
0
itemA
2
2
0
itemB
10
10
0
itemC
2
2
n/a
n/a
checkout
CART
+ checkout to nonemptyCart; n=3; newQ[0]=qty[0]=2; newQ[1]=qty[1]=10; newQ[2]=qty[2]=10
unset
3
0
itemA
2
2
0
itemB
10
10
0
itemC
10
10
n/a
n/a
checkout
CART
+ checkout to nonemptyCart; n=3; newQ[0]=qty[0]=10; newQ[1]=qty[1]=1; newQ[2]=qty[2]=1
unset
3
0
itemA
10
10
0
itemB
1
1
0
itemC
1
1
n/a
n/a
checkout
CART
+ checkout to nonemptyCart; n=3; newQ[0]=qty[0]=10; newQ[1]=qty[1]=1; newQ[2]=qty[2]=2
unset
3
0
itemA
10
10
0
itemB
1
1
0
itemC
2
2
n/a
n/a
checkout
CART
+ checkout to nonemptyCart; n=3; newQ[0]=qty[0]=10; newQ[1]=qty[1]=1; newQ[2]=qty[2]=10
unset
3
0
itemA
10
10
0
itemB
1
1
0
itemC
10
10
n/a
n/a
checkout
CART
+ checkout to nonemptyCart; n=3; newQ[0]=qty[0]=10; newQ[1]=qty[1]=2; newQ[2]=qty[2]=1
unset
3
0
itemA
10
10
0
itemB
2
2
0
itemC
1
1
n/a
n/a
checkout
CART
+ checkout to nonemptyCart; n=3; newQ[0]=qty[0]=10; newQ[1]=qty[1]=2; newQ[2]=qty[2]=2
unset
3
0
itemA
10
10
0
itemB
2
2
0
itemC
2
2
n/a
n/a
checkout
CART
+ checkout to nonemptyCart; n=3; newQ[0]=qty[0]=10; newQ[1]=qty[1]=2; newQ[2]=qty[2]=10
unset
3
0
itemA
10
10
0
itemB
2
2
0
itemC
10
10
n/a
n/a
checkout
CART
+ checkout to nonemptyCart; n=3; newQ[0]=qty[0]=10; newQ[1]=qty[1]=10; newQ[2]=qty[2]=1
unset
3
0
itemA
10
10
0
itemB
10
10
0
itemC
1
1
n/a
n/a
checkout
CART
+ checkout to nonemptyCart; n=3; newQ[0]=qty[0]=10; newQ[1]=qty[1]=10; newQ[2]=qty[2]=2
unset
3
0
itemA
10
10
0
itemB
10
10
0
itemC
2
2
n/a
n/a
checkout
CART
+ checkout to nonemptyCart; n=3; newQ[0]=qty[0]=10; newQ[1]=qty[1]=10; newQ[2]=qty[2]=10
unset
3
0
itemA
10
10
0
itemB
10
10
0
itemC
10
10
n/a
n/a
checkout
CART
#S states to shopping
+ emptyCart to shopping
unset
0
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
emptyCart
SHOP
+ nonemptyCart to shopping; n=1
unset
1
0 1
itemA itemB itemC
1 2 10
0 1 2 10
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
nonemptyCart
SHOP
+ nonemptyCart to shopping; n=2
unset
2
0 1
itemA itemB
1 2 10
0 1 2 10
0 1
itemC
1 2 10
0 1 2 10
n/a
n/a
n/a
n/a
n/a
n/a
nonemptyCart
SHOP
+ nonemptyCart to shopping; n=3
unset
3
0 1
itemA
1 2 10
0 1 2 10
0 1
itemB
1 2 10
0 1 2 10
0 1
itemC
1 2 10
0 1 2 10
n/a
n/a
nonemptyCart
SHOP
#C states to checkout
+ nonemptyCart to checkout; n=1
unset
1
0 1
itemA itemB itemC
1 2 10
0 1 2 10
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
nonemptyCart
CHECKOUT
+ nonemptyCart to checkout; n=2
unset
2
0 1
itemA itemB
1 2 10
0 1 2 10
0 1
itemC
1 2 10
0 1 2 10
n/a
n/a
n/a
n/a
n/a
n/a
nonemptyCart
CHECKOUT
+ nonemptyCart to checkout; n=3
unset
3
0 1
itemA
1 2 10
0 1 2 10
0 1
itemB
1 2 10
0 1 2 10
0 1
itemC
1 2 10
0 1 2 10
n/a
n/a
nonemptyCart
CHECKOUT |
The shopping cart target state design has 217 test cases in 4 partitions in fixed values form.
Partition 2 is the only partition that differs from functionally dependent form.
All test cases start with an empty cart.
The results tables follow.
#1.
states to emptyCart
Test Case ID |
newItem |
n |
delChk[0] |
item[0] |
qty[0] |
newQ[0] |
delChk[1] |
item[1] |
qty[1] |
newQ[1] |
delChk[2] |
item[2] |
qty[2] |
newQ[2] |
i |
q |
state |
event |
Combo Countdown |
| 1 Value | 5 Values | 3 Values | 4 Values | 4 Values | 5 Values | 3 Values | 3 Values | 4 Values | 5 Values | 3 Values | 2 Values | 4 Values | 2 Values | 1 Value | 1 Value | 2 Values | 2 Values | 1361 |
E1 | unset | unset | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | shopping | CART | 1208 |
E2 | unset | 3 | 1 | itemA | 1 | 1 | 1 | itemB | 1 | 10 | 1 | itemC | 10 | 0 | n/a | n/a | nonemptyCart | UPDATE | 1058 |
E3 | unset | 2 | 1 | itemB | 2 | 0 | 1 | itemC | 2 | 0 | n/a | n/a | n/a | n/a | n/a | n/a | nonemptyCart | UPDATE | 944 |
E4 | unset | 1 | 1 | itemC | 10 | 2 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | nonemptyCart | UPDATE | 870 |
E5 | unset | 3 | 1 | itemA | 2 | 10 | 1 | itemB | 1 | 1 | 0 | itemC | 1 | 0 | n/a | n/a | nonemptyCart | UPDATE | 802 |
E6 | unset | 3 | 1 | itemA | 1 | 10 | 1 | itemB | 10 | 2 | 1 | itemC | 2 | 0 | n/a | n/a | nonemptyCart | UPDATE | 752 |
E7 | unset | 2 | 1 | itemA | 1 | 10 | 0 | itemC | 1 | 0 | n/a | n/a | n/a | n/a | n/a | n/a | nonemptyCart | UPDATE | 707 |
E8 | unset | 1 | 0 | itemB | 1 | 0 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | nonemptyCart | UPDATE | 673 |
E9 | unset | 3 | 1 | itemA | 10 | 2 | 1 | itemB | 2 | 10 | 1 | itemC | 1 | 0 | n/a | n/a | nonemptyCart | UPDATE | 643 |
E10 | unset | 2 | 1 | itemA | 2 | 1 | 0 | itemC | 10 | 0 | n/a | n/a | n/a | n/a | n/a | n/a | nonemptyCart | UPDATE | 623 |
E11 | unset | 0 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | shopping | CART | 606 |
E12 | unset | 3 | 1 | itemA | 1 | 0 | 1 | itemB | 1 | 0 | 0 | itemC | 1 | 0 | n/a | n/a | nonemptyCart | UPDATE | 590 |
E13 | unset | 1 | 1 | itemA | 2 | 10 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | nonemptyCart | UPDATE | 575 |
E14 | unset | 3 | 1 | itemA | 2 | 2 | 1 | itemB | 10 | 2 | 0 | itemC | 10 | 0 | n/a | n/a | nonemptyCart | UPDATE | 563 |
E15 | unset | 3 | 1 | itemA | 1 | 2 | 1 | itemB | 2 | 1 | 0 | itemC | 2 | 0 | n/a | n/a | nonemptyCart | UPDATE | 553 |
E16 | unset | 2 | 1 | itemA | 10 | 2 | 0 | itemC | 2 | 0 | n/a | n/a | n/a | n/a | n/a | n/a | nonemptyCart | UPDATE | 544 |
E17 | unset | 3 | 1 | itemA | 10 | 0 | 1 | itemB | 1 | 2 | 1 | itemC | 2 | 0 | n/a | n/a | nonemptyCart | UPDATE | 535 |
E18 | unset | 3 | 1 | itemA | 10 | 1 | 1 | itemB | 2 | 2 | 0 | itemC | 1 | 0 | n/a | n/a | nonemptyCart | UPDATE | 527 |
E19 | unset | 1 | 1 | itemC | 1 | 1 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | nonemptyCart | UPDATE | 520 |
E20 | unset | 3 | 1 | itemA | 10 | 10 | 1 | itemB | 2 | 0 | 1 | itemC | 10 | 0 | n/a | n/a | nonemptyCart | UPDATE | 513 |
E21 | unset | 3 | 1 | itemA | 10 | 1 | 1 | itemB | 10 | 1 | 1 | itemC | 10 | 0 | n/a | n/a | nonemptyCart | UPDATE | 507 |
E22 | unset | 3 | 1 | itemA | 2 | 10 | 1 | itemB | 10 | 10 | 0 | itemC | 2 | 0 | n/a | n/a | nonemptyCart | UPDATE | 501 |
E23 | unset | 1 | 0 | itemC | 2 | 0 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | nonemptyCart | UPDATE | 497 |
E24 | unset | 2 | 1 | itemB | 10 | 1 | 1 | itemC | 1 | 0 | n/a | n/a | n/a | n/a | n/a | n/a | nonemptyCart | UPDATE | 494 |
E25 | unset | 3 | 1 | itemA | 2 | 1 | 1 | itemB | 10 | 0 | 1 | itemC | 2 | 0 | n/a | n/a | nonemptyCart | UPDATE | 491 |
E26 | unset | 3 | 1 | itemA | 1 | 0 | 1 | itemB | 10 | 10 | 1 | itemC | 1 | 0 | n/a | n/a | nonemptyCart | UPDATE | 488 |
E27 | unset | 2 | 1 | itemB | 1 | 2 | 1 | itemC | 10 | 0 | n/a | n/a | n/a | n/a | n/a | n/a | nonemptyCart | UPDATE | 486 |
E28 | unset | 3 | 1 | itemA | 2 | 0 | 1 | itemB | 2 | 1 | 1 | itemC | 10 | 0 | n/a | n/a | nonemptyCart | UPDATE | 484 |
E29 | unset | 1 | 1 | itemB | 10 | 10 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | nonemptyCart | UPDATE | 483 |
E30 | unset | 1 | 1 | itemC | 1 | 10 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | nonemptyCart | UPDATE | 482 |
E31 | unset | 1 | 0 | itemC | 10 | 0 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | nonemptyCart | UPDATE | 481 |
E32 | unset | 1 | 0 | itemA | 2 | 0 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | nonemptyCart | UPDATE | 480 |
E33 | unset | 2 | 1 | itemA | 1 | 0 | 0 | itemC | 1 | 0 | n/a | n/a | n/a | n/a | n/a | n/a | nonemptyCart | UPDATE | 479 |
E34 | unset | 2 | 1 | itemB | 1 | 1 | 0 | itemC | 2 | 0 | n/a | n/a | n/a | n/a | n/a | n/a | nonemptyCart | UPDATE | 478 |
E35 | unset | 2 | 1 | itemA | 2 | 2 | 0 | itemC | 1 | 0 | n/a | n/a | n/a | n/a | n/a | n/a | nonemptyCart | UPDATE | 477 |
The test cases in partition 1 test the allowed transitions from all states to the emptyCart state
with all allowed pairs of factor values.
Test case E7 is set up as illustrated below.
The items already in the cart are constrained to be different, to appear in separate cart positions,
and blocks with the UPDATE event are constrained to yield an empty cart.
E7 is set up by placing itemA and itemC in the cart from the shopping page.
The delete box is checked for itemA, and a new quantity 10 is entered.
A new quantity 0 is entered for itemC.
The update button is clicked to trigger the transition to emptyCart.
#2.
states to nonemptyCart
Test Case ID |
newItem |
n |
delChk[0] |
item[0] |
qty[0] |
newQ[0] |
delChk[1] |
item[1] |
qty[1] |
newQ[1] |
delChk[2] |
item[2] |
qty[2] |
newQ[2] |
i |
q |
state |
event |
Combo Countdown |
| 4 Values | 5 Values | 3 Values | 4 Values | 4 Values | 5 Values | 3 Values | 3 Values | 4 Values | 5 Values | 3 Values | 2 Values | 4 Values | 5 Values | 4 Values | 5 Values | 3 Values | 17 Values | 3165 |
N1 | itemA | unset | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | shopping | CART | 3012 |
N2 | unset | 3 | 0 | itemA | 1 | 0 | 0 | itemB | 1 | 0 | 0 | itemC | 1 | 0 | 0 | n/a | nonemptyCart | CHECK(0)[0<=i&&i<n] | 2859 |
N3 | unset | 2 | 1 | itemB | 2 | 0 | 1 | itemC | 2 | 1 | n/a | n/a | n/a | n/a | 1 | 0 | nonemptyCart | QTY(1,0)[0<=i&&i<n] | 2715 |
N4 | unset | 3 | 1 | itemA | 10 | 10 | 1 | itemB | 10 | 10 | 1 | itemC | 10 | 0 | 2 | 1 | nonemptyCart | QTY(2,1)[0<=i&&i<n] | 2588 |
N5 | itemB | 3 | 0 | itemA | 2 | 2 | 0 | itemB | 2 | 2 | 0 | itemC | 2 | 2 | n/a | n/a | shopping | CART | 2470 |
N6 | unset | 1 | 1 | itemC | 1 | 1 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | 0 | 2 | nonemptyCart | QTY(0,2)[0<=i&&i<n] | 2365 |
N7 | itemC | 2 | 0 | itemB | 10 | 10 | 0 | itemC | 10 | 10 | n/a | n/a | n/a | n/a | n/a | n/a | shopping | CART | 2270 |
N8 | unset | 3 | 1 | itemA | 1 | 1 | 1 | itemB | 1 | 2 | 1 | itemC | 1 | 10 | 1 | 10 | nonemptyCart | QTY(1,10)[0<=i&&i<n] | 2187 |
N9 | unset | 3 | 0 | itemA | 10 | 2 | 0 | itemB | 10 | 1 | 0 | itemC | 10 | 10 | 2 | 2 | nonemptyCart | QTY(2,2)[0<=i&&i<n] | 2121 |
N10 | unset | 3 | 1 | itemA | 10 | 2 | 1 | itemB | 1 | 0 | 1 | itemC | 2 | 2 | 0 | 0 | nonemptyCart | QTY(0,0)[0<=i&&i<n] | 2060 |
N11 | unset | 2 | 0 | itemA | 1 | 2 | 0 | itemC | 2 | 2 | n/a | n/a | n/a | n/a | 0 | 1 | nonemptyCart | QTY(0,1)[0<=i&&i<n] | 2004 |
N12 | unset | 3 | 0 | itemA | 1 | 1 | 0 | itemB | 1 | 1 | 0 | itemC | 1 | 1 | n/a | n/a | checkout | CART | 1950 |
N13 | unset | 1 | 0 | itemC | 10 | 0 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | 0 | 10 | nonemptyCart | QTY(0,10)[0<=i&&i<n] | 1900 |
N14 | unset | 3 | 0 | itemA | 1 | 10 | 0 | itemB | 10 | 2 | 0 | itemC | 2 | 1 | 2 | 0 | nonemptyCart | QTY(2,0)[0<=i&&i<n] | 1857 |
N15 | unset | 3 | 1 | itemA | 2 | 10 | 1 | itemB | 2 | 0 | 1 | itemC | 2 | 10 | 1 | 2 | nonemptyCart | QTY(1,2)[0<=i&&i<n] | 1817 |
N16 | unset | 3 | 0 | itemA | 2 | 1 | 0 | itemB | 2 | 10 | 0 | itemC | 2 | 2 | 2 | 10 | nonemptyCart | QTY(2,10)[0<=i&&i<n] | 1778 |
N17 | unset | 1 | 0 | itemB | 2 | 2 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | nonemptyCart | UPDATE | 1742 |
N18 | unset | 2 | 0 | itemA | 1 | 0 | 0 | itemC | 1 | 0 | n/a | n/a | n/a | n/a | 1 | 1 | nonemptyCart | QTY(1,1)[0<=i&&i<n] | 1707 |
N19 | unset | 3 | 1 | itemA | 10 | 1 | 1 | itemB | 10 | 0 | 0 | itemC | 10 | 1 | 2 | n/a | nonemptyCart | CHECK(2)[0<=i&&i<n] | 1672 |
N20 | unset | 3 | 1 | itemA | 1 | 2 | 1 | itemB | 1 | 10 | 1 | itemC | 1 | 1 | 1 | n/a | nonemptyCart | CHECK(1)[0<=i&&i<n] | 1642 |
N21 | itemB | 0 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | shopping | CART | 1613 |
N22 | unset | 3 | 0 | itemA | 1 | 10 | 1 | itemB | 1 | 1 | 1 | itemC | 1 | 2 | 0 | 2 | nonemptyCart | QTY(0,2)[0<=i&&i<n] | 1586 |
N23 | itemA | 3 | 0 | itemA | 1 | 1 | 0 | itemB | 1 | 1 | 0 | itemC | 10 | 10 | n/a | n/a | shopping | CART | 1560 |
N24 | unset | 1 | 1 | itemB | 2 | 10 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | 0 | 0 | nonemptyCart | QTY(0,0)[0<=i&&i<n] | 1536 |
N25 | unset | 3 | 1 | itemA | 10 | 0 | 1 | itemB | 10 | 2 | 1 | itemC | 10 | 2 | 0 | 10 | nonemptyCart | QTY(0,10)[0<=i&&i<n] | 1512 |
N26 | unset | 3 | 1 | itemA | 2 | 0 | 1 | itemB | 2 | 1 | 1 | itemC | 2 | 1 | 0 | 1 | nonemptyCart | QTY(0,1)[0<=i&&i<n] | 1491 |
N27 | unset | 3 | 1 | itemA | 1 | 0 | 1 | itemB | 10 | 10 | 0 | itemC | 1 | 10 | n/a | n/a | nonemptyCart | UPDATE | 1471 |
N28 | unset | 2 | 0 | itemB | 10 | 0 | 0 | itemC | 10 | 2 | n/a | n/a | n/a | n/a | 1 | 10 | nonemptyCart | QTY(1,10)[0<=i&&i<n] | 1453 |
N29 | unset | 1 | 0 | itemC | 2 | 2 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | checkout | CART | 1435 |
N30 | unset | 1 | 1 | itemA | 2 | 1 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | 0 | n/a | nonemptyCart | CHECK(0)[0<=i&&i<n] | 1418 |
N31 | unset | 3 | 1 | itemA | 2 | 1 | 1 | itemB | 10 | 1 | 1 | itemC | 1 | 0 | 2 | 0 | nonemptyCart | QTY(2,0)[0<=i&&i<n] | 1401 |
N32 | unset | 2 | 1 | itemB | 2 | 2 | 1 | itemC | 1 | 10 | n/a | n/a | n/a | n/a | 1 | 2 | nonemptyCart | QTY(1,2)[0<=i&&i<n] | 1385 |
N33 | unset | 1 | 0 | itemB | 10 | 1 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | 0 | 1 | nonemptyCart | QTY(0,1)[0<=i&&i<n] | 1369 |
N34 | unset | 3 | 1 | itemA | 2 | 2 | 0 | itemB | 2 | 2 | 1 | itemC | 2 | 0 | 0 | 2 | nonemptyCart | QTY(0,2)[0<=i&&i<n] | 1354 |
N35 | unset | 3 | 1 | itemA | 10 | 10 | 1 | itemB | 10 | 10 | 1 | itemC | 10 | 0 | 1 | 0 | nonemptyCart | QTY(1,0)[0<=i&&i<n] | 1339 |
N36 | unset | 3 | 0 | itemA | 2 | 1 | 0 | itemB | 2 | 10 | 0 | itemC | 2 | 2 | 1 | 1 | nonemptyCart | QTY(1,1)[0<=i&&i<n] | 1325 |
N37 | unset | 2 | 0 | itemA | 2 | 1 | 1 | itemC | 10 | 0 | n/a | n/a | n/a | n/a | 1 | n/a | nonemptyCart | CHECK(1)[0<=i&&i<n] | 1312 |
N38 | itemC | 3 | 0 | itemA | 1 | 1 | 0 | itemB | 1 | 1 | 0 | itemC | 1 | 1 | n/a | n/a | shopping | CART | 1299 |
N39 | unset | 3 | 1 | itemA | 10 | 10 | 1 | itemB | 2 | 1 | 0 | itemC | 1 | 1 | 2 | 10 | nonemptyCart | QTY(2,10)[0<=i&&i<n] | 1286 |
N40 | unset | 3 | 0 | itemA | 1 | 0 | 0 | itemB | 1 | 0 | 0 | itemC | 1 | 0 | 2 | 1 | nonemptyCart | QTY(2,1)[0<=i&&i<n] | 1275 |
N41 | itemC | 1 | 0 | itemC | 2 | 2 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | shopping | CART | 1265 |
N42 | unset | 3 | 1 | itemA | 2 | 0 | 1 | itemB | 2 | 1 | 1 | itemC | 2 | 1 | 2 | 2 | nonemptyCart | QTY(2,2)[0<=i&&i<n] | 1255 |
N43 | unset | 3 | 0 | itemA | 10 | 2 | 0 | itemB | 10 | 1 | 0 | itemC | 10 | 10 | 0 | 0 | nonemptyCart | QTY(0,0)[0<=i&&i<n] | 1246 |
N44 | unset | 2 | 1 | itemB | 2 | 2 | 1 | itemC | 1 | 10 | n/a | n/a | n/a | n/a | 0 | 10 | nonemptyCart | QTY(0,10)[0<=i&&i<n] | 1237 |
N45 | unset | 3 | 1 | itemA | 10 | 10 | 1 | itemB | 10 | 10 | 1 | itemC | 10 | 0 | 1 | 1 | nonemptyCart | QTY(1,1)[0<=i&&i<n] | 1229 |
N46 | unset | 3 | 1 | itemA | 2 | 2 | 0 | itemB | 2 | 2 | 1 | itemC | 2 | 0 | 2 | n/a | nonemptyCart | CHECK(2)[0<=i&&i<n] | 1221 |
N47 | itemB | 2 | 0 | itemB | 1 | 1 | 0 | itemC | 1 | 1 | n/a | n/a | n/a | n/a | n/a | n/a | shopping | CART | 1213 |
N48 | unset | 3 | 1 | itemA | 2 | 10 | 0 | itemB | 1 | 0 | 1 | itemC | 10 | 0 | 1 | 10 | nonemptyCart | QTY(1,10)[0<=i&&i<n] | 1205 |
N49 | unset | 3 | 0 | itemA | 1 | 10 | 0 | itemB | 10 | 2 | 0 | itemC | 2 | 1 | 1 | 2 | nonemptyCart | QTY(1,2)[0<=i&&i<n] | 1198 |
N50 | unset | 3 | 0 | itemA | 1 | 10 | 1 | itemB | 1 | 1 | 1 | itemC | 1 | 2 | 2 | n/a | nonemptyCart | CHECK(2)[0<=i&&i<n] | 1191 |
N51 | unset | 3 | 1 | itemA | 10 | 0 | 1 | itemB | 10 | 2 | 1 | itemC | 10 | 2 | 0 | n/a | nonemptyCart | CHECK(0)[0<=i&&i<n] | 1184 |
N52 | unset | 2 | 1 | itemB | 10 | 2 | 1 | itemC | 10 | 0 | n/a | n/a | n/a | n/a | 0 | 2 | nonemptyCart | QTY(0,2)[0<=i&&i<n] | 1177 |
N53 | itemA | 2 | 0 | itemB | 2 | 2 | 0 | itemC | 2 | 2 | n/a | n/a | n/a | n/a | n/a | n/a | shopping | CART | 1170 |
N54 | unset | 2 | 0 | itemB | 10 | 1 | 0 | itemC | 1 | 2 | n/a | n/a | n/a | n/a | n/a | n/a | nonemptyCart | UPDATE | 1163 |
N55 | unset | 2 | 0 | itemB | 10 | 10 | 0 | itemC | 2 | 2 | n/a | n/a | n/a | n/a | n/a | n/a | checkout | CART | 1156 |
N56 | unset | 3 | 0 | itemA | 2 | 1 | 0 | itemB | 2 | 10 | 0 | itemC | 2 | 2 | 1 | 0 | nonemptyCart | QTY(1,0)[0<=i&&i<n] | 1150 |
N57 | unset | 3 | 0 | itemA | 10 | 2 | 0 | itemB | 10 | 1 | 0 | itemC | 10 | 10 | 1 | n/a | nonemptyCart | CHECK(1)[0<=i&&i<n] | 1144 |
N58 | itemA | 3 | 0 | itemA | 10 | 10 | 0 | itemB | 10 | 10 | 0 | itemC | 1 | 1 | n/a | n/a | shopping | CART | 1138 |
N59 | itemB | 3 | 0 | itemA | 10 | 10 | 0 | itemB | 10 | 10 | 0 | itemC | 1 | 1 | n/a | n/a | shopping | CART | 1132 |
N60 | unset | 3 | 0 | itemA | 1 | 0 | 1 | itemB | 2 | 10 | 1 | itemC | 10 | 10 | 2 | 0 | nonemptyCart | QTY(2,0)[0<=i&&i<n] | 1126 |
N61 | unset | 3 | 1 | itemA | 2 | 10 | 1 | itemB | 2 | 0 | 1 | itemC | 2 | 10 | 0 | 10 | nonemptyCart | QTY(0,10)[0<=i&&i<n] | 1121 |
N62 | unset | 3 | 1 | itemA | 1 | 2 | 1 | itemB | 1 | 10 | 1 | itemC | 1 | 1 | 1 | 0 | nonemptyCart | QTY(1,0)[0<=i&&i<n] | 1116 |
N63 | unset | 3 | 0 | itemA | 2 | 1 | 0 | itemB | 2 | 10 | 0 | itemC | 2 | 2 | 1 | 10 | nonemptyCart | QTY(1,10)[0<=i&&i<n] | 1111 |
N64 | unset | 2 | 0 | itemA | 1 | 2 | 0 | itemC | 2 | 2 | n/a | n/a | n/a | n/a | 0 | 0 | nonemptyCart | QTY(0,0)[0<=i&&i<n] | 1106 |
N65 | unset | 3 | 0 | itemA | 1 | 0 | 0 | itemB | 1 | 0 | 0 | itemC | 1 | 0 | 0 | 1 | nonemptyCart | QTY(0,1)[0<=i&&i<n] | 1101 |
N66 | itemC | unset | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | shopping | CART | 1096 |
N67 | unset | 2 | 1 | itemB | 2 | 0 | 1 | itemC | 2 | 1 | n/a | n/a | n/a | n/a | 0 | n/a | nonemptyCart | CHECK(0)[0<=i&&i<n] | 1091 |
N68 | unset | 3 | 1 | itemA | 10 | 2 | 1 | itemB | 1 | 0 | 1 | itemC | 2 | 2 | 2 | 0 | nonemptyCart | QTY(2,0)[0<=i&&i<n] | 1086 |
N69 | unset | 3 | 1 | itemA | 2 | 0 | 1 | itemB | 2 | 1 | 1 | itemC | 2 | 1 | 2 | 1 | nonemptyCart | QTY(2,1)[0<=i&&i<n] | 1081 |
N70 | unset | 3 | 0 | itemA | 1 | 0 | 0 | itemB | 1 | 0 | 0 | itemC | 1 | 0 | 2 | 2 | nonemptyCart | QTY(2,2)[0<=i&&i<n] | 1076 |
N71 | unset | 3 | 0 | itemA | 1 | 0 | 0 | itemB | 1 | 0 | 0 | itemC | 1 | 0 | 2 | 10 | nonemptyCart | QTY(2,10)[0<=i&&i<n] | 1071 |
N72 | unset | 3 | 1 | itemA | 2 | 10 | 0 | itemB | 2 | 1 | 0 | itemC | 2 | 2 | n/a | n/a | nonemptyCart | UPDATE | 1066 |
N73 | unset | 3 | 0 | itemA | 1 | 0 | 1 | itemB | 2 | 10 | 1 | itemC | 10 | 10 | 0 | 2 | nonemptyCart | QTY(0,2)[0<=i&&i<n] | 1062 |
N74 | unset | 3 | 1 | itemA | 2 | 1 | 1 | itemB | 10 | 1 | 1 | itemC | 1 | 0 | 0 | 10 | nonemptyCart | QTY(0,10)[0<=i&&i<n] | 1058 |
N75 | unset | 3 | 1 | itemA | 10 | 0 | 1 | itemB | 10 | 2 | 1 | itemC | 10 | 2 | 1 | 2 | nonemptyCart | QTY(1,2)[0<=i&&i<n] | 1054 |
N76 | itemC | 3 | 0 | itemA | 1 | 1 | 0 | itemB | 2 | 2 | 0 | itemC | 2 | 2 | n/a | n/a | shopping | CART | 1050 |
N77 | unset | 3 | 1 | itemA | 2 | 2 | 0 | itemB | 2 | 2 | 1 | itemC | 2 | 0 | 1 | n/a | nonemptyCart | CHECK(1)[0<=i&&i<n] | 1046 |
N78 | unset | 1 | 1 | itemC | 10 | 10 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | 0 | 1 | nonemptyCart | QTY(0,1)[0<=i&&i<n] | 1042 |
N79 | unset | 3 | 0 | itemA | 1 | 0 | 1 | itemB | 2 | 10 | 1 | itemC | 10 | 10 | 0 | 1 | nonemptyCart | QTY(0,1)[0<=i&&i<n] | 1038 |
N80 | unset | 3 | 1 | itemA | 2 | 1 | 1 | itemB | 10 | 1 | 1 | itemC | 1 | 0 | 1 | 2 | nonemptyCart | QTY(1,2)[0<=i&&i<n] | 1034 |
N81 | unset | 3 | 1 | itemA | 10 | 0 | 1 | itemB | 10 | 2 | 1 | itemC | 10 | 2 | 2 | 10 | nonemptyCart | QTY(2,10)[0<=i&&i<n] | 1030 |
N82 | unset | 3 | 0 | itemA | 1 | 1 | 0 | itemB | 10 | 10 | 0 | itemC | 2 | 2 | n/a | n/a | checkout | CART | 1026 |
N83 | unset | 3 | 0 | itemA | 1 | 0 | 1 | itemB | 2 | 10 | 1 | itemC | 10 | 10 | 2 | n/a | nonemptyCart | CHECK(2)[0<=i&&i<n] | 1023 |
N84 | unset | 3 | 1 | itemA | 1 | 2 | 1 | itemB | 1 | 10 | 1 | itemC | 1 | 1 | 0 | n/a | nonemptyCart | CHECK(0)[0<=i&&i<n] | 1020 |
N85 | unset | 3 | 1 | itemA | 2 | 10 | 1 | itemB | 2 | 0 | 1 | itemC | 2 | 10 | 0 | n/a | nonemptyCart | CHECK(0)[0<=i&&i<n] | 1017 |
N86 | unset | 1 | 0 | itemC | 10 | 0 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | 0 | 0 | nonemptyCart | QTY(0,0)[0<=i&&i<n] | 1014 |
N87 | unset | 3 | 1 | itemA | 2 | 1 | 1 | itemB | 10 | 1 | 1 | itemC | 1 | 0 | 0 | 0 | nonemptyCart | QTY(0,0)[0<=i&&i<n] | 1011 |
N88 | unset | 3 | 1 | itemA | 1 | 1 | 1 | itemB | 1 | 2 | 1 | itemC | 1 | 10 | 1 | 1 | nonemptyCart | QTY(1,1)[0<=i&&i<n] | 1008 |
N89 | unset | 3 | 1 | itemA | 1 | 1 | 1 | itemB | 1 | 2 | 1 | itemC | 1 | 10 | 2 | 1 | nonemptyCart | QTY(2,1)[0<=i&&i<n] | 1005 |
N90 | unset | 3 | 0 | itemA | 2 | 1 | 0 | itemB | 2 | 10 | 0 | itemC | 2 | 2 | 2 | 2 | nonemptyCart | QTY(2,2)[0<=i&&i<n] | 1002 |
N91 | unset | 3 | 1 | itemA | 2 | 1 | 0 | itemB | 1 | 0 | 0 | itemC | 10 | 10 | n/a | n/a | nonemptyCart | UPDATE | 999 |
N92 | unset | 2 | 0 | itemA | 1 | 2 | 0 | itemC | 2 | 2 | n/a | n/a | n/a | n/a | 0 | 10 | nonemptyCart | QTY(0,10)[0<=i&&i<n] | 997 |
N93 | unset | 3 | 1 | itemA | 10 | 1 | 1 | itemB | 10 | 0 | 0 | itemC | 10 | 1 | 0 | 10 | nonemptyCart | QTY(0,10)[0<=i&&i<n] | 995 |
N94 | itemB | 1 | 0 | itemC | 1 | 1 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | shopping | CART | 993 |
N95 | itemA | 1 | 0 | itemC | 1 | 1 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | shopping | CART | 991 |
N96 | itemA | 3 | 0 | itemA | 1 | 1 | 0 | itemB | 1 | 1 | 0 | itemC | 2 | 2 | n/a | n/a | shopping | CART | 989 |
N97 | itemB | 3 | 0 | itemA | 1 | 1 | 0 | itemB | 1 | 1 | 0 | itemC | 10 | 10 | n/a | n/a | shopping | CART | 987 |
N98 | itemC | 3 | 0 | itemA | 1 | 1 | 0 | itemB | 1 | 1 | 0 | itemC | 10 | 10 | n/a | n/a | shopping | CART | 985 |
N99 | unset | 2 | 1 | itemB | 2 | 0 | 1 | itemC | 2 | 1 | n/a | n/a | n/a | n/a | 1 | n/a | nonemptyCart | CHECK(1)[0<=i&&i<n] | 983 |
N100 | unset | 3 | 0 | itemA | 1 | 10 | 1 | itemB | 1 | 1 | 1 | itemC | 1 | 2 | 1 | n/a | nonemptyCart | CHECK(1)[0<=i&&i<n] | 981 |
N101 | unset | 2 | 1 | itemB | 2 | 0 | 1 | itemC | 2 | 1 | n/a | n/a | n/a | n/a | 1 | 1 | nonemptyCart | QTY(1,1)[0<=i&&i<n] | 979 |
N102 | unset | 2 | 0 | itemA | 10 | 2 | 0 | itemC | 10 | 1 | n/a | n/a | n/a | n/a | 1 | 10 | nonemptyCart | QTY(1,10)[0<=i&&i<n] | 977 |
N103 | unset | 3 | 1 | itemA | 1 | 2 | 1 | itemB | 1 | 10 | 1 | itemC | 1 | 1 | 0 | 0 | nonemptyCart | QTY(0,0)[0<=i&&i<n] | 975 |
N104 | unset | 3 | 1 | itemA | 10 | 0 | 1 | itemB | 10 | 2 | 1 | itemC | 10 | 2 | 0 | 1 | nonemptyCart | QTY(0,1)[0<=i&&i<n] | 973 |
N105 | unset | 3 | 1 | itemA | 10 | 1 | 1 | itemB | 10 | 0 | 0 | itemC | 10 | 1 | 0 | 2 | nonemptyCart | QTY(0,2)[0<=i&&i<n] | 971 |
N106 | unset | 3 | 1 | itemA | 1 | 1 | 1 | itemB | 1 | 2 | 1 | itemC | 1 | 10 | 1 | 0 | nonemptyCart | QTY(1,0)[0<=i&&i<n] | 969 |
N107 | unset | 3 | 1 | itemA | 1 | 2 | 1 | itemB | 1 | 10 | 1 | itemC | 1 | 1 | 1 | 1 | nonemptyCart | QTY(1,1)[0<=i&&i<n] | 967 |
N108 | unset | 3 | 1 | itemA | 10 | 2 | 1 | itemB | 1 | 0 | 1 | itemC | 2 | 2 | 2 | 1 | nonemptyCart | QTY(2,1)[0<=i&&i<n] | 965 |
N109 | unset | 3 | 0 | itemA | 1 | 10 | 0 | itemB | 10 | 2 | 0 | itemC | 2 | 1 | 2 | 2 | nonemptyCart | QTY(2,2)[0<=i&&i<n] | 963 |
N110 | unset | 3 | 0 | itemA | 10 | 2 | 0 | itemB | 10 | 1 | 0 | itemC | 10 | 10 | 2 | 10 | nonemptyCart | QTY(2,10)[0<=i&&i<n] | 961 |
N111 | unset | 3 | 0 | itemA | 1 | 1 | 0 | itemB | 1 | 1 | 0 | itemC | 10 | 10 | n/a | n/a | checkout | CART | 959 |
N112 | itemB | unset | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | shopping | CART | 958 |
N113 | itemA | 0 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | shopping | CART | 957 |
N114 | itemC | 0 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | shopping | CART | 956 |
N115 | unset | 1 | 0 | itemC | 10 | 0 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | 0 | n/a | nonemptyCart | CHECK(0)[0<=i&&i<n] | 955 |
N116 | unset | 2 | 0 | itemA | 1 | 0 | 0 | itemC | 1 | 0 | n/a | n/a | n/a | n/a | 1 | 0 | nonemptyCart | QTY(1,0)[0<=i&&i<n] | 954 |
N117 | unset | 3 | 1 | itemA | 2 | 0 | 1 | itemB | 2 | 1 | 1 | itemC | 2 | 1 | 1 | 10 | nonemptyCart | QTY(1,10)[0<=i&&i<n] | 953 |
N118 | unset | 1 | 0 | itemC | 10 | 10 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | nonemptyCart | UPDATE | 952 |
N119 | unset | 3 | 0 | itemA | 2 | 2 | 1 | itemB | 10 | 2 | 0 | itemC | 2 | 1 | n/a | n/a | nonemptyCart | UPDATE | 951 |
The test cases in partition 2 test the allowed transitions from all states to the nonemptyCart state
with all allowed pairs of factor values.
Test cases N2, N4, N5, N12 and N27 are set up as illustrated below.
The items already in the cart are constrained to be different, to appear in separate cart positions,
and blocks with the UPDATE event are constrained not to yield an empty cart.
In addition the values for newQ[0], newQ[1] and newQ[2] are constrained to be
the fixed values of qty[0], qty[1] and qty[2] respectively
for transitions from shopping and checkout.
This is because the exit action of the
cart state
sets newQ[i] equal to qty[i].
(Any new quantity entered is abandoned if the cart is not updated.)
So the value for newQ[i] is constrained to be the same as qty[i] before the transition back to nonemptyCart.
The events CHECK(i) and QTY(i,q) are expressed in terms of the fixed values of i and q as well.
The fixed values conversion procedure
is used to convert the functionally dependent values, qty[0], qty[1], qty[2], CHECK(i) and QTY(i,q), to
fixed values form.
N2 is set up by placing itemA, itemB and itemC in the cart from the shopping page.
New quantities of 0 for itemA, 0 for itemB and 0 for itemC are entered.
The delete box is checked for itemA
to trigger the transition to nonemptyCart.
N4 is set up by placing itemA, itemB and itemC in the cart from the shopping page.
New quantities of 10 for itemA, 10 for itemB and 10 for itemC are entered; the update button is clicked.
The delete boxes are checked for itemA, itemB and itemC.
A new quantity of 0 is entered for itemC.
Another new quantity of 1 is entered for itemC
to trigger the transition to nonemptyCart.
N5 is set up by placing itemA, itemB and itemC in the cart from the shopping page.
New quantities of 2 for itemA, 2 for itemB and 2 for itemC are entered; the update button is clicked.
The shop button is clicked, and then another itemB is placed in the cart from the shopping page
to trigger the transition to nonemptyCart.
N12 is set up by placing itemA, itemB and itemC in the cart from the shopping page.
The checkout button is clicked, and then the cart button is clicked
to trigger the transition to nonemptyCart.
N27 is set up by placing itemA, itemB and itemC in the cart from the shopping page.
A new quantity of 10 is entered for itemB, and the update button is clicked.
The delete boxes are checked for itemA and itemB.
New quantities of 0 for itemA and 10 for itemC are entered.
The update button is clicked to trigger the transition to nonemptyCart.
#3.
states to shopping
Test Case ID |
newItem |
n |
delChk[0] |
item[0] |
qty[0] |
newQ[0] |
delChk[1] |
item[1] |
qty[1] |
newQ[1] |
delChk[2] |
item[2] |
qty[2] |
newQ[2] |
i |
q |
state |
event |
Combo Countdown |
| 1 Value | 4 Values | 3 Values | 4 Values | 4 Values | 5 Values | 3 Values | 3 Values | 4 Values | 5 Values | 3 Values | 2 Values | 4 Values | 5 Values | 1 Value | 1 Value | 2 Values | 1 Value | 1411 |
S1 | unset | 0 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | emptyCart | SHOP | 1258 |
S2 | unset | 3 | 0 | itemA | 1 | 0 | 0 | itemB | 1 | 0 | 0 | itemC | 1 | 0 | n/a | n/a | nonemptyCart | SHOP | 1111 |
S3 | unset | 2 | 1 | itemB | 2 | 0 | 1 | itemC | 2 | 1 | n/a | n/a | n/a | n/a | n/a | n/a | nonemptyCart | SHOP | 995 |
S4 | unset | 3 | 1 | itemA | 10 | 10 | 1 | itemB | 10 | 10 | 1 | itemC | 10 | 0 | n/a | n/a | nonemptyCart | SHOP | 898 |
S5 | unset | 3 | 0 | itemA | 2 | 1 | 0 | itemB | 2 | 10 | 0 | itemC | 2 | 2 | n/a | n/a | nonemptyCart | SHOP | 831 |
S6 | unset | 1 | 0 | itemC | 2 | 2 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | nonemptyCart | SHOP | 767 |
S7 | unset | 2 | 0 | itemA | 2 | 10 | 0 | itemC | 10 | 2 | n/a | n/a | n/a | n/a | n/a | n/a | nonemptyCart | SHOP | 718 |
S8 | unset | 3 | 0 | itemA | 10 | 2 | 0 | itemB | 10 | 1 | 0 | itemC | 10 | 10 | n/a | n/a | nonemptyCart | SHOP | 674 |
S9 | unset | 3 | 1 | itemA | 1 | 2 | 1 | itemB | 1 | 10 | 1 | itemC | 1 | 1 | n/a | n/a | nonemptyCart | SHOP | 638 |
S10 | unset | 2 | 1 | itemB | 10 | 1 | 1 | itemC | 1 | 2 | n/a | n/a | n/a | n/a | n/a | n/a | nonemptyCart | SHOP | 606 |
S11 | unset | 1 | 1 | itemC | 1 | 1 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | nonemptyCart | SHOP | 583 |
S12 | unset | 3 | 1 | itemA | 2 | 10 | 1 | itemB | 2 | 0 | 1 | itemC | 2 | 10 | n/a | n/a | nonemptyCart | SHOP | 561 |
S13 | unset | 3 | 1 | itemA | 10 | 0 | 1 | itemB | 10 | 2 | 1 | itemC | 10 | 2 | n/a | n/a | nonemptyCart | SHOP | 543 |
S14 | unset | 3 | 0 | itemA | 1 | 10 | 1 | itemB | 1 | 1 | 1 | itemC | 1 | 2 | n/a | n/a | nonemptyCart | SHOP | 528 |
S15 | unset | 2 | 1 | itemB | 10 | 2 | 1 | itemC | 10 | 0 | n/a | n/a | n/a | n/a | n/a | n/a | nonemptyCart | SHOP | 514 |
S16 | unset | 3 | 0 | itemA | 1 | 10 | 0 | itemB | 10 | 2 | 0 | itemC | 2 | 1 | n/a | n/a | nonemptyCart | SHOP | 500 |
S17 | unset | 1 | 0 | itemC | 10 | 0 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | nonemptyCart | SHOP | 488 |
S18 | unset | 1 | 1 | itemB | 2 | 10 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | nonemptyCart | SHOP | 477 |
S19 | unset | 3 | 1 | itemA | 2 | 2 | 0 | itemB | 2 | 2 | 1 | itemC | 2 | 0 | n/a | n/a | nonemptyCart | SHOP | 466 |
S20 | unset | 2 | 1 | itemB | 1 | 10 | 1 | itemC | 10 | 10 | n/a | n/a | n/a | n/a | n/a | n/a | nonemptyCart | SHOP | 456 |
S21 | unset | 3 | 1 | itemA | 10 | 1 | 1 | itemB | 10 | 0 | 0 | itemC | 10 | 1 | n/a | n/a | nonemptyCart | SHOP | 446 |
S22 | unset | 3 | 1 | itemA | 1 | 1 | 1 | itemB | 1 | 2 | 1 | itemC | 1 | 10 | n/a | n/a | nonemptyCart | SHOP | 438 |
S23 | unset | 3 | 1 | itemA | 2 | 0 | 1 | itemB | 2 | 1 | 1 | itemC | 2 | 1 | n/a | n/a | nonemptyCart | SHOP | 432 |
S24 | unset | 3 | 0 | itemA | 1 | 0 | 1 | itemB | 2 | 10 | 1 | itemC | 10 | 10 | n/a | n/a | nonemptyCart | SHOP | 426 |
S25 | unset | 1 | 0 | itemA | 1 | 0 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | nonemptyCart | SHOP | 421 |
S26 | unset | 3 | 1 | itemA | 2 | 1 | 1 | itemB | 10 | 1 | 1 | itemC | 1 | 0 | n/a | n/a | nonemptyCart | SHOP | 416 |
S27 | unset | 3 | 1 | itemA | 10 | 2 | 1 | itemB | 1 | 0 | 1 | itemC | 2 | 2 | n/a | n/a | nonemptyCart | SHOP | 412 |
S28 | unset | 3 | 1 | itemA | 2 | 10 | 0 | itemB | 1 | 0 | 1 | itemC | 10 | 0 | n/a | n/a | nonemptyCart | SHOP | 409 |
S29 | unset | 3 | 1 | itemA | 10 | 10 | 1 | itemB | 2 | 1 | 0 | itemC | 1 | 1 | n/a | n/a | nonemptyCart | SHOP | 406 |
S30 | unset | 2 | 0 | itemB | 10 | 0 | 0 | itemC | 10 | 2 | n/a | n/a | n/a | n/a | n/a | n/a | nonemptyCart | SHOP | 404 |
S31 | unset | 1 | 1 | itemC | 10 | 10 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | nonemptyCart | SHOP | 403 |
The test cases in partition 3 test the allowed transitions from all states to the shopping state
with all allowed pairs of factor values.
Test case S3 is set up as illustrated below.
The items already in the cart are constrained to be different, to appear in separate cart positions.
S3 is set up by placing itemB and itemC in the cart from the shopping page.
New quantities of 2 for itemB and 2 for itemC are entered, and the update button is clicked.
The delete boxes are checked for itemB and itemC.
New quantities of 0 for itemB and 1 for itemC are entered.
The shop button is clicked to trigger the transition to shopping.
#4.
states to checkout
Test Case ID |
newItem |
n |
delChk[0] |
item[0] |
qty[0] |
newQ[0] |
delChk[1] |
item[1] |
qty[1] |
newQ[1] |
delChk[2] |
item[2] |
qty[2] |
newQ[2] |
i |
q |
state |
event |
Combo Countdown |
| 1 Value | 3 Values | 2 Values | 3 Values | 3 Values | 4 Values | 3 Values | 3 Values | 4 Values | 5 Values | 3 Values | 2 Values | 4 Values | 5 Values | 1 Value | 1 Value | 1 Value | 1 Value | 1118 |
C1 | unset | 1 | 0 | itemA | 1 | 0 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | nonemptyCart | CHECKOUT | 965 |
C2 | unset | 3 | 1 | itemA | 10 | 1 | 1 | itemB | 10 | 0 | 0 | itemC | 10 | 1 | n/a | n/a | nonemptyCart | CHECKOUT | 827 |
C3 | unset | 3 | 1 | itemA | 2 | 2 | 0 | itemB | 2 | 2 | 1 | itemC | 2 | 0 | n/a | n/a | nonemptyCart | CHECKOUT | 719 |
C4 | unset | 2 | 1 | itemB | 10 | 10 | 1 | itemC | 1 | 1 | n/a | n/a | n/a | n/a | n/a | n/a | nonemptyCart | CHECKOUT | 620 |
C5 | unset | 3 | 0 | itemA | 1 | 10 | 1 | itemB | 1 | 1 | 1 | itemC | 1 | 2 | n/a | n/a | nonemptyCart | CHECKOUT | 555 |
C6 | unset | 2 | 0 | itemA | 10 | 1 | 0 | itemC | 2 | 10 | n/a | n/a | n/a | n/a | n/a | n/a | nonemptyCart | CHECKOUT | 508 |
C7 | unset | 3 | 0 | itemA | 1 | 0 | 1 | itemB | 2 | 10 | 1 | itemC | 10 | 10 | n/a | n/a | nonemptyCart | CHECKOUT | 470 |
C8 | unset | 1 | 0 | itemC | 2 | 2 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | nonemptyCart | CHECKOUT | 433 |
C9 | unset | 2 | 0 | itemB | 10 | 0 | 0 | itemC | 10 | 2 | n/a | n/a | n/a | n/a | n/a | n/a | nonemptyCart | CHECKOUT | 405 |
C10 | unset | 3 | 0 | itemA | 1 | 0 | 0 | itemB | 1 | 0 | 0 | itemC | 1 | 0 | n/a | n/a | nonemptyCart | CHECKOUT | 381 |
C11 | unset | 1 | 1 | itemC | 10 | 10 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | nonemptyCart | CHECKOUT | 363 |
C12 | unset | 3 | 0 | itemA | 1 | 10 | 0 | itemB | 10 | 2 | 0 | itemC | 2 | 1 | n/a | n/a | nonemptyCart | CHECKOUT | 345 |
C13 | unset | 3 | 1 | itemA | 2 | 1 | 1 | itemB | 10 | 1 | 1 | itemC | 1 | 0 | n/a | n/a | nonemptyCart | CHECKOUT | 329 |
C14 | unset | 3 | 1 | itemA | 10 | 2 | 1 | itemB | 1 | 0 | 1 | itemC | 2 | 2 | n/a | n/a | nonemptyCart | CHECKOUT | 314 |
C15 | unset | 3 | 0 | itemA | 10 | 2 | 0 | itemB | 10 | 1 | 0 | itemC | 10 | 10 | n/a | n/a | nonemptyCart | CHECKOUT | 300 |
C16 | unset | 2 | 1 | itemB | 2 | 2 | 1 | itemC | 1 | 10 | n/a | n/a | n/a | n/a | n/a | n/a | nonemptyCart | CHECKOUT | 288 |
C17 | unset | 3 | 1 | itemA | 1 | 1 | 1 | itemB | 1 | 2 | 1 | itemC | 1 | 10 | n/a | n/a | nonemptyCart | CHECKOUT | 276 |
C18 | unset | 1 | 0 | itemB | 10 | 1 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | nonemptyCart | CHECKOUT | 265 |
C19 | unset | 3 | 1 | itemA | 2 | 0 | 1 | itemB | 2 | 1 | 1 | itemC | 2 | 1 | n/a | n/a | nonemptyCart | CHECKOUT | 254 |
C20 | unset | 3 | 0 | itemA | 2 | 1 | 0 | itemB | 2 | 10 | 0 | itemC | 2 | 2 | n/a | n/a | nonemptyCart | CHECKOUT | 243 |
C21 | unset | 2 | 0 | itemA | 10 | 10 | 0 | itemC | 2 | 0 | n/a | n/a | n/a | n/a | n/a | n/a | nonemptyCart | CHECKOUT | 234 |
C22 | unset | 3 | 1 | itemA | 1 | 2 | 1 | itemB | 1 | 10 | 1 | itemC | 1 | 1 | n/a | n/a | nonemptyCart | CHECKOUT | 227 |
C23 | unset | 3 | 1 | itemA | 10 | 10 | 1 | itemB | 10 | 10 | 1 | itemC | 10 | 0 | n/a | n/a | nonemptyCart | CHECKOUT | 220 |
C24 | unset | 3 | 1 | itemA | 2 | 10 | 1 | itemB | 2 | 0 | 1 | itemC | 2 | 10 | n/a | n/a | nonemptyCart | CHECKOUT | 214 |
C25 | unset | 3 | 1 | itemA | 10 | 0 | 1 | itemB | 10 | 2 | 1 | itemC | 10 | 2 | n/a | n/a | nonemptyCart | CHECKOUT | 209 |
C26 | unset | 2 | 1 | itemB | 1 | 1 | 0 | itemC | 10 | 1 | n/a | n/a | n/a | n/a | n/a | n/a | nonemptyCart | CHECKOUT | 206 |
C27 | unset | 1 | 1 | itemC | 1 | 1 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | nonemptyCart | CHECKOUT | 204 |
C28 | unset | 3 | 1 | itemA | 2 | 10 | 0 | itemB | 1 | 0 | 1 | itemC | 10 | 0 | n/a | n/a | nonemptyCart | CHECKOUT | 202 |
C29 | unset | 3 | 1 | itemA | 10 | 10 | 1 | itemB | 2 | 1 | 0 | itemC | 1 | 1 | n/a | n/a | nonemptyCart | CHECKOUT | 200 |
C30 | unset | 1 | 0 | itemC | 10 | 0 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | nonemptyCart | CHECKOUT | 199 |
C31 | unset | 2 | 1 | itemB | 2 | 0 | 1 | itemC | 2 | 1 | n/a | n/a | n/a | n/a | n/a | n/a | nonemptyCart | CHECKOUT | 198 |
C32 | unset | 2 | 1 | itemB | 10 | 2 | 1 | itemC | 10 | 0 | n/a | n/a | n/a | n/a | n/a | n/a | nonemptyCart | CHECKOUT | 197 |
The test cases in partition 4 test the allowed transitions from all states to the checkout state
with all allowed pairs of factor values.
Test case C4 is set up as illustrated below.
The items already in the cart are constrained to be different, to appear in separate cart positions.
C4 is set up by placing itemB and itemC in the cart from the shopping page.
A new quantity 10 is entered for itemB, and the update button is clicked.
The delete boxes are checked for itemB and for itemC.
The checkout button is clicked to trigger the transition to checkout.
|