< Back to articles

How AI has changed software testing

How AI has changed software testing

As a tester, I've often thought about how to make the testing process more efficient and better. The answer I found lies in the world of AI. So today I want to share with you that artificial intelligence isn't just a buzzword, but is changing the game in the field of testing.

How can artificial intelligence help us testers?

Artificial intelligence can be useful, for example, when creating tests. It can help us with both automated and manual tests, speeding up our work and making it easier to detect bugs. What's more, its benefit isn't only in writing tests. Artificial intelligence can visually monitor changes in the application or give us advice when writing tests. Another advantage is generating the data needed for testing. It's a tool that increases our efficiency and helps organize testing, which leads to better quality results.

Generating data

AI can generate large amounts of diverse data. We can use it to write the aforementioned scenarios, test cases, mind maps, form data, user data, or it can help us write documentation. But not everything happens in a single AI tool; you need to know several of them, because each focuses on something a bit different.

The first tool I'd like to introduce is Mockaroo. It's a tool that can generate data in CSV, JSON and SQL formats, so it can fill in data for forms or directly for databases with diverse data. The tool requires no coding, and you can also set how many fields under which name you want generated, or you can upload a CSV file as an example of what the structure should look like; then you just fill in how many fields you want and in what format Mockaroo should spit out the result.

I used this tool recently while testing a project where I needed to create many forms about real estate. We had the option to import properties from CSV files, so I downloaded a sample file, put it into Mockaroo and within a moment I managed to generate 1000 properties, which I then used throughout testing.

Another tool is Gretel.ai. It specializes in generating synthetic data, which means that the data it generates is meant to resemble real data but is artificially created. The tool emphasizes privacy protection and the security of sensitive information. It's suitable for situations where it's crucial to ensure that no real sensitive data is put at risk. It works by uploading a file with real data into it, and the tool anonymizes it by creating fictional data instead. This ultimately makes it possible to work with data without endangering sensitive information.

Another, and today very popular, tool is ChatGPT. It can be used to generate scenarios, documentation, or as help when writing test cases. Personally, I use it almost like Google. During testing I ask it how I can test various functionalities, for example how to test a login, and it serves me as an assistant so that I don't forget anything during testing.

Another useful tool is called Taskade. With this tool you can create mind maps, meeting agendas or, say, sprint planning. Personally, I find it most useful for creating a mind map that can be used as a testing map, where I can check off what I've tested and what I haven't. You then need to adjust the individual fields as needed, but in any case it helps with prioritizing and organizing the overall testing.

AI doesn't only generate data. It also works as a prompter during coding or can generate code directly.

The first tool that prompts coding is GitHub Copilot. It's available for many editors – for example for Visual Studio. Its main function is that it can generate suggestions while you write code, which can speed up writing quite a bit and help prevent errors.

The second tool is Blackbox, which can also be installed as an add-on for Visual Studio Code and works similarly to GitHub's Copilot – it prompts while writing code. Blackbox's advantage is that you can consult with the tool just like with ChatGPT.

Another function useful for us testers is detecting visual changes. And AI can help us with that too.

Applitools is a great helper for detecting visual changes; you can integrate it into Cypress or Playwright, for example. After integration, you need to define where the screenshots should be created, and every time a test runs, a new screenshot is created that is compared with the one created during the last test run. The result is that it shows exactly where changes occurred, and the tester then decides whether it's a bug or not.

Another tool for detecting visual changes is Percy. Unlike Applitools, it creates a history of snapshots during testing, which makes it possible to better track how content changes over time. The tools aren't very different, and it's up to each person which one they choose.

I tested all the mentioned tools, and none of them can do without being manually set up and adjusted in some way, which pretty much answers the question of whether AI will replace testers. :)

Will AI replace testers?

No, it won't (yet). AI should be seen more as a tool that improves the abilities of (not only) testers, rather than as a replacement for their role. The future will show further development, but since we create software for people, human intervention (at least for review) will always be needed. But we can always use the mentioned tools to our advantage.

This is exactly the principle that now runs through the whole development cycle — agents do the work, a human validates the result. How we put it into practice at Ackee is described in Agentic Development Lifecycle (ADLC): a practical adoption plan.

Martin Votýpka
Martin Votýpka
Martin works with hardware and application testing; outside work he lifts iron at the gym, plays video games or goes rollerblading. If he had to choose between testing on an Android or iOS device, he'd reach for the Apple product without hesitation.

Are you interested in working together? Let’s discuss it in person!

Get in touch >