How Can We Cut Down Testing Overhead Without Compromising Quality?
Asked by
TechieNinja84
Our engineering team of eight is currently overwhelmed with testing responsibilities. We've got a mix of unit tests, integration tests, and end-to-end tests, which consume about 30% of our sprint time. While we recognize the importance of testing (it has helped us catch many bugs before they reach production), the amount of time spent on maintenance and fixing flaky tests feels excessive. We're starting to lag behind our competitors because of this. I'm curious to hear from other startups that have managed to streamline their testing processes without expanding their QA team. Did you find better tools or modify your testing methods? Or is accepting some level of overhead the price for maintaining quality? We're currently using Playwright, which is an improvement over Selenium, but we still face issues as many UI changes tend to break tests. Additionally, our CI times are increasing, which further delays our deployment speed. I'm looking for practical solutions that have worked for others, not just theoretical advice.
Answers
Here's a controversial suggestion: consider using AI to help automate testing. It's pretty good at generating tests and can take some of the burden off your team while focusing on essential test scenarios that need coverage.
Reply to this answer
You might want to reconsider your testing architecture. If your unit tests are running in a browser, that's a sign of poorly defined boundaries in your codebase. Try breaking your application into smaller, well-defined components and creating an event storming session to clarify your domain models. It can help you create a more maintainable architecture, leading to easier testing and faster development.
Reply to this answer
In my experience at a startup, we stopped testing new features that were likely to change quickly. If something's only going to be around for a couple of months, it feels pointless to spend a lot of resources on tests that will need constant updates. Focus on the features that are likely to stick around to make testing more manageable.
Reply to this answer
One way to reduce testing overhead is to limit the amount of testing you do through the UI. Focus primarily on unit tests โ they should make up about 99% of your testing strategy. Only use UI tests to check specific components that your team has built. This way, each unit test should be isolated and not dependent on others, allowing for quicker execution and easier debugging.
Reply to this answer
It's important to aim for covering more risks with fewer tests. Don't tie your test logic too closely to your implementation. Reduce complexity by avoiding multiple assertions in a single test, and you might find that you can still effectively mitigate risk without overwhelming your testing framework with unnecessary tests.
Reply to this answer
Add your answer
Answers are reviewed before publication.
Related Discussions