What is an example of the kind of robustness failures Ballista tests for?
Ballista in general tests for non-robust reactions to exceptional input conditions. As a really simple example, consider the reaction of the function: int atoi(const char *nptr); to an input value of NULL. Because atoi() takes a character string pointer as an input value and attempts to convert the string to an integer, a NULL input value is an exceptional condition (it doesn’t point to a legitimate string, and is additionally not documented to provide a useful function). So, if atoi(NULL) causes an Abort failure (a “core dump”), that particular test case is said to generate an robustness failure. Ballista also tests more complicated situations, including some that involve setting machine state information before a test is executed. For example tests involving file descriptors will create a file with certain properties and feed the corresponding file handle to a function as part of a test case. Ballista can also test functions taking more than one input arguments.
Related Questions
- There appear to be only a couple of failures, all in the "Interrupt Status Register & Interrupt Mask Tests" section. Could you take a quick look at the failures below?
- What is the relationship between number of software defects and the number of robustness failures?
- How does Ballista relate to other robustness testing?