Using Test Cases as Contract to Ensure Service Compliance Across Releases
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.
KeywordsService Testing Evolution of Service–Oriented Systems Regression Testing Service Level Agreements
- 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.Bertolino, A., Marchetti, E., Polini, A.: Integration of ”components” to test software components. ENTCS, vol. 82 (2003)Google Scholar
- 4.Ludwig, H., Keller, A., Dan, A., King, R., Franck, R.: Web Service Level Agreement (WSLA) language specification (2005), http://www.research.ibm.com/wsla/WSLASpecV1-20030128.pdf
- 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.Orso, A., Harrold, M., Rosenblum, D.: Component metadata for software engineering tasks. In: EDO 2000, pp. 129–144 (2000)Google Scholar
- 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.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
- 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