|
|
|
Ask HN: What Killed Manual Software Testing?
|
|
19 points
by towawy
1842 days ago
|
|
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? |
|
Automated testing is almost universally better, except that it misses out on the exploratory nature of manual testing. Many critical systems utilize automation + manual exploratory systems and convert discovered failures from manual testing into part of the regression test suite (which is increasingly moved towards automation over time).
And yes, the first two (users will report bugs or customers will test contract work) are definite signs of a lack of professionalism.
Notable: Manual tests are almost universally integration tests. They are not unit tests. The dogma in the 00s/10s was that unit tests were the best tests (fortunately this was not universally held and is dying down, unfortunately it's, in some circles, swinging the other way to oppose unit tests wholesale; baby with the bathwater). Unit tests are great tests, but they are not integration tests and it is the interaction between units where many issues arise. (This observation is not unique to software, it's true of most physical, electronic, and hybrid systems as well.) You need both kinds. Integration tests, manual ones especially, are expensive to execute and this discourages many companies/organizations from pursuing them even when they have a way to automate the regression test suite after the fact.