To test any software system, first you need the software requirements specification. So if you
are asked to test a system, ask for the software requirements specification first. If there is no SRS,
then you cannot test anything because you do not know what constitutes correct behavior.
Now for the Vending machine. After getting the SRS, take each requirement and expand it into test
cases.
When a quarter is inserted, the user is asked to choose an item.
When an item is chosen, the item will fall through slot.
If the item is unavailable, the user will be told so and asked for another choice.
If the user hits cancel, the money is refunded.
Correct change will be made if the user puts in more than the purchase price.
Additional change will be requested if the user puts in less than purchase price.
Then proceed to test these requirements one at a time, using multiple choices and money inputs.
The following questions may also be asked in conjunction with the original question:
How about if a person kicks the vending machine?
What if there is a power outage??
What if the machine is taken to Saudi Arabia? What changes should be done?
As the vending machine can be simulated with a finite state machine, with the states representing
different status of the machine (e.g. how much money has been inserted), we can potentially
automated testing by employing model-based testing technique (if this task needs to be performed
repetitively).
are asked to test a system, ask for the software requirements specification first. If there is no SRS,
then you cannot test anything because you do not know what constitutes correct behavior.
Now for the Vending machine. After getting the SRS, take each requirement and expand it into test
cases.
When a quarter is inserted, the user is asked to choose an item.
When an item is chosen, the item will fall through slot.
If the item is unavailable, the user will be told so and asked for another choice.
If the user hits cancel, the money is refunded.
Correct change will be made if the user puts in more than the purchase price.
Additional change will be requested if the user puts in less than purchase price.
Then proceed to test these requirements one at a time, using multiple choices and money inputs.
The following questions may also be asked in conjunction with the original question:
How about if a person kicks the vending machine?
What if there is a power outage??
What if the machine is taken to Saudi Arabia? What changes should be done?
As the vending machine can be simulated with a finite state machine, with the states representing
different status of the machine (e.g. how much money has been inserted), we can potentially
automated testing by employing model-based testing technique (if this task needs to be performed
repetitively).
Comments
Post a Comment
https://gengwg.blogspot.com/