Achieving both model and code coverage with automated gray-box testing

Nicolas Kicillof, Wolfgang Grieskamp, Nikolai Tillmann, and Victor Braberman


We have devised a novel technique to automatically generate test cases for a software system, combining black-box model-based testing with white-box parameterized unit testing. The former provides general guidance for the structure of the tests in the form of test sequences, as well as the oracle to check for conformance of an application under test with respect to a behavioral model. The latter finds a set of concrete parameter values that maximize code coverage using symbolic analysis. By applying these techniques together, we can produce test definitions (expressed as code to be run in a test management framework) that exercise all selected paths in the model, while also covering code branches specific to the implementation. These results cannot be obtained from any of the individual approaches alone, as the model cannot predict what values are significant to a particular implementation, while parameterized unit testing requires manually written test sequences and correctness validations. We provide tool support, integrated into our model-based testing tool.


Publication typeInproceedings
Published inA-MOST '07: Proceedings of the 3rd international workshop on Advances in model-based testing
AddressNew York, NY, USA
PublisherAssociation for Computing Machinery, Inc.
> Publications > Achieving both model and code coverage with automated gray-box testing