Black Box Testing Examples
Black Box Testing Examples
Black Box Testing Examples
• Intuition will often lead you toward boundary cases, but not always
• If you have multiple implementations of the same functionality, you can run
test inputs through both implementations, and compare the results for equality
• "Race conditions" are bugs that occur only when concurrent activities
interleave in particular ways, thus making them difficult to reproduce
• Test on hardware of various speeds to ensure that your system works well on
both slower and faster machines
Performance Testing
• Measure the system's performance
– Running times of various tasks
– Memory usage, including memory leaks
– Network usage (Does it consume too much bandwidth? Does it
open too many connections?)
– Disk usage (Is the disk footprint reasonable? Does it clean up
temporary files properly?)
– Process/thread priorities (Does it play well with other applications,
or does it hog the whole machine?)
Limit Testing
• Test the system at the limits of normal use
• Even if the system doesn't need to work in such extreme conditions, stress testing
is an excellent way to find bugs
Random Testing
• Randomly generate test inputs
– Could be based on some statistical model
• Get real users to sit down and use the software to perform some tasks
• Watch them performing the tasks, noting things that seem to give
them trouble
• Get their feedback on the user interface and any
suggested improvements
• Can the program recover if its configuration files have been corrupted
or deleted?
• What about hardware failures? Does the system need to keep working
when its hardware fails? If so, verify that it does so.
Configuration Testing
• Test on all required hardware configurations
– CPU, memory, disk, graphics card, network card, etc.
• Ex: Can Word 12.0 load files created with Word 11.0?
• Ex: "Save As… Word, Word Perfect, PDF, HTML, Plain Text"
• Ex: "This program is compatible with Internet Explorer and Firefox"