Your team is developing software for a thermostat controller that does the following:
- The target temperature is fixed at 23°C.
- The environment temperature is measured in this range: -50°C to 50°C.
- The thermostat has a heating switch for turning the heating function on and off.
The rules for the heating control are as follows:
- If the heating switch is on and the measured temperature is equal or higher than the target temperature, the heating should be turned off. If the measured temperature is lower than target temperature, the heating should be turned on.
- If the heating switch is off, the heating is turned off regardless of the measured and target temperatures unless the measured temperature falls below 5°C. At that point the heating should be turned on to avoid having the water in the heating system freeze.
Define the optimal (effective and efficient) set of test cases to adequately test the thermostat controller.