Natural Language E2E Tests and the Onboarding Cost Nobody Budgets For
A new hire cannot contribute to a test suite for weeks because four separate things must be learned first. Natural language authoring removes three of them, and not the fourth.
Yuvan Sundrani · 16 min read
autosana.ai

A new QA engineer joins on Monday and writes their first useful automated test somewhere between week three and week six. Nobody plans for that gap, nobody tracks it, and it recurs with every hire, every contractor, and every developer asked to cover during a crunch. The gap exists because contributing to a conventional E2E suite requires learning four separate things before the first line of value gets written, and only one of those four is about your product.
Key Takeaways
- Onboarding to a test suite means learning four things: a framework, a repository's local conventions, a selector strategy, and a CI setup. Three are incidental to the product being tested.
- The cost is invisible because it never appears as a line item. It shows up as a new hire being quiet for a month and as a suite only two people can safely modify.
- Natural language authoring removes the framework, convention, and selector layers. It does not remove the need to understand the product, which was always the part that mattered.
- The real unlock is not speed. It is widening the set of people who can contribute, which breaks the bus-factor-of-two problem most QA teams quietly live with.
- Autosana flows are stated as intent, so the authoring surface is the product itself rather than a framework, and a first run takes under ten minutes from the quickstart.
What does onboarding to a test suite actually cost?
Ask a QA lead how long until a new hire is productive and you will usually get a shrug and an estimate. Break the estimate down and the shrug makes sense, because the time disappears into four buckets that nobody itemises.
| What Must Be Learned | Typical Time | Is It About Your Product? |
|---|---|---|
| The framework | 3 to 10 days | No |
| This repo's conventions | 5 to 15 days | No |
| The selector strategy | 2 to 5 days | No |
| The product itself | Ongoing | Yes |
Three of the four buckets are overhead. They are the cost of the tooling choice rather than the cost of the testing work, and they are paid again by every person who joins.
The framework is the visible one and the smallest. Someone who knows Playwright can learn Appium's model in a week. Async handling, driver lifecycle, assertion syntax. This is the part hiring managers screen for, which is slightly odd given it is the cheapest of the three.
The repository's local conventions is the expensive one and the one nobody screens for. Where do page objects live? Which helper wraps login, and why are there two? Which fixtures are safe to mutate? Why does this one suite run against a different environment? None of this is documented anywhere, because it accreted. A new hire learns it by breaking things and being told. A QA engineer on r/QualityAssurance described the familiar version: the framework takes a week and the codebase's accumulated idiosyncrasies take a quarter.
The selector strategy is small but sharp. Does this team use test IDs, accessibility roles, or XPath? Is there a rule, or just whatever each author preferred that sprint? Get it wrong and you write a test that passes review and breaks on the next UI change.
The product is the only bucket that produces value, and it is the one that gets squeezed, because the first three consume the new hire's attention during exactly the period when they are most motivated to learn the domain.
Why does the onboarding gap matter more than it looks?
The obvious cost is weeks of salary against low output. That is real and it is not the important one.
The important one is that a high onboarding cost silently restricts who is allowed to contribute. When writing a test requires three weeks of framework and convention knowledge, the set of people who can write one shrinks to the people who already have it. Usually two. Occasionally one.
That produces a specific failure mode. The manual QA specialist who knows the product better than anyone cannot encode what they know, so their knowledge stays in their head and leaves with them. The product manager who spotted the edge case has to file a ticket and wait. The developer who broke the flow could fix the test in ten minutes if they understood the fixture layout, so instead they mark it skipped and move on.
Coverage then becomes a function of one person's available hours rather than a function of what the product needs. A practitioner on r/Everything_QA described this shape directly: the bottleneck in most QA organisations is not tooling capability but the small number of people licensed by circumstance to use it.
There is a compounding effect too. A suite only two people can safely modify is a suite nobody else reviews carefully, because reviewing it properly requires the same context. So quality drifts, conventions multiply, and the onboarding cost for the next hire goes up. The problem feeds itself.
What does natural language test authoring actually remove?
A natural language test states the goal in a sentence rather than encoding the mechanics:
Log in as a returning customer, add the first item from the
recommendations row to the cart, apply promo code SAVE10, and
verify the order total reflects the discount before checkout.
Against the four buckets, this removes three.
Framework knowledge: removed. There is no driver lifecycle, no async model, no assertion API. The syntax is the language the person already speaks.
Repository conventions: mostly removed. There are no page objects to locate, no helper hierarchy to learn, no fixture file whose mutation rules are tribal knowledge. Some conventions survive, such as naming and organisation, but they are readable rather than structural.
Selector strategy: removed. The author never chooses between a test ID and an accessibility role, because they never address an element. They describe what the user does.
Product knowledge: unchanged, and this is the point. The sentence above still requires knowing that there is a recommendations row, that SAVE10 is a valid code, and that the discount should be visible before checkout rather than after. No tool supplies that.
Here is the reframe, and it is the one worth holding onto. Natural language does not make testing easy. It moves the difficulty from "how do I express this" to "what should I verify," which is the part that was always the real work. A team that could not decide what to test will produce vague English just as reliably as it produced vague code. The tool removes an accidental difficulty and leaves the essential one exactly where it was.
A tester on r/softwaretesting made a version of this point about low-code tooling generally, noting that the tools which genuinely helped were the ones that removed ceremony rather than the ones that promised to remove thinking.
Who benefits most from natural language E2E tests?
Not everyone equally. The gain scales with how often your organisation pays the onboarding cost.
Teams with rotating contributors. Contractors, agency partners, or an on-call rotation that includes test maintenance. If the same cost is paid by ten people a year, removing three quarters of it is a different proposition than if you hire once every two years.
Teams where domain knowledge sits outside engineering. Insurance, healthcare, logistics, fintech. The person who knows which policy states are legal is frequently not the person who knows Appium, and conventional tooling guarantees those two never merge. A practitioner on r/rpa described the same dynamic in process automation, where the people who understand the process and the people who can automate it are usually different people, and most of the value sits in closing that gap.
Small teams without a dedicated automation specialist. When nobody owns the framework full time, framework knowledge decays between uses. Returning to a Playwright suite after four months away means re-learning conventions you yourself wrote.
Teams onboarding onto a legacy suite. Inheriting a five-year-old suite is the worst version of this problem, because the conventions are both numerous and undocumented, and the people who set them have left.
Who benefits least: a stable team of three automation engineers who have worked together for four years on one framework. They have already paid the cost, it is amortised, and their velocity is bounded by something else entirely. Honesty about this matters, because selling a solution to a problem someone does not have is how tools get rejected.
What does natural language authoring not fix?
Four things, stated plainly, because the category oversells.
It does not decide what to test. The hardest question in testing is which flows deserve coverage, and that is a product and risk judgement no authoring surface answers.
It does not remove ambiguity, it relocates it. "Verify the order total is correct" is underspecified in English exactly as it would be in code. The difference is that English makes the vagueness readable, which is genuinely useful during review but is not the same as resolving it.
It does not eliminate test maintenance entirely. If a flow fundamentally changes, the sentence describing it must change. The claim is that fewer things force a rewrite, not that nothing does.
It does not replace unit or component tests. Natural language operates at the end-to-end layer, where the test is a statement about product behaviour. Component-level assertions belong in your build, in code, running in milliseconds.
A developer on r/webdev captured the general scepticism worth respecting here, arguing that every abstraction that promises to remove code eventually surfaces the complexity it hid, usually at the least convenient moment. The honest response is not to deny that, but to be specific about which complexity is removed and which is merely relocated.
The same test, two authoring surfaces
Concrete comparison makes the overhead visible. Here is a conventional version of a discount check:
Seven lines, and to write them a newcomer must already know: that login_helper exists and which of its three methods is correct here, that cart_fixture is the right fixture and is safe to read, that this repository prefers data-test attributes except where it does not, and that expected_discounted_total is computed somewhere else by logic they have not read.
None of that is about discounts. It is about this repository.
The natural language version carries the same product knowledge and none of the repository knowledge. What survives is the part a reviewer actually needs to evaluate: is this the right thing to check? A reviewer reading the Python version spends most of their attention verifying mechanics and has little left for that question.
This is also why plain-English suites review better across functions. A support lead can read the sentence and say "that is not how the promo stacks with a loyalty discount," which is a defect caught at review time by someone who could never have read the Python.
How do you tell whether it is actually working?
Three measurements, and none of them is test count.
Contributor breadth is the headline. Count distinct people who authored or modified a test in the last quarter. If that number was two before and is two after, the tool changed the syntax and not the bottleneck. If it went to six, the lockout was tooling and you have just unlocked four people's domain knowledge.
Time to first confident contribution is the one to track per hire. Ask new contributors when they shipped a test they trusted. The target is days rather than weeks, and the number tells you whether the overhead buckets genuinely collapsed or merely moved.
Review participation is the quiet signal. Count how many distinct reviewers comment substantively on test changes. Conventional suites usually show one or two, because reviewing properly requires the same convention knowledge as writing. Plain English should widen that, and if it has not, the tests are probably describing mechanics in English rather than describing behaviour.
What not to measure: tests authored per week. It rewards volume, and a suite of two hundred shallow flows is worse than forty good ones because it costs more to run and tells you less.
How does Autosana approach natural language E2E testing?
Autosana is an AI-native E2E testing agent for iOS, Android, and web. A flow is stated as intent, and the agent decides the interaction sequence at run time against whatever the UI currently shows.
For onboarding specifically, the authoring surface is the product rather than a framework. Someone who understands what the application should do can state a flow without first learning a driver model, a page-object layout, or a selector convention. The three overhead buckets collapse, and the one bucket that produces value is where the time goes.
Because there is no stored step list, there is also no accumulated convention layer for the next person to decode. The thing a new contributor reads is a description of product behaviour, which is the thing they most need to learn anyway. Onboarding to the suite and onboarding to the product become the same activity rather than competing ones.
Runs execute on hosted real devices, results arrive through the GitHub integration with session replay attached so a reviewer can watch rather than reconstruct, and the same flows are available to coding agents over MCP. A first run typically takes under ten minutes from the quickstart.
What it does not do, stated plainly. It does not decide which flows matter, it does not resolve an ambiguous intent into a precise one, and it does not replace component-level testing in your build. Those stay where they were.
Where to start
Measure the gap before you try to close it. Ask your three most recent contributors how long it took before they shipped a test they were confident in, and ask what specifically blocked them. The answers cluster, and they rarely cluster on the framework.
Then run one experiment. Take somebody who knows the product well and cannot currently write a test, a support lead or a product manager, and have them state one critical flow in plain English. If it runs, you have learned that your onboarding cost was tooling rather than capability, and you now know roughly how many people were locked out of contributing by a decision nobody revisited.
.png)
FAQ
What are natural language E2E tests?
End-to-end tests authored as plain sentences describing user goals rather than as code addressing specific elements. The authoring surface is the product's behaviour, so no framework syntax, page-object layout, or selector strategy must be learned first.
How long does it take to onboard someone onto a test automation suite?
Typically three to six weeks before a confident first contribution. The time splits across learning the framework, the repository's local conventions, the selector strategy, and the product. Only the last produces lasting value.
Do natural language tests remove the need for QA skills?
No. They remove framework, convention, and selector overhead. Deciding what to test, judging risk, and recognising that a result is wrong are the skills that matter, and no authoring surface supplies them.
Are plain English tests reliable enough for a merge gate?
It depends on the execution model rather than the authoring syntax. Gate on flows that demonstrate stable verdicts across repeated runs against a frozen build, and let newer or less stable flows report without blocking.
Who on a team should write natural language tests?
Whoever understands the behaviour being verified. That often includes manual QA specialists, support leads, and product managers whose domain knowledge currently cannot reach the suite because the authoring surface excludes them.
What is the difference between natural language and codeless testing?
Codeless usually means a visual recorder that captures clicks into a stored artifact. Natural language states a goal as a sentence. The distinction that matters is whether the result is a fixed step list or a re-evaluated intent.
Do natural language tests still need maintenance?
Yes, less of it. A flow whose behaviour genuinely changes needs its description updated. The reduction comes from renames, refactors, and UI restructures no longer forcing rewrites, because nothing was pinned to an element.
Can Autosana tests be written by non-engineers?
Yes, where the person understands the product behaviour being verified. Flows are stated as intent rather than encoded against elements, so the barrier is domain knowledge rather than framework knowledge.