Testcover.com Testcover.com
Tutorial - Thermostat Example -
tempControl Integrated Transition Design

Home
Existing User Login
Brochure
Sign up for Risk-Free Trial
About Testcover.com
Frequently Asked Questions
Tutorial with Examples
->Equivalence Partitioning
->UML State Machines
--->Shopping Cart Example
--->Thermostat Example
--->Test Models, 3 Regions
--->Design Procedure
--->tempSet Designs
--->tempControl Designs
----->Stand-alone Transition
----->Integrated Transition
----->Integrated Target State
----->Integrated Propagation
--->fanControl Designs
->Definitions of Terms
Performance
WSDL Interface
Background
Partners
Registrations
Contact Information
The thermostat example illustrates pairwise testing using a Unified Modeling Language (UML) state machine diagram. This test design is for the tempControl region, which controls the heating and cooling according to the operating mode selected by the user. It illustrates the integrated transition model, in which states of other regions are included as test factors. Each state transition in this region has one partition.

Requirements summary. The user selects the temperature control mode with a sliding switch that indicates the mode: OFF, HEAT or COOL. In the OFF mode there is no heating or cooling. In the HEAT mode, the thermostat turns the furnace on when the room temperature is less than the heat setting. It turns the furnace off when the room temperature exceeds the heat setting by a small increment. In the COOL mode, the thermostat turns the air conditioner on when the room temperature is greater than the cool setting. It turns the air conditioner off when the room temperature is less than the cool setting by a small increment. Details of the temperature control operation are defined in the tempControl region of the UML state machine diagram.

Test model. In the tempControl region there are 5 leaf states: heatOffWait, heatOnWait, coolOffWait, coolOnWait, tempControlOff. There are 16 state transitions corresponding to partitions:

# tempControlOff to heatOffWait
# heatOffWait to heatOffWait
# heatOnWait to heatOffWait
# tempControlOff to heatOnWait
# heatOffWait to heatOnWait
# heatOnWait to heatOnWait
# tempControlOff to coolOffWait
# coolOffWait to coolOffWait
# coolOnWait to coolOffWait
# tempControlOff to coolOnWait
# coolOffWait to coolOnWait
# coolOnWait to coolOnWait
# heatOffWait to tempControlOff
# heatOnWait to tempControlOff
# coolOffWait to tempControlOff
# coolOnWait to tempControlOff

There are 7 test factors with values as follows.

Test FactorNumber of ValuesTest Factor Values
1. roomTemp4 49 70 78 100
2. heatTemp4 50 69 79 99
3. coolTemp4 50 69 79 99
4. tempSet state3 idleWait heatKeyWait coolKeyWait
5. tempControl state5 heatOffWait heatOnWait coolOffWait coolOnWait tempControlOff
6. fanControl state3 autoOffWait autoOnWait fanOn
7. event13 HEAT[roomTemp>=heatTemp] H_OFF_TIMEOUT[roomTemp>=heatTemp]
H_ON_TIMEOUT[roomTemp>heatTemp+dT]
HEAT[roomTemp<heatTemp] H_OFF_TIMEOUT[roomTemp<heatTemp]
H_ON_TIMEOUT[roomTemp<=heatTemp+dT]
COOL[roomTemp<=coolTemp] C_OFF_TIMEOUT[roomTemp<=coolTemp]
C_ON_TIMEOUT[roomTemp<coolTemp-dT]
COOL[roomTemp>coolTemp] C_OFF_TIMEOUT[roomTemp>coolTemp]
C_ON_TIMEOUT[roomTemp>=coolTemp-dT] OFF

The test design is constructed following steps 7-11 of the design procedure. There is a one-to-one relationship between the blocks of the tempControl stand-alone transition design and those of the integrated transition design, as shown in the tempControl mapping table. Each of the designs has one block in each of the 16 partitions.

All of the tempSet states are selected as test factor values for each block. Similarly, for the blocks triggered by the mode switch (HEAT, COOL, and OFF events) all of the fanControl states are selected. (These are the blocks with tempSetOff as the current or target state.) This selection will test some pairs of tempControl and fanControl states which are transient (e.g. tempControlOff with autoOnWait). However, for the blocks triggered by timeouts, based on testability considerations, only fanControl states which persist with the current tempControl state are selected. Thus, for example, in partition 2 block 1 (P2B1) autoOffWait and fanOn are selected for current states with heatOffWait, but autoOnWait is not.

