Using Test Cases as Contract to Ensure Service Compliance Across Releases

  • Marcello Bruno
  • Gerardo Canfora
  • Massimiliano Di Penta
  • Gianpiero Esposito
  • Valentina Mazza
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3826)


Web Services are entailing a major shift of perspective in software engineering: software is used and not owned, and operation happens on machines that are out of the user control. This means that the user cannot decide the strategy to migrate to a new version of a service, as it happens with COTS. Therefore, a key issue is to provide users with means to build confidence that a service i) delivers over the time the desired function and ii) at the same time it is able to meet Quality of Service requirements.

This paper proposes the use of test cases as a form of contract between the provider and the users of a service, and describes an approach and a tool to allow users running a test suite against a service, to discover if functional or non-functional expectations are maintained over the time. The approach has been evaluated by applying it to two case studies.


Service Testing Evolution of Service–Oriented Systems Regression Testing Service Level Agreements 


  1. 1.
    Leung, H.K.N., White, L.: Insights into regression testing. In: Proceedings of IEEE International Conference on Software Maintenance, pp. 60–69 (1989)Google Scholar
  2. 2.
    Bertolino, A., Marchetti, E., Polini, A.: Integration of ”components” to test software components. ENTCS, vol. 82 (2003)Google Scholar
  3. 3.
    Weyuker, E.: Testing component-based software: A cautionary tale. IEEE Softw. 15, 54–59 (1998)CrossRefGoogle Scholar
  4. 4.
    Ludwig, H., Keller, A., Dan, A., King, R., Franck, R.: Web Service Level Agreement (WSLA) language specification (2005),
  5. 5.
    Orso, A., Harrold, M., Rosenblum, D., Rothermel, G., Soffa, M., Do, H.: Using component metacontent to support the regression testing of component-based software. In: Proceedings of IEEE International Conference on Software Maintenance, pp. 716–725 (2001)Google Scholar
  6. 6.
    Orso, A., Harrold, M., Rosenblum, D.: Component metadata for software engineering tasks. In: EDO 2000, pp. 129–144 (2000)Google Scholar
  7. 7.
    Harrold, M.J.: Testing evolving software. J. Syst. Softw. 47, 173–181 (1999)CrossRefGoogle Scholar
  8. 8.
    Graves, T.L., Harrold, M.J., Kim, J.M., Porter, A., Rothermel, G.: An empirical study of regression test selection techniques. ACM Trans. Softw. Eng. Methodol. 10, 184–208 (2001)zbMATHCrossRefGoogle Scholar
  9. 9.
    Harrold, M.J., Rosenblum, D., Rothermel, G., Weyuker, E.: Empirical studies of a prediction model for regression test selection. IEEE Trans. Softw. Eng. 27, 248–263 (2001)CrossRefGoogle Scholar
  10. 10.
    Rothermel, G., Harrold, M.J.: Empirical studies of a safe regression test selection technique. IEEE Trans. Softw. Eng. 24, 401–419 (1998)CrossRefGoogle Scholar
  11. 11.
    Elbaum, S., Malishevsky, A.G., Rothermel, G.: Test case prioritization: A family of empirical studies. IEEE Trans. Softw. Eng. 28, 159–182 (2002)CrossRefGoogle Scholar
  12. 12.
    Rothermel, G., Untch, R.J., Chu, C.: Prioritizing test cases for regression testing. IEEE Trans. Softw. Eng. 27, 929–948 (2001)CrossRefGoogle Scholar
  13. 13.
    Leung, H.K.N., White, L.: A cost model to compare regression testing strategies. In: Proceedings of IEEE International Conference on Software Maintenance, pp. 201–208 (1991)Google Scholar
  14. 14.
    Malishevsky, A., Rothermel, G., Elbaum, S.: Modeling the cost-benefits tradeoffs for regression testing techniques. In: Proceedings of IEEE International Conference on Software Maintenance, p. 204. IEEE Computer Society Press, Los Alamitos (2002)Google Scholar
  15. 15.
    Rosenblum, D.S., Weyuker, E.J.: Using coverage information to predict the cost-effectiveness of regression testing strategies. IEEE Trans. Softw. Eng. 23, 146–156 (1997)CrossRefGoogle Scholar
  16. 16.
    Harrold, M.J., Liang, D., Sinha, S.: An approach to analyzing and testing component-based systems. In: First International ICSE Workshop on Testing Distributed Component-Based Systems, Los Angeles, CA, pp. 333–347 (1999)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Marcello Bruno
    • 1
  • Gerardo Canfora
    • 1
  • Massimiliano Di Penta
    • 1
  • Gianpiero Esposito
    • 1
  • Valentina Mazza
    • 1
  1. 1.RCOST – Research Centre on Software TechnologyUniversity of SannioBeneventoItaly

Personalised recommendations