Improving the Testability of Cloud-Based Applications
Motivation
In cloud computing, applications are hosted, deployed, and delivered as services over the Internet. New cloud application services can be developed by tailoring existing ones, while hiding the complexity of the underlying implementation. Cloud applications may be able to adapt to changes in their environment, which should be highly secure, and reliable. The infrastructure on which cloud applications are built is characterized by power, storage and virtualization. But how does all of this affect the ability to adequately test cloud applications? This project focuses on software testing of the cloud, and seeks to formulate new approaches, tools, and techniques for improving the testability of cloud-based applications.
ApproachOur approach seeks to reuse elements of the existing test automation of a cloud application service (generally created to validate its correctness during development) to expose a set of test support services for developers who are building applications that use and/or extend the service. Test support services are realized in a virtual test environment so that power of the cloud infrastructure itself can be leveraged to alleviate some of the challenges associated with testing cloud-based applications. Types of test support services range from simple actions such as invoking the service under test using specified inputs, to more complex actions like simulating clients and user loads via virtualization.
Test Support as-a-Service
Enabling Integration Testing of Cloud-Based Applications
Current Students:
- Annaji Ganti, PhD Student
- Neha Kale, MS Student
- David Froslie, Test Architect, Microsoft Corporation