The test case generator request is given below. The partition prefix TC:th indicates the region, tempControl (TC), and the transition, e.g. tempControlOff to heatOffWait (th), for each test case.
Thermostat Example - tempControl integrated transition design
roomTemp
heatTemp
coolTemp
tempSet state
tempControl state
fanControl state
event
#TC:th tempControlOff to heatOffWait
70 100
50 69
50 69
idleWait heatKeyWait coolKeyWait
tempControlOff
autoOffWait autoOnWait fanOn
HEAT[roomTemp>=heatTemp]
#TC:hh heatOffWait to heatOffWait
70 100
50 69
50 69
idleWait heatKeyWait coolKeyWait
heatOffWait
autoOffWait fanOn
H_OFF_TIMEOUT[roomTemp>=heatTemp]
#TC:Hh heatOnWait to heatOffWait
70 100
50 69
50 69
idleWait heatKeyWait coolKeyWait
heatOnWait
autoOnWait fanOn
H_ON_TIMEOUT[roomTemp>heatTemp+dT]
#TC:tH tempControlOff to heatOnWait
49 78
79 99
50 69
idleWait heatKeyWait coolKeyWait
tempControlOff
autoOffWait autoOnWait fanOn
HEAT[roomTemp<heatTemp]
#TC:hH heatOffWait to heatOnWait
49 78
79 99
50 69
idleWait heatKeyWait coolKeyWait
heatOffWait
autoOffWait fanOn
H_OFF_TIMEOUT[roomTemp<heatTemp]
#TC:HH heatOnWait to heatOnWait
49 78
79 99
50 69
idleWait heatKeyWait coolKeyWait
heatOnWait
autoOnWait fanOn
H_ON_TIMEOUT[roomTemp<=heatTemp+dT]
#TC:tc tempControlOff to coolOffWait
49 78
79 99
79 99
idleWait heatKeyWait coolKeyWait
tempControlOff
autoOffWait autoOnWait fanOn
COOL[roomTemp<=coolTemp]
#TC:cc coolOffWait to coolOffWait
49 78
79 99
79 99
idleWait heatKeyWait coolKeyWait
coolOffWait
autoOffWait fanOn
C_OFF_TIMEOUT[roomTemp<=coolTemp]
#TC:Cc coolOnWait to coolOffWait
49 78
79 99
79 99
idleWait heatKeyWait coolKeyWait
coolOnWait
autoOnWait fanOn
C_ON_TIMEOUT[roomTemp<coolTemp-dT]
#TC:tC tempControlOff to coolOnWait
70 100
79 99
50 69
idleWait heatKeyWait coolKeyWait
tempControlOff
autoOffWait autoOnWait fanOn
COOL[roomTemp>coolTemp]
#TC:cC coolOffWait to coolOnWait
70 100
79 99
50 69
idleWait heatKeyWait coolKeyWait
coolOffWait
autoOffWait fanOn
C_OFF_TIMEOUT[roomTemp>coolTemp]
#TC:CC coolOnWait to coolOnWait
70 100
79 99
50 69
idleWait heatKeyWait coolKeyWait
coolOnWait
autoOnWait fanOn
C_ON_TIMEOUT[roomTemp>=coolTemp-dT]
#TC:ht heatOffWait to tempControlOff
70 100
50 69
50 69
idleWait heatKeyWait coolKeyWait
heatOffWait
autoOffWait autoOnWait fanOn
OFF
#TC:Ht heatOnWait to tempControlOff
49 78
79 99
79 99
idleWait heatKeyWait coolKeyWait
heatOnWait
autoOffWait autoOnWait fanOn
OFF
#TC:ct coolOffWait to tempControlOff
49 78
79 99
79 99
idleWait heatKeyWait coolKeyWait
coolOffWait
autoOffWait autoOnWait fanOn
OFF
#TC:Ct coolOnWait to tempControlOff
70 100
50 69
50 69
idleWait heatKeyWait coolKeyWait
coolOnWait
autoOffWait autoOnWait fanOn
OFF

The tempControl region has 120 test cases in 16 partitions in the integrated transition design. The results tables follow.

