
Perhaps we should align our expectations with reality.
I work with development teams year-round. This for critical software that, if broken, can lead to loss of life, loss of reputation, loss of public confidence, loss of business. Project budgets measured in millions, time to delivery measured in years.
Professional teams, comprised of architects, analysts, programmers, project managers. Separate teams for development and for QA. Elaborate processes for code promotion and deployment. Unit tests, functional tests, integration tests, system tests, acceptance tests, performance tests, load tests, penetration tests. Using integrated development environment, with automated tools for performing thousands of tests as part of the build process.
And yet, with all that, they produce buggy software. Ridden with incredibly obvious bugs or even design flaws.
And as I trace those to their origin, I realize again and again that software is hard to do. And hard to test.
In particular, writing test cases is incedibly hard to do. WIth complex software, there is an infinity of permutations of all possible factors that can lead to unexpected behavior. Not easy to predict.
Now imagine you write a train simulator game. Most of it is actually making content, there's not much software programming that can be tested with automated tools. You have almost none of the above incentives, teams, budget, time, or tools. You have a QA team and beta testers, about the only thing they can do is sit down and play the game. You fix whatever bug they report, if it is fixable within the limits of the game engine.
Now imagine you're a 3rd-party content builder and you've just built an add-on for a train simulator game. You do that as an aside, a hobby that may bring home a few extra bucks. You have nothing but time. You're a builder and don't know a lot about scenarios, but the game company wants some. You do what you can and send the product to the game company. QA teams and beta testers will sit down and try the add-on with your scenarios. The game company will sell that for 20 bucks (most people will buy it on sale for 12 bucks), which will be split between the builder, the game company, Steam and the credit card company.
Just how much QA are we expecting for that kind of product?