Cloud computing is computing in which large groups of remote servers are networked to allow centralized data storage and online access to computer services or resources. Clouds can be classified as public, private or hybrid.
Cloud Testing uses cloud infrastructure for software testing. Organizations pursuing testing in general and load, performance testing and production service monitoring in particular are challenged by several problems like limited test budget, meeting deadlines. High costs per test, large number of test cases, and little or no reuse of tests and geographical distribution of users add to the challenges. Moreover, ensuring high quality service delivery and avoiding outages requires testing in one’s datacenter, outside the data-center, or both. Cloud Testing is the solution to all these problems. Effective unlimited storage, quick availability of the infrastructure with scalability, flexibility and availability of distributed testing environment reduce the execution time of testing of large applications and lead to cost-effective solutions.
Multiple machines can be set up to act as load generators in concert. For example, to run a test of 100000 users, three or more machines can be set up with NetStorm installed on them. These machines are known as load generators because the actual load is generated from them. Each run is configured with a scenario that describes which scripts will run, when they will run, how many virtual users will run, and which load generators will be used for each script. The tester connects each script in the scenario to the name of a machine that is going to act as a load generator and sets the number of virtual users to be run from that load generator. NS can control multiple load generators and collect results, and it can control load generators located at remote networks (through a firewall) if required.
Need for Cloud Testing
Traditional approaches to test software incur high cost to simulate user activity from different geographic locations. Testing firewalls and load balancers involves expenditure on hardware, software and its maintenance. In case of applications where rate of increase in number of users is unpredictable or there is variation in deployment environment depending on client requirements, cloud testing is more effective.