Using the Amazon Cloud to Accelerate Software Testing

Listen on the go!

Amazon Web Services (AWS) is a popular cloud computing solution from Amazon.com. AWS encapsulates a wide range of web services within its fold, which offers scalable, reliable and inexpensive cloud computing services. Few of the amazon cloud services are:

  • Amazon Elastic Compute Cloud (Amazon EC2) – provides workstations equipped with load balancers
  • Amazon Elastic Block Storage (Amazon EBS) – provides hard drives for the workstations launched using EC2
  • Amazon Simple Storage Service (Amazon S3) – facilitates data storage

Advantages of Testing in AWS

Cloud testing in general brings advantages of low cost, high scalability, unlimited storage, easy sharing of resources and high availability of the test environment. AWS remains the most popular platform of choice for cloud testing due to the below advantages:

  1. Moving your testing applications to the cloud is easy

Amazon has a command line tool to convert your physical machine to an Amazon Machine Image (AMI) with a single command. This image can be stored in Amazon S3 and an instance created on Amazon EC2. Your application instances can communicate with one another using a Firefox plugin called Elastic Fox or through AWS management console. Once set-up is complete, tests can be uploaded to EC2 instances and tested on the cloud. So, test environments can be set up in a matter of minutes rather than days as is the case in a physical test environment.

  1. Your run time modifications are always available

On their own, the run time modifications made to an EC2 instance are not retained once the application is shut down. But the Amazon Elastic Block Storage (EBS) facilitates the permanent storing of your run time settings. However, EBS will store data only from the file systems that are configured to use it and you would need to hook up the EBS file system after restarting the AMI. This command to attach the EBS file system can be added to the AMI start up script to automate the process.

  1. Test Automation is easy

Automating tests in AWS is easy through the AWS API and CLI tools. You can automate the tasks of creating and initializing test environments, allocating databases, loading scripts etc. And you can even use continuous integration to automatically execute tests after a successful build.

  1. Create test databases

Test databases can be easily created as Amazon RDS Database instances. A snapshot of an existing Amazon RDS instance loaded with a test dataset can be taken and used to create new test databases. All such test databases contain the same test data which ensures uniformity and consistency in test results.

  1. Recreate regression bugs

Through the AWS CloudFormation feature, you can create a collection of AWS resources. This is useful when you are trying to perform regression testing or recreate a regression bug. Using this feature, you can provision the previous version of the software and run regression tests or compare before and after test results after a bug fix is made.

  1. Efficient Load testing

The AWS ‘pay-as-you-go’ model allows efficient load testing of applications. You can simulate users and easily scale up to the desired load to measure the performance of the application under large number of concurrent users. You can also simulate other conditions that may stress the application like huge number of incoming requests, processing a huge dataset etc. It is difficult and expensive to simulate such conditions in traditional environment. The high scalability and availability of cloud makes it easy to simulate test conditions required for load and stress tests and with the pay-as-you-go model, you only pay for the storage and processing you use.

Cigniti Technologies – Specialists in software testing

Cigniti is a leading provider of software testing solutions. With our vast experience in testing the web applications deployed in cloud, we help our customers reduce the execution time of testing, leading to cost-effective solutions. To know about our cloud testing services, reach us at contact@cigniti.com.