Software testBoundary value analysisSpecification analysisTest case designPublic
Errors and defects are unavoidable during software development, which makes software testing the most important method of quality assurance.
Boundary value analysis
Boundary value analysis is an essential technique in developing efficient and effective functional tests.
Identifying and comprehending key attributes from the specification of a system being tested are important skills for the successful design of a test.
Test case design
Being able to create a set of test cases that ensure adequate test coverage is a key skill for creating a successful test. It is desirable for the test suite also to be optimal, i.e. to minimize test execution effort and time without affecting the test coverage.
Public questions (free plan) are common interview questions. They are great for practicing, or if you want to filter candidates using the classic problems.
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.