Our Testing Strategy: Unit, Integration & UAT
Testing is not an afterthought at Progressive Robot — it is built into every stage of delivery. This article explains the layers of testing we perform and your role in the process.
Unit Testing
Unit tests verify that individual functions, methods, or components work correctly in isolation. They are written by our engineers and run automatically as part of our continuous integration pipeline. Every code change triggers our unit test suite — if a test fails, the code cannot be merged.
Integration Testing
Integration tests verify that different parts of the system work correctly together — for example, that the front-end correctly calls the API, which correctly reads from the database. Integration tests catch bugs that unit tests can't, because they test the interactions between components.
End-to-End Testing
End-to-end (E2E) tests simulate real user journeys through the system — from clicking a button in the browser through to a record being written to the database. We use tools like Playwright or Cypress for E2E testing on web applications.
User Acceptance Testing (UAT)
UAT is performed by you (the client) on the staging environment. It is your opportunity to verify that the system meets your requirements before we deploy to production. UAT is a formal gate — sign-off from you is required before go-live.
What We Need From You in UAT
- Dedicated time from your team (typically 3–5 business days per major release)
- Feedback logged formally in the portal or via a shared UAT tracker
- Clear pass/fail decisions against each acceptance criterion
- A named UAT lead who coordinates your team's testing effort
Regression Testing
After each release, we run our automated test suite to ensure existing functionality has not been broken by new changes. This regression safety net means you can be confident that fixing one thing has not broken another.