#1. tempControlOff to heatOffWait
Test
Case ID
roomTemp heatTemp coolTemp tempSet state tempControl state fanControl state event Combo
Countdown
2 Values2 Values2 Values3 Values1 Value3 Values1 Value82
TC:th1706950coolKeyWaittempControlOfffanOnHEAT[roomTemp>=heatTemp]61
TC:th21005069idleWaittempControlOfffanOnHEAT[roomTemp>=heatTemp]43
TC:th31005050heatKeyWaittempControlOffautoOnWaitHEAT[roomTemp>=heatTemp]30
TC:th4706969heatKeyWaittempControlOffautoOffWaitHEAT[roomTemp>=heatTemp]19
TC:th5706969idleWaittempControlOffautoOnWaitHEAT[roomTemp>=heatTemp]13
TC:th61006969coolKeyWaittempControlOffautoOffWaitHEAT[roomTemp>=heatTemp]8
TC:th71005050idleWaittempControlOffautoOffWaitHEAT[roomTemp>=heatTemp]4
TC:th8705069coolKeyWaittempControlOffautoOnWaitHEAT[roomTemp>=heatTemp]1
TC:th9705050heatKeyWaittempControlOfffanOnHEAT[roomTemp>=heatTemp]0

The test cases in partition 1 test HEAT[roomTemp>=heatTemp] transitions from the tempControlOff state with all pairs of tempSet and fanControl states. Test cases TC:th3, TC:th5, and TC:th8 include the transient pair of current states tempControlOff with autoOnWait. These test cases are set up with tempControl in the coolOnWait state, as illustrated for TC:th3 below.

TC:th3 is set up by setting the temperature sensor simulator to 100, heatTemp to 50, and coolTemp to 50. The mode switch is set to COOL, and the fan switch is set to AUTO. After the tempSet, tempControl, and fanControl states are idleWait, coolOnWait, and autoOnWait, the SET button is pressed to take the tempSet state to heatKeyWait. The mode switch is moved from COOL through OFF to HEAT before the heatKeyWait and autoOnWait timeouts occur.

#2. heatOffWait to heatOffWait
Test
Case ID
roomTemp heatTemp coolTemp tempSet state tempControl state fanControl state event Combo
Countdown
2 Values2 Values2 Values3 Values1 Value2 Values1 Value71
TC:hh1706969coolKeyWaitheatOffWaitfanOnH_OFF_TIMEOUT[roomTemp>=heatTemp]50
TC:hh21005050coolKeyWaitheatOffWaitautoOffWaitH_OFF_TIMEOUT[roomTemp>=heatTemp]32
TC:hh31006969heatKeyWaitheatOffWaitautoOffWaitH_OFF_TIMEOUT[roomTemp>=heatTemp]22
TC:hh4705069idleWaitheatOffWaitautoOffWaitH_OFF_TIMEOUT[roomTemp>=heatTemp]13
TC:hh5705050heatKeyWaitheatOffWaitfanOnH_OFF_TIMEOUT[roomTemp>=heatTemp]6
TC:hh61006950idleWaitheatOffWaitfanOnH_OFF_TIMEOUT[roomTemp>=heatTemp]0

The test cases in partition 2 test H_OFF_TIMEOUT[roomTemp>=heatTemp] transitions from the heatOffWait state with all pairs of states for which the pairs of tempControl and fanControl states are persistent.

#3. heatOnWait to heatOffWait
Test
Case ID
roomTemp heatTemp coolTemp tempSet state tempControl state fanControl state event Combo
Countdown
2 Values2 Values2 Values3 Values1 Value2 Values1 Value71
TC:Hh1706969coolKeyWaitheatOnWaitfanOnH_ON_TIMEOUT[roomTemp>heatTemp+dT]50
TC:Hh21005050coolKeyWaitheatOnWaitautoOnWaitH_ON_TIMEOUT[roomTemp>heatTemp+dT]32
TC:Hh31006969heatKeyWaitheatOnWaitautoOnWaitH_ON_TIMEOUT[roomTemp>heatTemp+dT]22
TC:Hh4705069idleWaitheatOnWaitautoOnWaitH_ON_TIMEOUT[roomTemp>heatTemp+dT]13
TC:Hh5705050heatKeyWaitheatOnWaitfanOnH_ON_TIMEOUT[roomTemp>heatTemp+dT]6
TC:Hh61006950idleWaitheatOnWaitfanOnH_ON_TIMEOUT[roomTemp>heatTemp+dT]0

