The software example from ISTQB Certified Tester Foundation Level and Software Testing Foundations
CarConfigurator is a sample software application used in several trainings of the imbus AG to teach base knowledge on software testing. About 30,000 readers of Software Testing Foundations know it as an example, too. A test plan, a test specification and several implementations of this application are available. Among others, there are implementations for Microsoft Windows and iOS.
Each implementation contains several “injected bugs”, i.e. software defects that were deliberately integrated. These can be activated by the end user via switch and searched and found afterwards by applying formal test design techniques.
The following functional specification serves as a basis for the bug hunting:
Using the CarConfigurator, an interested person or a car vendor can configure cars with individual equipment. The app calculates the price for the configured car. For this, one has to take the following steps (not necessarily in the sequence given):
- Choose one of the car types given in a list
- Choose desired additional equipment from a second list
- Certain combinations of equipment are available as “special model” packages. One of them can also be picked from a third list, independent of the configured car type and the already chosen equipment.
- The car vendor may grant a discount on the total price. The discount is given as percentage value with up to two decimal places, the calculated price is rounded off to two positions behind the decimal point.
- Prices for equipment parts contained in the chosen special model are not eligible for discount.
The following principles are used for the price calculation:
- The price of the chosen special model (if any) is added to the base price (BP) of the car type.
- The prices of all equipment parts not contained in the special model are added.
- A volume discount is granted on the price of all equipment parts that are not contained in the chosen special model. This discount is 10% if three or four parts are chosen, and 15% if more than four parts are chosen.
- The vendor discount is granted on the base price and the price of the chosen equipment parts only.
- Vendor discount and volume discount can not be accumulated, i.e. only the higher value comes into effect.
Examples for discount combinations:
|Vendor discount||Number of equipment parts not in special models||Resulting volume discount||Effective discount|
|0 %||3||10 %||0 % on BP, 10 % on equipment|
|0 %||5||15 %||0 % on BP, 15 % on equipment|
|12 %||3||10 %||12 % on BP and equipment|
|12 %||5||15 %||12 % on BP, 15 % on equipment|
|17 %||5||15 %||17 % on BP and on equipment|