For half a decade model-based testing has been applied at Microsoft in the internal development process. Though a success story compared to other formal quality assurance approaches like verification, a break-through of the technology on a broader scale is not in sight. What are the obstacles? Some lessons can be learned from the past and will be discussed. An approach to MBT is described which is based on multi-paradigmatic modeling, which gives users the freedom to choose among programmatic and diagrammatic notations, as well as state-based and scenario-based (interaction-based) styles, reflecting the different concerns in the process. The diverse model styles can be combined by model composition in order to achieve an integrated and collaborative model-based testing process. The approach is realized in the successor of Microsoft Research’s MBT tool Spec Explorer, and has a formal foundation in the framework of action machines.


System Under Test Visual Studio Action Machine Action Label Abstract State Machine 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Robinson, H.: Finite state model-based testing on a shoestring. In: STARWEST 1999, available online (1999)Google Scholar
  2. 2.
    Grieskamp, W., Gurevich, Y., Schulte, W., Veanes, M.: Generating finite state machines from abstract state machines. In: ISSTA 2002. Software Engineering Notes, vol. 27, pp. 112–122. ACM, New York (2002)CrossRefGoogle Scholar
  3. 3.
    Barnett, M., Grieskamp, W., Nachmanson, L., Schulte, W., Tillmann, N., Veanes, M.: Towards a tool environment for model-based testing with AsmL. In: Petrenko, A., Ulrich, A. (eds.) FATES 2003. LNCS, vol. 2931, pp. 252–266. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  4. 4.
    Stobie, K.: Model based testing in practice at microsoft. In: Proceedings of the Workshop on Model Based Testing (MBT 2004). Electronic Notes in Theoretical Computer Science, vol. 111. Elsevier, Amsterdam (2004)Google Scholar
  5. 5.
    Campbell, C., Grieskamp, W., Nachmanson, L., Schulte, W., Tillmann, N., Veanes, M.: Model-based testing of object-oriented reactive systems with Spec Explorer. Technical Report MSR-TR-2005-59, Microsoft Research (May 2005); Formal Methods and Testing, LNCS. Springer, Heidelberg (to appear)Google Scholar
  6. 6.
    Grieskamp, W., Kicillof, N., Tillmann, N.: Action machines: a framework for encoding and composing partial behaviors. Technical Report MSR-TR-2006-11, Microsoft Research (February 2006); International Journal of Software & Knowledge Engineering (to appear)Google Scholar
  7. 7.
    Grieskamp, W., Kicillof, N.: A schema language for coordinating construction and composition of partial behaviors. In: Proceedings of the 28th International Conference on Software Engineering & Co-Located Workshops – 5th International Workshop on Scenarios and State Machines. ACM, New York (2006)Google Scholar
  8. 8.
    Gurevich, Y.: Evolving Algebras 1993: Lipari Guide. In: Börger, E. (ed.) Specification and Validation Methods, pp. 9–36. Oxford University Press, Oxford (1995)Google Scholar
  9. 9.
    de Alfaro, L., Henzinger, T.A.: Interface automata. In: Proceedings of the 8th European Software Engineering Conference and the 9th ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE), pp. 109–120. ACM, New York (2001)Google Scholar
  10. 10.
    Microsoft. The LINQ project (2006),
  11. 11.
    Grieskamp, W., Tillmann, N., Veanes, M.: Instrumenting scenarios in a model-driven development environment. Information and Software Technology (2004)Google Scholar
  12. 12.
    Fernandez, J.C., Jard, C., Jéron, T., Viho, C.: An experiment in automatic generation of test suites for protocols with verification technology. Science of Computer Programming - Special Issue on COST247, Verification and Validation Methods for Formal Descriptions 29(1-2), 123–146 (1997)Google Scholar
  13. 13.
    Tretmans, J., Brinksma, E.: TorX: Automated model based testing. In: 1st European Conference on Model Driven Software Engineering, Nuremberg, Germany, pp. 31–43 (December 2003)Google Scholar
  14. 14.
    Microsoft. Domain specific language tools (2005),
  15. 15.
    Kahn, G.: Natural semantics. In: STACS 1987. LNCS, vol. 247 (1987)Google Scholar
  16. 16.
    Grieskamp, W., Tillmann, N., Schulte, W.: XRT - Exploring Runtime for.NET - Architecture and Applications. In: SoftMC 2005: Workshop on Software Model Checking. Electronic Notes in Theoretical Computer Science (July 2005)Google Scholar
  17. 17.
    Davey, B.A., Priestly, H.A. (eds.): Introduction to Lattices and Order. Cambridge University Press, Cambridge (1990)zbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Wolfgang Grieskamp
    • 1
  1. 1.Microsoft ResearchRedmondUSA

Personalised recommendations