The test cases in partition 3 test H_ON_TIMEOUT[roomTemp>heatTemp+dT] transitions from the heatOnWait state with all pairs of states for which the pairs of tempControl and fanControl states are persistent.

#4. tempControlOff to heatOnWait
Test
Case ID
roomTemp heatTemp coolTemp tempSet state tempControl state fanControl state event Combo
Countdown
2 Values2 Values2 Values3 Values1 Value3 Values1 Value82
TC:tH1499950coolKeyWaittempControlOfffanOnHEAT[roomTemp<heatTemp]61
TC:tH2787969idleWaittempControlOfffanOnHEAT[roomTemp<heatTemp]43
TC:tH3787950heatKeyWaittempControlOffautoOnWaitHEAT[roomTemp<heatTemp]30
TC:tH4499969heatKeyWaittempControlOffautoOffWaitHEAT[roomTemp<heatTemp]19
TC:tH5499969idleWaittempControlOffautoOnWaitHEAT[roomTemp<heatTemp]13
TC:tH6789969coolKeyWaittempControlOffautoOffWaitHEAT[roomTemp<heatTemp]8
TC:tH7787950idleWaittempControlOffautoOffWaitHEAT[roomTemp<heatTemp]4
TC:tH8497969coolKeyWaittempControlOffautoOnWaitHEAT[roomTemp<heatTemp]1
TC:tH9497950heatKeyWaittempControlOfffanOnHEAT[roomTemp<heatTemp]0

The test cases in partition 4 test HEAT[roomTemp<heatTemp] transitions from the tempControlOff state with all pairs of tempSet and fanControl states. Test cases TC:tH3, TC:tH5, and TC:tH8 include the transient pair of current states tempControlOff with autoOnWait. These test cases are set up with tempControl in the heatOnWait state, as illustrated for TC:tH8 below.

TC:tH8 is set up by setting the temperature sensor simulator to 49, heatTemp to 79, and coolTemp to 69. The mode switch is set to HEAT, and the fan switch is set to AUTO. After the tempSet, tempControl, and fanControl states are idleWait, heatOnWait, and autoOnWait, the SET button is pressed twice to take the tempSet state to coolKeyWait. The mode switch is moved from HEAT through OFF and back to HEAT before the coolKeyWait and autoOnWait timeouts occur.

#5. heatOffWait to heatOnWait
Test
Case ID
roomTemp heatTemp coolTemp tempSet state tempControl state fanControl state event Combo
Countdown
2 Values2 Values2 Values3 Values1 Value2 Values1 Value71
TC:hH1499969coolKeyWaitheatOffWaitfanOnH_OFF_TIMEOUT[roomTemp<heatTemp]50
TC:hH2787950coolKeyWaitheatOffWaitautoOffWaitH_OFF_TIMEOUT[roomTemp<heatTemp]32
TC:hH3789969heatKeyWaitheatOffWaitautoOffWaitH_OFF_TIMEOUT[roomTemp<heatTemp]22
TC:hH4497969idleWaitheatOffWaitautoOffWaitH_OFF_TIMEOUT[roomTemp<heatTemp]13
TC:hH5497950heatKeyWaitheatOffWaitfanOnH_OFF_TIMEOUT[roomTemp<heatTemp]6
TC:hH6789950idleWaitheatOffWaitfanOnH_OFF_TIMEOUT[roomTemp<heatTemp]0

The test cases in partition 5 test H_OFF_TIMEOUT[roomTemp<heatTemp] transitions from the heatOffWait state with all pairs of states for which the pairs of tempControl and fanControl states are persistent.

#6. heatOnWait to heatOnWait
Test
Case ID
roomTemp heatTemp coolTemp tempSet state tempControl state fanControl state event Combo
Countdown
2 Values2 Values2 Values3 Values1 Value2 Values1 Value71
TC:HH1499969coolKeyWaitheatOnWaitfanOnH_ON_TIMEOUT[roomTemp<=heatTemp+dT]50
TC:HH2787950coolKeyWaitheatOnWaitautoOnWaitH_ON_TIMEOUT[roomTemp<=heatTemp+dT]32
TC:HH3789969heatKeyWaitheatOnWaitautoOnWaitH_ON_TIMEOUT[roomTemp<=heatTemp+dT]22
TC:HH4497969idleWaitheatOnWaitautoOnWaitH_ON_TIMEOUT[roomTemp<=heatTemp+dT]13
TC:HH5497950heatKeyWaitheatOnWaitfanOnH_ON_TIMEOUT[roomTemp<=heatTemp+dT]6
TC:HH6789950idleWaitheatOnWaitfanOnH_ON_TIMEOUT[roomTemp<=heatTemp+dT]0

