Chapter 7. Testing, deployment, and operations in the cloud

 

Contributed by Patrick Lightbody []

Patrick is the founder of BrowserMob, a cloud-based website monitoring and load testing service provider. He is also the founder of OpenQA and a core contributor to Selenium, a popular open-source browser-testing framework. You can learn more about Patrick and his company at http://browsermob.com or by emailing him at patrick@browsermob.com.

This chapter covers

  • How the typical software deployment model is improved by the cloud
  • Using the cloud to improve development, testing, and operations
  • Using parallelization for testing in all forms

The process of testing software is, and likely always will be, inherently a spiky activity. Companies aren’t always testing. Even in software groups that employ the most rigorous agile methodologies, it’s unlikely that automated tests are running 24x7—if only because the humans who trigger those tests by making software changes aren’t working around the clock. For this reason, testing is quickly becoming one of the killer apps for cloud computing.

In this chapter, we’ll explore deployment models that are optimized for the cloud, and how clouds can have a drastic impact on how teams manage operations and testing. We’ll also look at the various elements of testing that can be accelerated using the cloud.

7.1. Typical software deployments

7.2. The cloud to the rescue

7.3. The power of parallelization

7.4. Summary