Choie

GlossaryUpdated

QA testing

QA (quality assurance) testing is the work of checking that software does what it should before people rely on it, through automated tests that run on every change and manual testing of real flows on real devices.

In short

  • QA combines automated tests that run on every change with manual testing by people.
  • Test the critical workflow most. A bug in sign-up or payment costs more than one in settings.
  • Every bug found before launch is cheaper to fix than the same bug found by a customer.
  • Testing is part of building, not a phase at the end. Ask how a team does it before you hire them.

Also called: Quality assurance, Software testing, QA, Automated testing, Regression testing.

What QA testing covers

Quality assurance is everything a team does to make sure software works: that features behave as specified, that new changes do not break old ones, and that the product holds up on the devices, browsers, and connections real people use. Testing is the largest part of it.

QA is different from usability testing. QA asks whether the product works as built. Usability testing asks whether people can use it. A form can pass every QA check and still confuse everyone who fills it in.

The main kinds of tests

The testing pyramid

  1. Manual testingPeople trying real flows on devices
  2. End-to-end testsWhole flows, automated in a browser
  3. Integration testsParts working together
  4. Unit testsSmall pieces of logic, many and fast
Many fast tests at the bottom, fewer slow ones at the top. End-to-end tests on the critical workflow give an early product the most confidence per hour.
TypeWhat it checksExample
UnitOne function or component on its ownPrice calculation adds tax correctly
IntegrationParts working togetherSaving an order writes the right database records
End-to-endA whole flow, as a user would do itSign up, create a project, invite a teammate
RegressionOld features still work after changesThe full suite run before each release
Manual and exploratoryWhat automation missesTrying odd inputs on a slow phone

How much testing an early product needs

Not every line needs a test, and an MVP that changes weekly can waste time on tests for code that will be rewritten. The right amount follows risk: the more it costs when something breaks, the more it deserves a test.

  • Always test the money and the data. Payments, permissions, and anything that could lose or expose user data.
  • Automate the critical workflow end to end. If the core flow breaks, you want to know before users do.
  • Run tests on every change. Continuous integration runs the suite automatically when code is pushed, so problems surface within minutes.
  • Test on real devices before release. At least one recent iPhone, one mid-range Android phone, and the main desktop browsers.
  • Include accessibility checks. Automated scans plus a keyboard pass catch common web accessibility issues.

Write a test for every bug

When a bug is fixed, add a test that would have caught it. The same bug then cannot quietly return.

QA when code is written with AI

With AI-assisted development, code is produced faster, which makes checking it more important, not less. AI tools can write tests too, but a person still has to decide what needs testing and judge whether the tests check the right thing. Code that is generated quickly and never tested is a common source of technical debt.

At Choie, AI drafts implementation from a decided design and proposes tests. A senior person reads every line before it ships, and generated code that nobody understands is not merged. The AI-accelerated development guide covers how that works.

Common mistakes

  • Leaving testing to the end. A week of QA after months of building finds problems too late to fix well. A Choie build puts a new live link in the founder's hands every Friday, so working software is in use from the first week.
  • Testing only the happy path. Empty states, errors, slow networks, and expired sessions are where real users get stuck.
  • Only testing on the developer's machine. A fast laptop on office Wi-Fi hides problems that phones on mobile data reveal.
  • Tests nobody runs. A suite that is not run automatically on every change slowly stops being trusted.

Common questions

What does QA stand for?

Quality assurance. In software, it covers the practices and testing used to make sure a product works correctly and reliably before and after it is released.

What is the difference between QA and usability testing?

QA checks whether the software works as intended, such as whether a payment goes through. Usability testing checks whether people can figure out how to use it. A product needs both.

Do I need a separate QA team?

Not for an early product. Developers can write automated tests and a founder or designer can do manual passes. Dedicated QA people become valuable as the product and team grow. Choie also fixes defects in its own work at no charge for 30 days after launch, while real use is still turning up what testing missed.

What is regression testing?

Rerunning existing tests after a change to make sure features that used to work still do. Automated test suites make regression testing fast enough to run on every change.

Related terms

See every term in the glossary

Have something worth building?

  • Product strategy
  • iOS
  • Design systems
  • Launch sites
  • Measurement
  • Android
  • Prototypes
  • UX design
  • MVPs
  • Web apps
  • UI design

Send a few lines about it. You will get an honest reply within two days, and a plan if it fits.