Solo Dev Testing Guide
E2E Testing for Solo Developer SaaS: A Practical Guide for 2026
You shipped your SaaS, you have paying users, and you are the entire engineering team. E2E tests are probably the last thing on your mind. This guide covers how to set up meaningful end-to-end testing without burning your limited time, so you stop finding out about broken flows from angry customer emails.
“A recent survey of solo founders found that 74% ship without any automated E2E tests, citing time constraints as the primary reason. Yet the same group reported that production bugs in critical flows (signup, checkout, onboarding) were their top source of churn.”
Indie Hackers State of Testing Survey, 2025
1. Why Solo Devs Skip E2E Testing (and Why That Costs You)
When you are building alone, every hour matters. Writing E2E tests feels like writing code that does not ship features, and it is easy to justify skipping them. Unit tests cover your logic, you manually click through the app before deploying, and that feels like enough.
Until it is not. The problem with manual testing is that it does not scale with your codebase. At 10 routes, you can click through everything in five minutes. At 50 routes with conditional logic, authentication states, and payment flows, manual testing becomes a game of whack-a-mole. You check the thing you just changed, miss the thing that broke three screens away, and find out about it from a user who just churned.
E2E tests are not about testing everything. For a solo developer, they are about protecting the flows that make you money. If your signup flow breaks and you do not notice for two days, that is two days of lost revenue. If your checkout flow silently fails after a dependency update, you will not know until Stripe tells you conversions dropped.
The good news: you do not need comprehensive test coverage. A handful of well-chosen smoke tests covering your critical paths will catch the majority of the regressions that actually hurt your business. That is the approach this guide takes.
2. What to Test First: Identifying Your Critical User Flows
Not all pages are created equal. Start by listing the flows where a bug directly costs you money or users. For most SaaS products, that list looks something like this:
Critical Flows to Test First
- Signup and onboarding: Can a new user create an account and reach the dashboard?
- Login and session management: Can existing users sign in? Do expired sessions redirect correctly?
- Core value action: Whatever your product actually does. If you are a scheduling tool, can users create a booking? If you are an analytics tool, can users view a report?
- Billing and checkout: Can users upgrade, downgrade, and enter payment information without errors?
- Critical settings: Can users update their email, password, or team members without breaking their account?
Write these down. Rank them by business impact. Your first E2E tests should cover the top three to five flows on that list and nothing else. You can always add more later, but starting with five solid tests is infinitely better than planning fifty tests and writing zero.
A useful heuristic: if a flow breaking would wake you up at 3am to fix it, it deserves an E2E test.
3. Setting Up Smoke Tests Quickly with Playwright
Playwright is the standard choice for E2E testing in 2026, and for good reason. It is fast, supports multiple browsers, has excellent auto-wait behavior, and works well in CI environments. If you have not used it before, getting started takes about ten minutes.
Now write your first real smoke test. Here is a signup flow example that covers the happy path:
That is 15 lines of code. It runs in under 10 seconds. And it will tell you immediately if your signup flow breaks after any deployment. Repeat this pattern for each critical flow you identified in the previous section. Keep each test focused on one flow, and keep assertions minimal. You are testing that the flow works, not that every pixel is correct.
4. Auto-Generating Tests Instead of Writing Them by Hand
Writing tests manually works, but it is still time you are not spending on features. A growing category of tools can generate E2E tests automatically by analyzing your application. This is especially useful for solo developers who need coverage fast.
Tools like Assrt take this approach. You point it at your app, it crawls your pages, discovers test scenarios based on your actual UI elements, and generates real Playwright test files. Not YAML configurations or proprietary scripts, but standard Playwright code you can read, modify, and run anywhere.
The advantage of this approach is that it produces real code with no vendor lock-in. If you decide to stop using the tool tomorrow, your tests still work because they are just Playwright. You can also use Playwright Codegen to record tests by clicking through your app, which is another fast way to bootstrap coverage.
Between auto-generation and recording, you can build a solid smoke test suite in an afternoon without writing tests from scratch. The goal is coverage, not craftsmanship. Refactor later if you want, but get the safety net in place first.
5. Maintaining Tests as a Solo Dev
Test maintenance is the silent killer of solo dev testing efforts. You write ten tests, they all pass, and three weeks later half of them are failing because you renamed a button or restructured a page. You spend an hour fixing flaky tests, start ignoring failures, and eventually stop running tests entirely.
Here is how to avoid that cycle:
Test Maintenance Best Practices
- Use resilient selectors. Prefer getByRole and getByLabel over CSS selectors or test IDs tied to implementation details. Role-based selectors survive UI refactors.
- Keep tests short and independent. Each test should cover one flow. If a test requires five minutes of setup, break it apart.
- Delete flaky tests immediately. A flaky test that sometimes passes teaches you to ignore failures. Remove it and rewrite it or accept the gap in coverage.
- Run tests before every deploy, not on a schedule. If tests only run nightly, you will not look at the results. Make them a gate in your deploy process.
- Use visual regression sparingly. Screenshot comparisons catch real bugs but also flag every intentional UI change. Start with functional assertions only.
Some tools offer self-healing selectors that automatically update locators when your UI changes. Assrt and Cypress Cloud both support this in different ways. If test maintenance is your biggest concern (and for solo devs, it usually is), self-healing can save you hours per month.
6. Plugging E2E Tests into Your CI Pipeline
Tests that do not run automatically are tests that do not run. The easiest way to make E2E tests part of your workflow is to run them in CI on every push to your main branch. If you are on GitHub Actions (and most solo devs are), Playwright ships a ready-made workflow.
This runs your tests on every push and pull request. If a test fails, it uploads the Playwright HTML report as an artifact so you can see exactly what went wrong, including screenshots and traces.
For solo devs deploying to Vercel or Netlify, you can also run E2E tests against preview deployments. This catches issues before they hit production. Vercel exposes the preview URL as an environment variable, and you can pass it to Playwright as the base URL.
7. Tools That Make Solo Dev Testing Realistic
The testing ecosystem has evolved significantly, and several tools are built specifically for small teams and solo developers who need coverage without overhead. Here is a quick rundown of what is available:
Playwright
The industry standard for E2E testing. Free, open source, excellent documentation. Supports Chromium, Firefox, and WebKit. The codegen tool lets you record tests by interacting with your app. Best choice if you want full control and do not mind writing some test code.
Cypress
Popular alternative to Playwright with a great developer experience and interactive test runner. The free tier is generous for solo projects. Slightly slower than Playwright for large suites, but the debugging experience is excellent.
Assrt
Open source tool that auto-discovers test scenarios by crawling your app and generates real Playwright test files. Useful when you want coverage quickly without writing everything from scratch. Includes self-healing selectors and visual regression. Free to use, no vendor lock-in since it outputs standard Playwright code.
Playwright Codegen
Built into Playwright itself. Opens a browser where you click through your app, and it records every action as test code. Great for quickly capturing a flow you already test manually. The generated code is a solid starting point that you can clean up and extend.
QA Wolf, Rainforest
Managed testing services that handle test creation and maintenance for you. Effective but expensive (typically thousands per month), which puts them out of reach for most solo developers. Worth considering once you have revenue to justify the cost.
For most solo developers, the sweet spot is Playwright as your test runner with an auto-generation tool to bootstrap coverage. Write your most critical tests by hand, generate the rest, and run everything in CI. That combination gives you meaningful coverage in a few hours of setup, with minimal ongoing maintenance.
The Bottom Line
E2E testing as a solo developer is not about achieving 100% coverage. It is about building a safety net around the flows that keep your business running. Five well-chosen smoke tests that run on every deploy will catch more revenue-impacting bugs than a hundred unit tests that never touch the browser.
Start today. Pick your three most critical flows, write (or generate) the tests, wire them into CI, and deploy with confidence. The entire setup takes an afternoon, and it pays for itself the first time it catches a broken signup page before your users do.
Your future self (the one who is not debugging a production outage at midnight) will thank you.
Related Guides
Ready to automate your testing?
Assrt discovers test scenarios, writes Playwright tests from plain English, and self-heals when your UI changes.