How Would You Test a Toaster?

This is another example of a testing in the wild interview question, and it’s your role again to 1) show what you know about software testing in general; and 2) show how you can apply your general knowledge to a specific problem.

First off, you should talk about the requirements for a toaster. A toaster toasts bread. It doesn’t burn bread. It doesn’t set on fire. It does allow for several pieces of toast to be toasted one after the other.

Then, talk about general kinds of testing, and how they can be applied in this case. Some possible things to mention might be black box testing, white box testing, load testing, and usability testing.

At this point, you’ve shown you know the basics of what software testing is about. Now move on to applying that to the toaster.

First off, how would we test a toaster using black box testing? We simply give it an input (a piece of bread), look at the output (the toasted bread), and check that the required functionality is satisfied (bread is toasted, not burnt).

Secondly, wow would we test a toaster using white box testing? This would require knowing how the toaster does its magic, and checking that this actually happens. I’m not sure how toasters work, but I imagine it’s electricity passing through a coil and heating it up. Assuming that this is the internals of the toaster, our white box test would be to somehow take a look inside the internals of the toaster once we put the bread in, and to verify that electricity is indeed passing through the coils and heating them up.

What about load testing? Toasters generally handle at most a few pieces of toast, so we can’t toast dozens of pieces of bread concurrently. However, we should be able to toast 10 pieces of toast one after the other, and the toaster should toast all the bread well.

Finally, we might want to test the usability of the toaster. What is the user experience with the toaster? Is it easy and intuitive (put the bread in, push down a button)? Or, is it complicated and confusing (put the bread on a tray, enter a temperature range by pressing a small button on the side repeatedly, then hold down the button to activate the toaster)?

Altogether, this would be a good answer to the toaster software testing question, but if you want, you could also apply additional software testing types to the toaster problem.