Instantiation of Parameterized Data Structures for Model-Based Testing
Model-based testing is bound, by essence, to use the enumerated data structures of the system under test (SUT). On the other hand, formal modeling often involves the use of parameterized data structures in order to be more general (such a model should be sufficient to test many implementation variants) and to abstract irrelevant details. Consequently, the validation engineer is sooner or later required to instantiate these parameters. At the current time, this instantiation activity is a matter of experience and knowledge of the SUT. This work investigates how to rationalize the instantiation of the model parameters.
It is obvious that a poor instantiation may badly influence the quality of the resulting tests. However, recent results in instantiation-based theorem proving and their application to software verification show that it is often possible to guess the smallest most general data enumeration. We first provide a formal characterization of what a most general instantiation is, in the framework of functional testing. Then, we propose an approach to automate the instantiation of the model parameters, which leaves the specifier and the validation engineer free to use the desired level of abstraction, during the model design process, without having to satisfy any finiteness requirement.
We investigate cases where delaying the instantiation is not a problem. This work is illustrated by a realistic running example. It is presented in the framework of the BZ-Testing-Tools methodology, which uses a B abstract machine for model-based testing and targets many implementation languages.
KeywordsProof Obligation Coverage Criterion System Under Test Test Target Decision Coverage
Unable to display preview. Download preview PDF.
- 1.Ambert, F., Bouquet, F., Chemin, S., Guenaud, S., Legeard, B., Peureux, F., Vacelet, N., Utting, M.: BZ-TT: A Tool-Set for Test Generation from Z and B using Contraint Logic Programming. In: Formal Approaches to Testing of Software, FATES 2002 workshop of CONCUR 2002, pp. 105–120 (2002)Google Scholar
- 3.Bouquet, F., Legeard, B., Peureux, F.: CLPS-B: A constraint solver to animate a B specification. International Journal on Software Tools for Technology Transfer, STTT 6(2), 143–157 (2004)Google Scholar
- 5.Couchot, J.-F., Déharbe, D., Giorgetti, A., Ranise, S.: Scalable automated proving and debugging of set-based specifications. Journal of the Brazilian Computer Society (JBCS) 9(2), 17–36 (2003)Google Scholar
- 6.Déharbe, D., Ranise, S.: Applying light-weight theorem proving to debugging and verifying pointer programs. ENTCS, vol. 86. Elsevier, Amsterdam (2003)Google Scholar
- 7.El-Far, I.K., Whittaker, J.A.: Model-based software testing. Encyclopedia of Software Engineering 1, 825–837 (2002)Google Scholar
- 8.European Telecommunications Standards Institute. GSM Technical Specification (1995), http://www.ttfn.net/techno/smartcards/gsm11-11.pdf
- 11.Offutt, A.J., Xiong, Y., Liu, S.: Criteria for generating specification-based tests. In: 5th International Conference on Engineering of Complex Computer Systems (ICECCS 1999), p. 119. IEEE Computer Society, Los Alamitos (1999)Google Scholar