How Do You Automate in an Agile World?
Published: October 08, 2014 by Brian Kitchener
We get it, test automation is hard. It’s hard building a suite of automation that works consistently and reliably. It’s even harder to keep that suite of automation working for months or years at a time. And it’s hardest when you’re trying to do so under the rapid pace of an agile software development world. After all, the agile mantra says that we design, build, and test code in the same sprint. And most of the time the code is barely functional -- it’s only in the last several days that everything comes together to the point that the GUI is usable. How then, can we successfully build test automation when we have such a short window?
It’s actually not that difficult, assuming you have a properly designed suite of automation. In order to be able to easily maintain tests, they must be built a modular, scalable, reusable way.
However, if your automated tests look like hundreds of click commands, it becomes impossible to update them quickly when the application changes. Tests like these are typically the result of a record-and-playback strategy. The result often involves throwing away lots of test code whenever the application is changed.
Contrast this with the ProtoTest Golem framework, which offers a simple, yet powerful, method for modelling and abstracting applications: page objects. The page object model lets us represent the application in a layer of code separate from our tests. Any changes to the application necessitate only a single set of modifications to the page object, rather than re-writing lots of tests. It’s not that difficult to perform most of the updates even before the UI is fully revised.
Once the new app code is deployed, the test engineer only needs to input valid locators for each changed element, and is able to immediately run the test suite. This quick turnaround in response to changes is the benefit of our approach, allowing testers to keep pace with their agile teammates.
Now you see why it is so important to choose a tool (or framework) that enables test code reuse and minimizes the need to revise tests themselves. The more maintainable your test scripts, the more likely you will be able to move at the speed of Agile.
This is why so many of our clients choose the Golem framework. It provides a simple, clean, and repeatable process that allows your organization to implement large-scale automation successfully over the long-run.