The test cases in partition 6 test H_ON_TIMEOUT[roomTemp<=heatTemp+dT] transitions from the heatOnWait state with all pairs of states for which the pairs of tempControl and fanControl states are persistent.

#7. tempControlOff to coolOffWait
Test
Case ID
roomTemp heatTemp coolTemp tempSet state tempControl state fanControl state event Combo
Countdown
2 Values2 Values2 Values3 Values1 Value3 Values1 Value82
TC:tc1499979coolKeyWaittempControlOfffanOnCOOL[roomTemp<=coolTemp]61
TC:tc2787999idleWaittempControlOfffanOnCOOL[roomTemp<=coolTemp]43
TC:tc3787979heatKeyWaittempControlOffautoOnWaitCOOL[roomTemp<=coolTemp]30
TC:tc4499999heatKeyWaittempControlOffautoOffWaitCOOL[roomTemp<=coolTemp]19
TC:tc5499999idleWaittempControlOffautoOnWaitCOOL[roomTemp<=coolTemp]13
TC:tc6789999coolKeyWaittempControlOffautoOffWaitCOOL[roomTemp<=coolTemp]8
TC:tc7787979idleWaittempControlOffautoOffWaitCOOL[roomTemp<=coolTemp]4
TC:tc8497999coolKeyWaittempControlOffautoOnWaitCOOL[roomTemp<=coolTemp]1
TC:tc9497979heatKeyWaittempControlOfffanOnCOOL[roomTemp<=coolTemp]0

The test cases in partition 7 test COOL[roomTemp<=coolTemp] transitions from the tempControlOff state with all pairs of tempSet and fanControl states. Test cases TC:tc3, TC:tc5, and TC:tc8 include the transient pair of current states tempControlOff with autoOnWait. These test cases are set up with tempControl in the heatOnWait state, as illustrated for TC:tc3 below.

TC:tc3 is set up by setting the temperature sensor simulator to 78, heatTemp to 79, and coolTemp to 79. The mode switch is set to HEAT, and the fan switch is set to AUTO. After the tempSet, tempControl, and fanControl states are idleWait, heatOnWait, and autoOnWait, the SET button is pressed to take the tempSet state to heatKeyWait. The mode switch is moved from HEAT through OFF to COOL before the heatKeyWait and autoOnWait timeouts occur.

#8. coolOffWait to coolOffWait
Test
Case ID
roomTemp heatTemp coolTemp tempSet state tempControl state fanControl state event Combo
Countdown
2 Values2 Values2 Values3 Values1 Value2 Values1 Value71
TC:cc1499999coolKeyWaitcoolOffWaitfanOnC_OFF_TIMEOUT[roomTemp<=coolTemp]50
TC:cc2787979coolKeyWaitcoolOffWaitautoOffWaitC_OFF_TIMEOUT[roomTemp<=coolTemp]32
TC:cc3789999heatKeyWaitcoolOffWaitautoOffWaitC_OFF_TIMEOUT[roomTemp<=coolTemp]22
TC:cc4497999idleWaitcoolOffWaitautoOffWaitC_OFF_TIMEOUT[roomTemp<=coolTemp]13
TC:cc5497979heatKeyWaitcoolOffWaitfanOnC_OFF_TIMEOUT[roomTemp<=coolTemp]6
TC:cc6789979idleWaitcoolOffWaitfanOnC_OFF_TIMEOUT[roomTemp<=coolTemp]0

The test cases in partition 8 test C_OFF_TIMEOUT[roomTemp<=coolTemp] transitions from the coolOffWait state with all pairs of states for which the pairs of tempControl and fanControl states are persistent.

