Instead of inventing a new protocol to talk in a new way to a browser, reuse one that already works, such as HTTP for message transport. This allows testing programs to drive tests remotely on different machines with different OS and browser configurations from anywhere on the network. Using HTTP also lets testing scale up gracefully. Functional testing can be slow, but throwing more computers at the problem is a great way to speed things back up again. Through the magic of HTTP proxying, you can distribute tests to huge farms of machines without having to push that complexity into the tests themselves. So, even though worrying about scaling is usually considered a premature optimization, it’s not that premature when it comes to testing. Sometimes, you are going to need it.
Automated testing for Web applications is a crucial piece of the development puzzle, ensuring that everything works when the customer starts using it. However, mobile app testing brings along new challenges that are different from desktop Web testing.
Jason Huggins, co-founder and CTO of Sauce Labs, a software-testing cloud provider, shares tips on automated testing and how it applies to mobile.