3 rd International Workshop Software Testing in the Cloud (STITC 2011)

Scott Tilley · Conference of the Centre for Advanced Studies on Collaborative Research · 2011

MOTIVATION Software testing is an important aspect of the software engineering life cycle. Testing requires resources, which are often not readily available and therefore contributes to an inefficient testing process. Imagine a scenario where an application needs to be tested for multiple operating systems, multiple browsers and requires different database clients as well as different server interactions. A tester running thousands of test cases each day was required to configure the machines. There is a huge cost associated with setting up and tearing down test configurations each time testing needs to be done (e.g., server setup, database clients setup, installation of the product). Using virtual machines to perform testing is not a new idea. Testing teams are one of the early adopters of virtual machines. The problem arises when these virtual machines are not available as needed. There are other problems that can be encountered with virtual machines such as servers and databases not working properly within virtualized environments. The solution to this problem can be found by taking the testing process to the cloud. Cloud computing can be thought of as a cluster of virtual servers enabling a new level of agility that was incomprehensible with the traditional silo computing model. It represents a paradigm shift offering companies a pay-per-use model: instead of building in-house data centers, companies can expand their computing resources to meet the on-demand model offered by the cloud. It generally includes virtualized hardware (such as the scalable processor facility provided by Amazon's EC2 application), effectively unlimited storage (such as Amazon's S3 system), and the software (operating system, middleware, and services) necessary for thin-client network access to the infrastructure. The resultant computing environment is the in the sense that the user does not need to have any of these resources installed locally because they are hosted remotely and/or virtually. The software industry is the only one where low quality has become acceptable. A big part of low quality directly points to lack of proper testing. With new technologies such as SOA, virtualization, on-demand and cloud computing, it is possible to change this scenario. Instead of creating new test cases with different input/output scenarios, it is beneficial to think about how to become a test designer in order to test cases that will leverage the resources offered by these cutting edge technologies. Instead of trying to find more resources for testing, it is worthwhile to explore existing resources in a virtualized environment that will increase the power of execution to build an efficient testing environment.

Read the paper · More papers on PaperTik