Enabling automated integration testing of cloud application services in virtualized environments

Software development under the cloud computing model brings the advantage that new applications can be rapidly constructed by tailoring existing services. However, the use of Internet-based services as software components, leads to the development of applications in which some building blocks are hosted remotely, rather than locally in a controlled environment. This aspect of cloud-based development, when coupled with factors such as service autonomy, complexity, and high dependability criteria, make software testing of the cloud especially challenging. In this paper we present a novel approach to support integration testing of applications that depend on remotely-hosted cloud services. Our approach seeks to reuse elements of the test automation, typically built to validate a cloud service prior to its deployment, for the realization of Test Support-as-a-Service (TSaaS). TSaaS provides developers with a set of functions that enable integration testing of cloud services using controlled virtual environments. To facilitate continued evaluation of our approach, we have implemented a prototype of TSaaS that is compatible with the Windows Azure platform.

[1]  Zhenyu Zhang,et al.  Modeling and testing of cloud applications , 2009, 2009 IEEE Asia-Pacific Services Computing Conference (APSCC).

[2]  T. H. Tse,et al.  Data flow testing of service-oriented workflow applications , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[3]  Tariq M. King,et al.  Migrating Autonomic Self-Testing to the Cloud , 2010, 2010 Third International Conference on Software Testing, Verification, and Validation Workshops.

[4]  Elaine J. Weyuker,et al.  Axiomatizing software test data adequacy , 1986, IEEE Transactions on Software Engineering.

[5]  P. Mell,et al.  The NIST Definition of Cloud Computing , 2011 .

[6]  Philipp Zech Risk-Based Security Testing in Cloud Computing Environments , 2011, 2011 Fourth IEEE International Conference on Software Testing, Verification and Validation.

[7]  Hong Zhu,et al.  Software unit test coverage and adequacy , 1997, ACM Comput. Surv..

[8]  Boris Beizer,et al.  Software testing techniques (2. ed.) , 1990 .

[9]  Ossi Taipale,et al.  Software Testing as an Online Service: Observations from Practice , 2010, 2010 Third International Conference on Software Testing, Verification, and Validation Workshops.

[10]  Ilene Burnstein,et al.  Practical Software Testing , 2003, Springer Professional Computing.

[11]  Boris Beizer,et al.  Software Testing Techniques , 1983 .

[12]  Randy H. Katz,et al.  Above the Clouds: A Berkeley View of Cloud Computing , 2009 .

[13]  Hans-Gerhard Gross,et al.  Runtime Integration and Testing for Highly Dynamic Service Oriented ICT Solutions -- An Industry Challenges Report , 2009, 2009 Testing: Academic and Industrial Conference - Practice and Research Techniques.

[14]  Gerard Meszaros,et al.  xUnit Test Patterns: Refactoring Test Code , 2007 .

[15]  Wei-Tek Tsai,et al.  Testability of Software in Service-Oriented Architecture , 2006, 30th Annual International Computer Software and Applications Conference (COMPSAC'06).

[16]  L. O'Brien Lero,et al.  Quality Attributes for Service-Oriented Architectures , 2007, International Workshop on Systems Development in SOA Environments (SDSOA'07: ICSE Workshops 2007).

[17]  Ken Johnston,et al.  How We Test Software at Microsoft , 2008 .