Accessability Links


Tuesday 22nd November 2016
In this blog, Penny demonstrates the key skills software testers should use to succeed in automation testing...

The demand for Automation Testers has increased exponentially in recent years as the role of Testing has evolved. 

As companies adopt increasingly Agile ways of working, automating testing can increase efficiency and enhance test coverage significantly, allowing for far better quality software. This can stem from simply automating those repetitive but necessary regression tests after each update, to developing an entire end-to-end framework to test a system at all levels.

In order to develop a solid test framework, it’s important to bear this model in mind:

We need to automate at all levels (not just GUI) in order to achieve a robust and scalable framework. 

With this in mind, what skills are needed to succeed in automation testing?

UI Automation 
The most undeniably in-demand UI automation tool at the moment is Selenium Webdriver. It’s the buzzword that you will undoubtedly see on job ads and job specs, and it’s an open-source tool that integrates easily with many of the technologies listed below to provide a powerful framework for web-based solutions.

Automation is Programming
A level of understanding and knowledge of programming languages is required in Test Automation; the language of choice is usually determined by the actual application being tested, and sometimes by the development environment.

Popular languages include Java, C#, Python, Ruby, or Javascript.

The role of a Tester has adapted to suit the progressive nature of the IT world, and knowledge of 1 or more of these languages will make you a very desirable candidate to most employers. 

API Automation
In Agile development, API automation testing has become important practice during integration testing to test the integrity and performance of these services. Software can be used to send calls to the API, get an output, and log the system’s response as part of the end-to-end message testing process. 

SOAPUI is one of the most popular API automation tools and allows for cross-platform testing of SOAP and REST APIs as well as the creation of more complex validation scripts using Groovy scripting.

Postman is also a popular tool for testing API services. It’s a plug-in within Google Chrome that acts as a powerful HTTP client to test web services. It’s especially popular within Agile teams as you can easily build a collection or library of REST calls, which can allow for more collaborative working between testing and development. 

Unit Testing
More automated unit tests > better code coverage > a more reliable and robust automation test framework. 

The xUnit frameworks are among the most widely used at the moment; these are JUnit for Java-based frameworks and NUnit for C#-based frameworks. 

Continuous Integration (CI)
Continuous Integration is a development practice that goes hand-in-hand with automation testing. In CI, Developers integrate code into a shared repository, which is verified by an automated build, which in turn allows problems to be detected early. It’s here that we integrate automated regression tests in order to identify and fix issues as quickly as possible, lending to the efficiency of Agile delivery. 

Jenkins, TeamCity, Bamboo and Go are all favoured tools for Continuous Integration. 

An IDE provides the tools necessary for an Automation Tester to code automated tests. 

Eclipse, IntelliJ and Visual Studio are tools that will provide all you needs in order to edit, compile and debug your code, before running your tests. 

Adopting a BDD approach allows for Testers, Developers and non-technical people to collaborate more closely, resulting in what Dan North describes as “the delivery of working, tested software that matters”. It’s a really effective way of ensuring that development meets business goals. 

BDD “stories” are written in the English language rather than code, which makes it easy for non-technical business stakeholders to understand, complementing the open communication that Agile development abides by. 

Cucumber, Speclow, Robot and Fitnesse are all BDD frameworks that are widely used. Calabash is a tool developed especially for the acceptance testing of mobile apps. 

Mobile Automation

Last but by no means least is automated mobile testing. Appium is a fantastic tool for mobile automation as it allows the Automation Tester to use any language to test native, hybrid and mobile web apps across any platform. Developed as a collaboration with one of the creators of Selenium, it works beautifully when integrated with Selenium to provide a “Selenium for apps”. 

Xamarin is another great tool for multi-platform mobile automation testing, but it’s only compatible with C#.

What test tools do you prefer? Let us know. Leave a comment or tweet us @AmsourceTech

This post was written by Penny. Penny is a Senior Consultant here at Amsource Technology specialising in Software Testing. You can get in touch with Penny in the following ways for all roles across testing. 0113 357 0444, .

Add new comment
Back to Top
f24("cookieAnonymous", true);