#9. coolOnWait to coolOffWait
Test
Case ID
roomTemp heatTemp coolTemp tempSet state tempControl state fanControl state event Combo
Countdown
2 Values2 Values2 Values3 Values1 Value2 Values1 Value71
TC:Cc1499999coolKeyWaitcoolOnWaitfanOnC_ON_TIMEOUT[roomTemp<coolTemp-dT]50
TC:Cc2787979coolKeyWaitcoolOnWaitautoOnWaitC_ON_TIMEOUT[roomTemp<coolTemp-dT]32
TC:Cc3789999heatKeyWaitcoolOnWaitautoOnWaitC_ON_TIMEOUT[roomTemp<coolTemp-dT]22
TC:Cc4497999idleWaitcoolOnWaitautoOnWaitC_ON_TIMEOUT[roomTemp<coolTemp-dT]13
TC:Cc5497979heatKeyWaitcoolOnWaitfanOnC_ON_TIMEOUT[roomTemp<coolTemp-dT]6
TC:Cc6789979idleWaitcoolOnWaitfanOnC_ON_TIMEOUT[roomTemp<coolTemp-dT]0

The test cases in partition 9 test C_ON_TIMEOUT[roomTemp<coolTemp-dT] transitions from the coolOnWait state with all pairs of states for which the pairs of tempControl and fanControl states are persistent.

#10. tempControlOff to coolOnWait
Test
Case ID
roomTemp heatTemp coolTemp tempSet state tempControl state fanControl state event Combo
Countdown
2 Values2 Values2 Values3 Values1 Value3 Values1 Value82
TC:tC1709950coolKeyWaittempControlOfffanOnCOOL[roomTemp>coolTemp]61
TC:tC21007969idleWaittempControlOfffanOnCOOL[roomTemp>coolTemp]43
TC:tC31007950heatKeyWaittempControlOffautoOnWaitCOOL[roomTemp>coolTemp]30
TC:tC4709969heatKeyWaittempControlOffautoOffWaitCOOL[roomTemp>coolTemp]19
TC:tC5709969idleWaittempControlOffautoOnWaitCOOL[roomTemp>coolTemp]13
TC:tC61009969coolKeyWaittempControlOffautoOffWaitCOOL[roomTemp>coolTemp]8
TC:tC71007950idleWaittempControlOffautoOffWaitCOOL[roomTemp>coolTemp]4
TC:tC8707969coolKeyWaittempControlOffautoOnWaitCOOL[roomTemp>coolTemp]1
TC:tC9707950heatKeyWaittempControlOfffanOnCOOL[roomTemp>coolTemp]0

The test cases in partition 10 test COOL[roomTemp>coolTemp] transitions from the tempControlOff state with all pairs of tempSet and fanControl states. Test cases TC:tC3, TC:tC5, and TC:tC8 include the transient pair of current states tempControlOff with autoOnWait. These test cases are set up with tempControl in the coolOnWait state, as illustrated for TC:tC8 below.

TC:tC8 is set up by setting the temperature sensor simulator to 70, heatTemp to 79, and coolTemp to 69. The mode switch is set to COOL, and the fan switch is set to AUTO. After the tempSet, tempControl, and fanControl states are idleWait, coolOnWait, and autoOnWait, the SET button is pressed twice to take the tempSet state to coolKeyWait. The mode switch is moved from COOL through OFF and back to COOL before the coolKeyWait and autoOnWait timeouts occur.

#11. coolOffWait to coolOnWait
Test
Case ID
roomTemp heatTemp coolTemp tempSet state tempControl state fanControl state event Combo
Countdown
2 Values2 Values2 Values3 Values1 Value2 Values1 Value71
TC:cC1709969coolKeyWaitcoolOffWaitfanOnC_OFF_TIMEOUT[roomTemp>coolTemp]50
TC:cC21007950coolKeyWaitcoolOffWaitautoOffWaitC_OFF_TIMEOUT[roomTemp>coolTemp]32
TC:cC31009969heatKeyWaitcoolOffWaitautoOffWaitC_OFF_TIMEOUT[roomTemp>coolTemp]22
TC:cC4707969idleWaitcoolOffWaitautoOffWaitC_OFF_TIMEOUT[roomTemp>coolTemp]13
TC:cC5707950heatKeyWaitcoolOffWaitfanOnC_OFF_TIMEOUT[roomTemp>coolTemp]6
TC:cC61009950idleWaitcoolOffWaitfanOnC_OFF_TIMEOUT[roomTemp>coolTemp]0

The test cases in partition 11 test C_OFF_TIMEOUT[roomTemp>coolTemp] transitions from the coolOffWait state with all pairs of states for which the pairs of tempControl and fanControl states are persistent.

