Generating Test Cases From Software Documentation

Shilei Liu


In this thesis, we develop tools and methods to assist in verification of large software systems. In particular, we will apply the complete coverage principle to generate test cases automatically from tabular expressions used in software documentation.

Multi-dimensional expressions called tables are used in software documentation so that formal documentation can replace conventional documentation to achieve unambiguousness and precsion and to ensure that the software will be trustworthy. Tables represent relations [11]. Certain cells contain predicate expressions that partition the domain. According to the complete partition coverage principle, we choose a single test case as representative of a partition. Since there is no particular reason to choose one element over another as a class representative, we will choose the test case randomly within the partition.

In order to develop a general algorithm to effectively generate test cases, all the numeric expressions in the guard cells have to be linear expressions, because there is no efficient method of solving the nonlinear programming problem in full generality, no a collection of methods such that at least one of them could be assigned to any given NLP problem [13].