Automated testing of cloud applications

Linghao Zhang,Tao Xie,Nikolai Tillmann,Jonathan de Halleux,Xiaoxing Ma,Jian Iv
2011-01-01
Abstract:Recently, cloud computing platforms, such as Microsoft Azure, are available to provide convenient infrastructures such that cloud applications could conduct cloud and data-intensive computing. To ensure high quality of cloud applications under development, developer testing (also referred to as unit testing) could be used. Generally, manual developer testing is time consuming and labor intensive. To reduce the manual efforts, developers could employ automated test generation tools. However, the behavior of a unit in a cloud application is often dependent on the state of the cloud environment. Applying an automated test generation tool faces the challenge to generate various cloud states for achieving effective testing, such as achieving high structural coverage of the cloud application. To address this challenge, we propose an approach to (1) use parameterized mock objects to mimic the behavior of the environment and,(2) apply dynamic symbolic execution (DSE), a state-of-the-art automated test generation technique, to both generate test inputs and mock cloud states to achieve high structural coverage. We apply our approach on some open-source Azure cloud applications. The result shows that our approach automatically generates test inputs and mocks cloud states to achieve high structural coverage.
What problem does this paper attempt to address?