#12. coolOnWait to coolOnWait
Test
Case ID
roomTemp heatTemp coolTemp tempSet state tempControl state fanControl state event Combo
Countdown
2 Values2 Values2 Values3 Values1 Value2 Values1 Value71
TC:CC1709969coolKeyWaitcoolOnWaitfanOnC_ON_TIMEOUT[roomTemp>=coolTemp-dT]50
TC:CC21007950coolKeyWaitcoolOnWaitautoOnWaitC_ON_TIMEOUT[roomTemp>=coolTemp-dT]32
TC:CC31009969heatKeyWaitcoolOnWaitautoOnWaitC_ON_TIMEOUT[roomTemp>=coolTemp-dT]22
TC:CC4707969idleWaitcoolOnWaitautoOnWaitC_ON_TIMEOUT[roomTemp>=coolTemp-dT]13
TC:CC5707950heatKeyWaitcoolOnWaitfanOnC_ON_TIMEOUT[roomTemp>=coolTemp-dT]6
TC:CC61009950idleWaitcoolOnWaitfanOnC_ON_TIMEOUT[roomTemp>=coolTemp-dT]0

The test cases in partition 12 test C_ON_TIMEOUT[roomTemp>=coolTemp-dT] transitions from the coolOnWait state with all pairs of states for which the pairs of tempControl and fanControl states are persistent.

#13. heatOffWait to tempControlOff
Test
Case ID
roomTemp heatTemp coolTemp tempSet state tempControl state fanControl state event Combo
Countdown
2 Values2 Values2 Values3 Values1 Value3 Values1 Value82
TC:ht1706950coolKeyWaitheatOffWaitfanOnOFF61
TC:ht21005069idleWaitheatOffWaitfanOnOFF43
TC:ht31005050heatKeyWaitheatOffWaitautoOnWaitOFF30
TC:ht4706969heatKeyWaitheatOffWaitautoOffWaitOFF19
TC:ht5706969idleWaitheatOffWaitautoOnWaitOFF13
TC:ht61006969coolKeyWaitheatOffWaitautoOffWaitOFF8
TC:ht71005050idleWaitheatOffWaitautoOffWaitOFF4
TC:ht8705069coolKeyWaitheatOffWaitautoOnWaitOFF1
TC:ht9705050heatKeyWaitheatOffWaitfanOnOFF0

The test cases in partition 13 test OFF transitions from the heatOffWait state with all pairs of tempSet and fanControl states. Test cases TC:ht3, TC:ht5, and TC:ht8 include the transient pair of current states heatOffWait with autoOnWait. These test cases are set up with tempControl in the coolOnWait state, as illustrated for TC:ht3 below.

TC:ht3 is set up by setting the temperature sensor simulator to 100, heatTemp to 50, and coolTemp to 50. The mode switch is set to COOL, and the fan switch is set to AUTO. After the tempSet, tempControl, and fanControl states are idleWait, coolOnWait, and autoOnWait, the SET button is pressed to take the tempSet state to heatKeyWait. The mode switch is moved from COOL through OFF to HEAT and back to OFF before the heatKeyWait and autoOnWait timeouts occur.

#14. heatOnWait to tempControlOff
Test
Case ID
roomTemp heatTemp coolTemp tempSet state tempControl state fanControl state event Combo
Countdown
2 Values2 Values2 Values3 Values1 Value3 Values1 Value82
TC:Ht1499979coolKeyWaitheatOnWaitfanOnOFF61
TC:Ht2787999idleWaitheatOnWaitfanOnOFF43
TC:Ht3787979heatKeyWaitheatOnWaitautoOnWaitOFF30
TC:Ht4499999heatKeyWaitheatOnWaitautoOffWaitOFF19
TC:Ht5499999idleWaitheatOnWaitautoOnWaitOFF13
TC:Ht6789999coolKeyWaitheatOnWaitautoOffWaitOFF8
TC:Ht7787979idleWaitheatOnWaitautoOffWaitOFF4
TC:Ht8497999coolKeyWaitheatOnWaitautoOnWaitOFF1
TC:Ht9497979heatKeyWaitheatOnWaitfanOnOFF0

The test cases in partition 14 test OFF transitions from the heatOnWait state with all pairs of tempSet and fanControl states. Test cases TC:Ht4, TC:Ht6, and TC:Ht7 include the transient pair of current states heatOnWait with autoOffWait. These test cases are set up with tempControl in the tempControlOff state, as illustrated for TC:Ht4 below.

