A Course in Black Box Software Testing
Examples of Function Testing
See lecture notes on interference testing.
Copyright (c) Cem Kaner, 2004
The goal of function testing is to test each function thoroughly and in isolation. It is very useful for assessing capability rather than reliability. Its weakness is that it misses interactions.
A function is something the product can do. Functions may be called features / commands or they may be identified only by what they do (usually, some of each).
There are several ways to identify a function
- From specifications or the draft user manual
- From walking through the user interface
- From trying commands at the command line
- From searching the program or resource files for command names
Once the function is identified, determine how you would know if the function worked. Check that each function does what it's supposed to do and does not do what it's not supposed to do.
The following examples illustrate the use of function tests:
- It is Impossible to Comment Empty Lines in Eclipse
- The Copy Function in Opera Does not Preserve Formatting
- Print Preview in Opera Shows Image that is Different From the Actual Web Page
- Opera Encoding Problem
- Some of the DivX Player Functions Are not Working in Full Screen Mode
- The Media Center Feature of Download Accelerator Plus is Broken
- It Is Impossible to Create File Associations for Some File Types in Firefox
- Sometimes PDFCreator Creates Files with Incorrect Extension
- Optionless Extension Error in FireFox
- Updating Extensions in FireFox
- Unable to Change the Home Page in FireFox
- Print Preview Bug in Mozilla
- Ctrl-A Bug in Mozilla Internet Suite
- Indentation Errors in Impress' Bulleting Function
- Numbering Errors in Impress' Bulleting Function
Copyright (c) Cem Kaner 2004
This work is licensed under the Creative Commons Attribution-ShareAlike License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/2.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
These notes are partially based on research that was supported by NSF Grant EIA-0113539 ITR/SY+PE: "Improving the Education of Software Testers." Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.