Practise with Playwright, Cypress or Selenium in your browser. Write a test for a working practice app. Nothing to install.
A passing test can still miss a bug. Press Verify to check it. Your test runs against app copies with something broken on purpose. See which required bugs it caught or missed.
No account needed to run or verify tests. Use a laptop or desktop.
Welcome back, Alex
nimbus.app/#/dashboard
Illustration, not a recorded run. Browse practice problems →
how-it-works
Press Run tests to check the working app. Press Verify to check for a bug added on purpose.
choose-a-problem
Each problem gives you a practice app and tells you what to check. Test a login, a shopping cart or a contacts page.
SaaS login & auth
async sign-in · validation errors
E-commerce store
cart state · full checkout
CRM dashboard
save contacts · edit contact details
write-it-yourself
Start with the problem's code and add your checks. The editor suggests code for your framework. You choose what your test does and checks.
watch-it-run
Press Run tests to check the working app. Watch the test use the page. Read the action log to find a failed step.
wrong selector? you see it match the wrong element, live
get-graded
Press Verify. Your test must pass on the working app first. Then it runs against app copies with something broken on purpose. It checks each copy separately. If your test still passes, it missed that bug. Read the result to see what it missed.
Example of how Verify works
The correct email and password should sign you in. A wrong password should be rejected.
A test using only the correct password can still pass. It misses the broken password check.
Add a check that a wrong password is rejected. Verify again to check your changes.
SaaS login & auth
async sign-in · validation errors
E-commerce store
cart state · full checkout
CRM dashboard
save contacts · edit contact details
choose-a-problem
frameworks
Use the framework you need for your work or interview. Each has practice problems with verification.
Start here if you're new
Open the login problem with a Playwright starter test. Check that a wrong password is rejected.
Try Playwright →Practise with Selenium
Use Selenium with JavaScript to test the login. Check that a wrong password is rejected.
Try Selenium →Practise with Cypress
Use Cypress to test the shopping cart. Check that adding a product updates the cart count.
Try Cypress →Read the Playwright vs Cypress comparison for differences in how you write and run tests.
start-here
manual-tester
Read the Playwright tutorial to learn how a browser test works. Follow the examples, then try the login problem.
explained code examples
Start the Playwright tutorial →interview-soon
Answer questions about waits, selectors and flaky tests. Read the explanation for each answer. Choose coding tasks by framework and level.
questions and coding tasks · by level
Open interview preparation →switching-tools
Choose a practice app and a framework you want to learn. Write and run your own tests. Free-play has no graded task.
practice without grading
Open free-play practice →Review your own test code with the free test review. It checks your code without running it. No account needed.
try-one-now
This question comes from the software development engineer in test (SDET) track. Pick an answer to see the explanation.
Read these guides for more explanation:
SDET track · question 01
Choose a problem and read what your test must check. Write your test, then press Verify. See which required bugs it caught or missed.
Choose a practice problem →Your code and progress are saved in your browser.
QA leads and engineering managers can also review test evidence during hiring. Explore TestAcademy for hiring teams →