TC:Ht4 is set up by setting the temperature sensor simulator to 49, heatTemp to 99, and coolTemp to 99. The mode switch is set to OFF, and the fan switch is set to AUTO. After the tempSet, tempControl, and fanControl states are idleWait, tempControlOff, and autoOffWait, the SET button is pressed to take the tempSet state to heatKeyWait. The mode switch is moved from OFF to HEAT and back to OFF before the heatKeyWait and autoOffWait timeouts occur.

#15. coolOffWait to tempControlOff
Test
Case ID
roomTemp heatTemp coolTemp tempSet state tempControl state fanControl state event Combo
Countdown
2 Values2 Values2 Values3 Values1 Value3 Values1 Value82
TC:ct1499979coolKeyWaitcoolOffWaitfanOnOFF61
TC:ct2787999idleWaitcoolOffWaitfanOnOFF43
TC:ct3787979heatKeyWaitcoolOffWaitautoOnWaitOFF30
TC:ct4499999heatKeyWaitcoolOffWaitautoOffWaitOFF19
TC:ct5499999idleWaitcoolOffWaitautoOnWaitOFF13
TC:ct6789999coolKeyWaitcoolOffWaitautoOffWaitOFF8
TC:ct7787979idleWaitcoolOffWaitautoOffWaitOFF4
TC:ct8497999coolKeyWaitcoolOffWaitautoOnWaitOFF1
TC:ct9497979heatKeyWaitcoolOffWaitfanOnOFF0

The test cases in partition 15 test OFF transitions from the coolOffWait state with all pairs of tempSet and fanControl states. Test cases TC:ct3, TC:ct5, and TC:ct8 include the transient pair of current states coolOffWait with autoOnWait. These test cases are set up with tempControl in the heatOnWait state, as illustrated for TC:ct8 below.

TC:ct8 is set up by setting the temperature sensor simulator to 49, heatTemp to 79, and coolTemp to 99. The mode switch is set to HEAT, and the fan switch is set to AUTO. After the tempSet, tempControl, and fanControl states are idleWait, heatOnWait, and autoOnWait, the SET button is pressed twice to take the tempSet state to coolKeyWait. The mode switch is moved from HEAT through OFF to COOL and back to OFF before the coolKeyWait and autoOnWait timeouts occur.

#16. coolOnWait to tempControlOff
Test
Case ID
roomTemp heatTemp coolTemp tempSet state tempControl state fanControl state event Combo
Countdown
2 Values2 Values2 Values3 Values1 Value3 Values1 Value82
TC:Ct1706950coolKeyWaitcoolOnWaitfanOnOFF61
TC:Ct21005069idleWaitcoolOnWaitfanOnOFF43
TC:Ct31005050heatKeyWaitcoolOnWaitautoOnWaitOFF30
TC:Ct4706969heatKeyWaitcoolOnWaitautoOffWaitOFF19
TC:Ct5706969idleWaitcoolOnWaitautoOnWaitOFF13
TC:Ct61006969coolKeyWaitcoolOnWaitautoOffWaitOFF8
TC:Ct71005050idleWaitcoolOnWaitautoOffWaitOFF4
TC:Ct8705069coolKeyWaitcoolOnWaitautoOnWaitOFF1
TC:Ct9705050heatKeyWaitcoolOnWaitfanOnOFF0

The test cases in partition 16 test OFF transitions from the coolOnWait state with all pairs of tempSet and fanControl states. Test cases TC:Ct4, TC:Ct6, and TC:Ct7 include the transient pair of current states coolOnWait with autoOffWait. These test cases are set up with tempControl in the tempControlOff state, as illustrated for TC:Ct4 below.

TC:Ct4 is set up by setting the temperature sensor simulator to 70, heatTemp to 69, and coolTemp to 69. The mode switch is set to OFF, and the fan switch is set to AUTO. After the tempSet, tempControl, and fanControl states are idleWait, tempControlOff, and autoOffWait, the SET button is pressed to take the tempSet state to heatKeyWait. The mode switch is moved from OFF to COOL and back to OFF before the heatKeyWait and autoOffWait timeouts occur.

<tempControl Stand-alone Transition tempControl Integrated Target State>

Copyright © 2003-2018 Testcover.com, LLC. All rights reserved.