top of page
MicrosoftTeams-image (177)_edited.png
  • Bence Boda

Test automation

A border region in the world of software development



Software testing has undergone a major transformation in the world of IT. It has evolved from a necessary evil into its own discipline and without it, any modern development is lacking. Not only does it check the quality at the end by testing the finished product, but it can support the team all along from the design phase.




For a long time, development and testing were two areas, that could not exist without each other, yet they often shared conflicting views. Developers worked hard to create a functioning product, while testers seemingly tore it apart and raised a lot of bugs. As the classic waterfall model became less and less viable, quality assurance and testing became more pertinent and incorporated into earlier phases of the development lifecycle. In an industry that demands fast and agile development, QA is perfectly placed to collaborate and provide constructive feedback all the way through.




Testers and developers found more common ground when they realised they both had the same goal of producing quality software, in less time and with less effort. In development, automated unit tests and principles that drive coding based on written tests (TDD - Test Driven Development) quickly emerged. They provide continuous verification at the unit and integration test level, significantly reducing the complexity of potentially introduced bugs. 




In testing, automation is a broad concept - it can include any sequence of computer commands created by humans and not executed by them. The primary goal is to avoid spending valuable hours on repetitive, well defined tasks, whether the tool is an Excel macro or any other script. Todays automated test developers have a wide range of tools to choose from, ranging from programs that perform record playback (e.g. Ranorex, UFT), to tools that are closer to development frameworks (e.g. Selenium Webdriver, Playwright). 




Being a border area, has the advantage of being accessible from both sides - many people are moving from manual testing towards test automation, and developers are also interested in this specialised area requiring a new perspective. Testing is a truly diverse area of expertise, requiring not only attention to detail and precision, but a good blend of soft skills as well. Direct collaboration with teammates is essential and is encouraged in any modern development methodology, meaning that it is not enough to be right, you need to be able to explain it right. 




When working with test automation, a tester also gains a more technical perspective of the product, which proves useful in mediation between development and testing within a team. Being able to explain why a certain feature or change blocks a test, while understanding the consequences e.g. an unexpected refactoring from the developer’s side, helps to avoid tension between parties.  


After all, testing and test automation should add to the value of the team, not reinforce the classic antagonisms. As soon as they are introduced in the development lifecycle, we get to work together for the best possible result, with the best available tools! 

 



Commentaires


bottom of page