Testing based on an analysis of the specification of a piece of software without reference to its internal workings.
BLACK BOX TESTING
Definition Web definition “Black-box testing implies that a tester doesn't know how an application is designed at the code level, i.e., it involves dynamic testing of compiled applications. The tester interacts with the software system via its interface and analyzes the application reaction.” (-http://www.bughuntress.com)
Also known as.. Data driven testing Input/output based testing Specific based testing
Aims at finding cases in which the software does not behave according to its specifications or requirements errors The main criterion is exhaustive input testing!!!! Test data are derived from the specification (no need for taking advantage of knowledge of code)
Advantage Easy to use Quicker test and case development Simplicity The environment the program is running is also tested The invested effort can be used multiple times.
Disadvantage The results are often overestimated. The reason for a failure is not found. Not all properties of a software product can be tested
Ideal Tools should have.. Fuzzing: the injection of random or systematically-generated data at various interfaces, with various levels of human intervention to specify the format of the data Syntax testing: generating a wide range of legal and illegal input values, usually with some knowledge of the protocols and data formats used by the software Exploratory testing: testing without specific expectation about test outcomes, and generally without a precise test plan
Data analysis: Monitoring program behavior: When a large number of tests are automatically applied, it is useful to also have automatic techniques for monitoring how the program responds.
Example Eggplant IBM Rational Functional Tester GUI dancer