Applying Model-Based Testing to HTML Rendering Engines – A Case Study

  • Jens R. Calamé
  • Jaco van de Pol
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5047)


Conformance testing is a widely used approach to validate a system correct w.r.t. its specification. This approach is mainly used for behavior-oriented systems. BAiT (Behavior Adaptation in Testing) is a conformance testing approach for data-intensive reactive systems. In this paper, we validate the applicability of BAiT to systems, which are not behavior-oriented (reactive) but document-centered.

In particular, we apply BAiT to the test of the HTML rendering engine Gecko, which is used by Mozilla Firefox. In order to do so, we formally specify a part of the CSS box model in the specification language μCRL and implement a wrapper for the Gecko renderer. Then, we automatically generate test cases and run tests with BAiT in a controlled experiment in order to demonstrate our approach on the relevant part of Gecko.


Test Purpose Generate Test Case Test Execution Conformance Testing Test Oracle 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Aichernig, B.K., Peischl, B., Weiglhofer, M., Wotawa, F.: Test Purpose Generation in an Industrial Application. In: Proc. of the 3rd Intl. Workshop on Advances in Model-based Testing, pp. 115–125. ACM, New York (2007)CrossRefGoogle Scholar
  2. 2.
    Belinfante, A., Feenstra, J., de Vries, R., Tretmans, J., Goga, N., Feijs, L., Mauw, S., Heerink, L.: Formal Test Automation: A Simple Experiment. In: Csopaki, G., Dibuz, S., Tarnay, K. (eds.) 12th Intl. Workshop on Testing of Communicating Systems, pp. 179–196. Kluwer Academic Publishers, Dordrecht (1999)CrossRefGoogle Scholar
  3. 3.
    Born, M., Schieferdecker, I., Gross, H.-G., Santos, P.: Model-driven Development and Testing – A Case Study. In: van Sinderen, M.J., Pires, L.F. (eds.), 1st European Workshop on Model Driven Architecture with Emphasis on Industrial Application, number TR-CTIT-04-12 in CTIT Technical Report, Enschede, pp. 97–104 (2004)Google Scholar
  4. 4.
    Broy, M., Jonsson, B., Katoen, J.-P., Leucker, M., Pretschner, A. (eds.): Model-Based Testing of Reactive Systems. LNCS, vol. 3472. Springer, Heidelberg (2005)zbMATHGoogle Scholar
  5. 5.
    Calamé, J.R.: Adaptive Test Case Execution in Practice. Technical Report SEN-R0703, Centrum voor Wiskunde en Informatica (June 2007)Google Scholar
  6. 6.
    Calamé, J.R., Ioustinova, N., van de Pol, J.C.: Automatic Model-Based Generation of Parameterized Test Cases Using Data Abstraction. In: Romijn, J., Smith, G., van de Pol, J. (eds.) Proc. of the Doctoral Symposium affiliated with the 5th Intl. Conf. on Integrated Formal Methods (IFM 2005). Electronic Notes in Computer Science, vol. 191, pp. 25–48. Elsevier, Amsterdam (2007)Google Scholar
  7. 7.
    Calamé, J.R., Ioustinova, N., van de Pol, J.C., Sidorova, N.: Data Abstraction and Constraint Solving for Conformance Testing. In: Proc. of the 12th Asia-Pacific Software Engineering Conf. (APSEC 2005), pp. 541–548. IEEE Press, Los Alamitos (2005)Google Scholar
  8. 8.
    Clarke, D., Jéron, T., Rusu, V., Zinovieva, E.: Automated Test and Oracle Generation for Smart-Card Applications. In: Attali, S., Jensen, T. (eds.) E-smart 2001. LNCS, vol. 2140, pp. 58–70. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  9. 9.
    Geurts, W., Wijbrans, K., Tretmans, J.: Testing and Formal Methods – Bos Project Case Study. In: EuroSTAR 1998. 6th European Intl. Conf. on Software Testing, Analysis & Review, pp. 215–229 (1998)Google Scholar
  10. 10.
    Groote, J.F., Ponse, A.: The Syntax and Semantics of μCRL. In: Ponse, A., Verhoef, C., van Vlijmen, S. (eds.) Algebra of Communicating Processes, Workshops in Computing, pp. 26–62. Springer, Berlin (1994)Google Scholar
  11. 11.
    Jard, C., Jéron, T.: TGV: Theory, Principles and Algorithms. Intl. Journ. on Software Tools for Technology Transfer 7(4), 297–315 (2005)CrossRefGoogle Scholar
  12. 12.
    Tretmans, J.: Test Generation with Inputs, Outputs, and Repetitive Quiescence. Software - Concepts & Tools 17(3), 103–120 (1996)zbMATHGoogle Scholar
  13. 13.
    Turner, D., Oeschger, I.: Creating XPCOM Components (2003)Google Scholar
  14. 14.
    W3C. XHTML 1.0 The Extensible HyperText Markup Language (2nd edn.) (August 2002) W3C Recommendation,
  15. 15.
    W3C. Cascading Style Sheets Level 2 Revision 1 (CSS 2.1) Specification (July 2007). W3C Candidate Recommendation,
  16. 16.
    Zakas, N.C., McPeak, J., Fawcett, J.: Professional AJAX. Wrox Press (2006)Google Scholar

Copyright information

© IFIP International Federation for Information Processing 2008

Authors and Affiliations

  • Jens R. Calamé
    • 1
  • Jaco van de Pol
    • 2
  1. 1.Centrum voor Wiskunde en InformaticaAmsterdamThe Netherlands
  2. 2.Faculty EEMCSUniversity of TwenteEnschedeThe Netherlands

Personalised recommendations