Automated test generation for test cases: everything you need to know about the techniques available and how to use them effectively.


There are many low-code options for generating test scripts automatically, but what about test cases?
These, initially, seem like less manual work than test scripts; you’re laying out the conditions that determine expected app behavior in plain English, rather than writing the code itself.
Consider, however, that modern software testing requires validation of a huge number of different combinations of conditions, with release schedules that are only accelerating. This is why automated test generation is now essential for test cases as well as scripts.
New to the game? Here’s everything you need to know.
Modern delivery pipelines demand speed; the most successful teams deploy (at least) several times a week. Testing has always been somewhat of a bottleneck, but never more so than today.
The way so many organizations have dealt with automation in the past, manually creating test cases, then using automation frameworks such as Selenium or Playwright to script tests using code contributes to this bottleneck, rather than eases it.
Manually authored test cases stored in spreadsheets, test management systems, and user stories still have value, but keeping all your processes manual could lead to slowdowns, inconsistent coverage, and areas missed.
Teams can now use a variety of tools to automate test case generation. As well as expanding coverage and easing your team’s workload, this helps you target areas with genuine risk. This eases testing bottlenecks significantly and helps you hit that release schedule without delays.
The advantages of automated test generation include:
This is one of the most established approaches to generating test cases directly from documented requirements.
There is a range of tools available that can analyze requirements documents to generate test cases. From your docs, these systems can infer a range of scenarios, such as valid user behavior, boundary conditions, invalid inputs, and more.
For example, a requirement stating users can reset a password using a valid email address may generate cases for:
Traditional tools such as Selenium IDE and other capture-based platforms are often associated with automation scripts, but they can also generate test cases automatically.
And, instead of only generating playback scripts, modern platforms can help you transform interactions into maintainable scenario libraries.
Typically, this is via record-and-playback. A tester performs a journey in the app (such as searching for a product and adding it to a basket), which the tool records. From this, it infers a range of test cases.
Applications frequently depend on combinations of rules. Pricing engines, insurance systems, lending platforms, and HR systems all require rules-based logic to function properly.
Decision table test case generation converts business logic into structured combinations of conditions and expected outcomes. Example inputs might include the type of customer, the region in which they are based, or the product they have selected.
The tool then automatically generates test cases covering valid and invalid rule combinations. This is an area in which human testers frequently struggle, given the scope of combinations and potential for hidden dependencies. Automated test case generation is, therefore, super helpful.
Your app likely moves through several defined states when people use it. They are either logged in or logged out, for example, or an action may be pending, approved, cancelled, or suspended.
State transition modelling tools generate test cases that validate allowed and disallowed movements between states. For example:
If you’re working with a workflow-heavy app such as a banking, healthcare, or enterprise platform, this is a particularly useful automated test generation technique.
Boundary value test case generation allows tools to inspect field rules or validation logic and generate cases automatically.
For example, if you’d like to test a field that accepts age inputs from 18 to 65, a human tester might have to build test cases for:
This is one of automated test generation techniques that will save you the most engineering hours because:
When multiple variables interact, the number of possible scenarios can become enormous. Imagine running tests to cover all possible combinations of the following:
This would be slow and super impractical. Combinatorial and pairwise testing tools generate optimized test case sets that cover the most important interactions with fewer scenarios, balancing coverage with execution effort.
The most realistic test cases are lifted directly from user behavior. Automated testing tools with good analytics features can identify key behavioral patterns, then generate regression test cases based on real-world data.
For example, if thousands of users fail during address entry, your testing tool could generate more address validation scenarios for your next round of testing.
Usage-based automated test generation tools look for:
Some tools can inspect source code and generate unit-level test cases. These are particularly useful for those testing their own code, or in legacy systems where code exists but formal test cases do not.
Rather than specifying individual examples, property-based testing defines rules that should always hold true, for example, ‘total price must never be negative’ or ‘invalid dates are always rejected’.
Property-based automated test generation generates lots of randomized test cases to challenge these rules. You can take this further with fuzzing, generating extreme or unexpected inputs to expose crashes and vulnerabilities.
Generative AI now allows users to generate test cases in plain English. There’s not much more to it, you describe exactly what you want the system to do, and it does it for you.
For example:
Create test cases for guest checkout using card payment, including discount codes and payment failure scenarios.
This significantly speeds up early test design and lowers barriers for non-technical users.
Like traditional requirements-based automation, but smarter. AI testing tools can generate test cases from existing artefacts, such as Jira stories, process documents, release notes, and acceptance criteria.
Traditional, non-AI tools are pretty linear here. They scan documents, ingest the information they contain, and more or less reformat it into a usable test case.
AI tools can contextualize this with insights gained from across your app to suggest related test cases, highlight priority cases, and intelligently identify any gaps in coverage, ideal for rapid test impact analysis.
More advanced AI testing tools have agentic functionality, that is, they can explore your app independently, infer business intent, and generate test cases based on priority and risk.
For example, after a new checkout field appears, an AI agent may create cases for blank input, invalid values, max length, and successful completion without being explicitly instructed.
This is one of the most efficient automated test generation techniques on this list for three reasons:
“Momentic was the only testing solution we used that could keep pace with our platform’s complexity.”
Alec Hoey (AI Engineer, Mutiny)
After implementing Momentic, Mutiny saw an 83% decrease in test generation and maintenance times whilst reducing production incidents by 85% across a complex, multi-service product.
Want to join them? Get a demo today