Founder & Lead Engineer, RAITHub
RAITHub ships and tests production software. See QA as a Service or talk to us.
Four people can: your own developer, a freelance test engineer, an AI testing tool, or a managed QA team. A developer knows the code but is busy shipping; a freelancer is flexible but temporary; AI tools are fast but need review; a managed team writes tests you keep and owns the result. For most live products, a managed team or a developer-plus-AI setup works best.
If you would rather have a team write and maintain the tests for you, see how RAITHub would test this below, or the QA and test automation overview.
Does someone need to write tests, or can I skip them?
You can skip them until the first time a release breaks something that worked yesterday, which on a product that ships often is soon. Automated tests are the thing that runs on every change and tells you whether you broke a paying customer's workflow. Without them, your users are your test suite, and they report bugs by leaving. The case for when to start is in how to test a SaaS application.
Who are the four options, and what does each one cost?
Each option trades off knowledge of your code, cost and whether the tests stay with you.
| Who | What it costs on the market | Choose this when |
|---|---|---|
| Your own developer | Their salaried time, taken from feature work | They know the code best; tests just have to be prioritised against shipping |
| A freelance test engineer | Upwork median $35 an hour for QA engineers (Upwork) | You need a suite built once and can brief the critical journeys |
| AI testing tools | Your AI subscription plus review time | Your flows are defined and you want fast first coverage you will review |
| A managed QA team | A monthly retainer, quoted per scope | You ship often and want tests written, maintained and gated in CI, that you keep |
A full in-house QA hire is the fifth option, and usually premature for a small team: the US median wage for software quality assurance analysts and testers was $104,300 in May 2025, before benefits and tools (US Bureau of Labor Statistics). The hire-versus-outsource trade-off is in do I need a QA engineer or a service.
Can AI write the tests for me?
It can write them fast, but it cannot decide what they should prove. AI-written tests tend to assert whatever the code already does, so they pass while the bug ships. GitHub's own documentation says Copilot can generate tests but "you should always review the generated code" because they "may not cover all scenarios" (GitHub Docs). The way to use AI well is to give it a human-written map of roles and rules, then check its work by breaking the code on purpose. The detail is in how to test AI-generated code, and the limits in can AI test my app.
Free checklist
AI-Built App Launch Readiness Checklist
25 checks before you let real users in. Enter your email and we’ll reveal it below (and send you a copy).
One email, the checklist, no spam. By submitting you agree we can email you this checklist and reply to your enquiry.
What does a good test suite actually contain?
Whoever writes them, the valuable tests are the ones that fail when a real user would be hurt. The most important is the cross-user access check, which AI and busy developers both skip:
import { test, expect } from '@playwright/test'
test('user A cannot read user B data', async ({ request }) => {
const res = await request.get('/api/items/' + process.env.USER_B_ITEM_ID, {
headers: { Authorization: 'Bearer ' + process.env.USER_A_TOKEN },
})
expect([403, 404]).toContain(res.status())
})
A suite that only checks the happy path is decoration. Flip a permission check and see whether any test goes red; if none does, the tests are not protecting you yet.
How do I brief whoever writes the tests?
Whoever writes your tests, a developer, a freelancer, an AI tool or a managed team, is only as good as the brief you give them, because a test is a comparison between what the app does and what it should do, and the second half lives in your head. Write down three things before anyone starts: the roles (who can do what), the critical journeys (the handful of flows that lose money, data or trust), and the rules each role must obey (a member can see invoices but cannot change the plan). That short document is what turns a generic suite into one that catches your bugs. Without it, an AI tool or a freelancer defaults to testing the happy path, which is exactly the coverage you do not need. The time this takes is modest, an hour or two for a small app, and it pays back every time someone adds a test, because they are now testing against your intent rather than guessing it.
The one thing to resist is handing over the brief and never checking the result. Spend ten minutes breaking a feature on purpose, as above, to confirm the tests you paid for actually fail when they should.
How RAITHub would test this
RAITHub writes and maintains an automated test suite for your web product or API, and gates your CI on it so a failing change cannot reach users.
- A risk map first: the journeys that cost most when they break, agreed with you, so testing effort goes where it matters.
- A test pyramid: type checks, unit, integration, contract and end-to-end tests with Playwright, including the cross-user and payment checks that are easy to miss.
- CI gates: the top journeys go into CI first, so a failing change blocks the release rather than reaching customers.
- Tests you own: the suite and CI config live in your repository, with the IP assigned to you.
Timeline: on a live product the first month usually goes on the baseline and gating the critical paths, as a month-to-month retainer. For proof, PropDesk runs 1,024 tests, Sundor Skin 530+, and this website 400+. You receive the suite, weekly reports, and full IP with an NDA. See QA as a Service. The next step is a free 15-minute audit, then a written fixed quote; RAITHub publishes no rates.
Want tests written for your app? Ask about test automation.
Frequently asked questions
Who can write automated tests for my app?
Your own developer, a freelance test engineer, an AI testing tool, or a managed QA team. A developer knows the code best, a freelancer builds a suite once, AI is fast but needs review, and a managed team writes tests you keep and maintains them on every release.
Should my developer write the tests or should I outsource?
Your developer knows the code best, so their tests are often the most accurate, but tests compete with feature work and usually lose. Outsourcing to a managed team or using AI with review frees the developer while still getting the suite built and gated in CI.
Can I just use AI to write all my tests?
You can write them with AI, but not decide what they should prove with AI. Generated tests tend to assert what the code already does, so they pass while bugs ship. Give the tool a human-written map of roles and rules, then verify by breaking the code.
How much does it cost to have tests written?
A freelancer runs around $35 an hour on marketplaces; a managed retainer is quoted per scope, month to month; a full in-house QA hire sits near a US median wage of $104,300. RAITHub publishes no rates and quotes after a free audit.
Will I own the tests if someone else writes them?
You should insist on it. With RAITHub the tests and CI configuration live in your repository and the IP is assigned to you, so if you stop working together the suite keeps protecting you and your team can maintain it.
What is the most valuable test to have?
The one that checks whether one user can read or change another user's data. It catches the most expensive class of bug, a data leak, and both AI tools and busy developers tend to skip it because it needs two accounts and a deliberate attempt.
Related posts
Ready to discuss your project?
Book a free 15-minute technical audit with our engineering team.