The use of AI in test automation opens up exciting opportunities to increase efficiency and make development processes more flexible. By using generative AI, not only can test cases be created automatically, but functional code can also be generated - including the conversion of drawn sketches into HTML code. At the same time, sound documentation and the avoidance of technical debt are crucial to creating sustainable systems. Companies benefit from valuable approaches on how AI tools can be used safely and purposefully to ensure long-term success and promote innovation in the field of software development.
In this episode, I spoke with Matthias Zax about the exciting world of test automation and the use of AI. Matthias explained how he uses generative AI to create test cases and generate code and shared his experiences and the challenges involved. A highlight was his story about turning a drawn sketch into working HTML code. We talked about the importance of documentation and the risks of technical debt. Matthias also gave valuable tips on how companies can use AI tools safely and efficiently. It was a fascinating conversation that offered many insights into the future of test automation.
“I think most of us thought, now I can finally generate my unit tests. That’s the worst thing you can do.” - Matthias Zax
Matthias Zax is a dedicated Agile Engineering Coach at Raiffeisen Bank International AG (RBI), where he drives successful digital transformations through agile methodologies. With a deep-rooted passion for software development, Matthias is a developerByHeart who has been honing his skills in software testing and test automation in the DevOps environment since 2018. Matthias is a driving force behind the RBI Test Automation Community of Practice, as well as for continuous learning and innovation.
The possibilities and potential of generative AI are a promising field in the area of software testing. Particularly in the context of test automation and test case design, this technology opens up innovative approaches that can increase the efficiency and quality of tests. Recommended by industry experts, it is clear that practical experience and findings provide key insights into how generative AI can be used productively.
Getting started with generative AI often involves practical testing. Test case design and automated code generation show that the application possibilities are almost unlimited. However, the technology also has limitations that are particularly relevant for experienced developers and test automation specialists with a close connection to the source code. By making intensive use of language models in everyday work, developers can increase their efficiency and complete repetitive tasks more quickly.
A key application example for generative AI is the automation of existing manual test cases in projects. Language models can help to create automated tests or optimize existing test cases. The feedback from the AI on the automatability of certain test cases is particularly valuable, which lowers the entry barrier for testers without in-depth programming knowledge. Generative AI therefore helps to reduce testing effort and improve quality assurance in agile development cycles.
The integration of generative AI also brings challenges, particularly in terms of data protection and data security. In data-intensive industries, such as the financial sector, the protection of sensitive information is essential. One solution is to use internal language models that run exclusively on the company’s servers and therefore do not transmit any data to the outside world. This allows companies to ensure that the use of AI-based tools complies with data protection regulations.
The use of generative AI in software testing could help to reduce technical debt and increase the quality of software development in the long term. A higher degree of automation allows developers to focus on more complex tasks, while routine processes are efficiently covered by AI. In the future, generative AI could therefore play a key role in accelerating software development and improving code quality in the long term.