Hi HN! I've been working in software development for the past 8 years in different capacities, always for startups or SMBs. Recently I've been thinking about in-house manual software testing - or rather the lack thereof - I've experienced during that time. What gives? Did it ever exist in "typical" software development? If yes, where did it go?
Trying to push the issue in multiple projects I've been involved in has so far been met with resistance, calling it unnecessary. The usual counter arguments are:
- Users will report bugs
- The customer will test it before delivery (in case of contract work)
- Automated testing
Am I crazy to think the first two show a lack of care for quality of our software, and that effective automated testing is too hard (writing tests that catch a wide range of non-regression bugs is often more difficult than writing the actual program) and expensive for projects on limited budgets? Wouldn't a few QA staff for testing on a regular basis be cheaper than the additional engineering hours for automation or support for unhappy customers?
The only time I've seen structured manual testing in practice was in a company where the entire development and IT staff was assigned to it the day before a planned release. It was grueling and linear work, but even that uncovered bugs that automation didn't catch. At another project, the bugs seemed to become more severe after people in our company (especially outside engineering) stopped using it on a regular basis. Would hiring someone to do it as their job help? Are there resources out there to get started on setting manual QA up?