how it works

We grade the test you write, not just whether it runs.

Most ways to learn test automation show you the syntax and let you watch. Here you write a real test against a real app, and we check that it actually catches bugs. Here is exactly what happens when you solve a problem.

We break the app on purpose

When you solve a problem, we run your test twice. First against the working app, where it must pass. Then against a copy where we break one behaviour on purpose. A test that really checks that behaviour will fail on the broken copy. If it still passes, it was not checking that behaviour, and we tell you which one you missed.

One problem, three frameworks

Every problem can be solved and verified in Cypress, Playwright and Selenium. You learn the idea once, then see how each tool expresses it. The skill you are building is testing, not one tool's syntax, so it moves with you when a job asks for a different framework.

We check reliability, not just correctness

A test that passes today but fails at random is a real problem on the job. So the debug problems run your suite three times, and once more in reverse order. Your tests have to be green every time and pass in any order, with no fixed sleeps. Flakiness and order dependence are caught by a check, not left to luck.

Every solve gets a code review

Even a test that catches every bug is checked for weak selectors, fixed sleeps and thin assertions, the habits a reviewer would flag on a real pull request. You learn to write the test a team would accept, the same way a senior engineer would review your work.

You write real tests, not watch them

There is no video to sit through and no multiple-choice quiz. You get a code editor, a live app and a terminal in the browser, with nothing to install. The work is real code, graded against a real application, which is the closest thing to the job before the job.

See it for yourself

The Foundations track and a set of practice problems are free, and you do not need an account to start. Write a test, run it, and watch us try to break it.