The truth about QA
G'day All. Having worked in "QA" for over 20 years, let me point out a few things.
Firstly, define quality. It's a lot like pornography - you know it when you see it. But the difficulty is defining it. Quality is a subjective statement, and what we all consider is "quality" may differ.
Secondly, A few people in the thread equate quality with an absence of defects. And yes, no defects would be a good thing, were it achievable. Consider the following, let's say we have some simple code that has 5 paths through it. Lets also assume that testing each path (writing and executing a test) takes 5 minutes. So in 25 minutes I have tested each path. Easy...
Now, lets say that these 5 paths are contained within a WHILE loop that could loop up to 20 times. The number of paths now are based on the exponentials of 5 (5, 5x5, 5x5x5) and so on up to 5 to the power of 20 (yep, 5 times itself 20 times). When you add all these together, it comes to 119,209,289,550,780! That's the number of tests required to test the aforementioned loop. If each took 5 minutes to write and execute, it would take over a billion years to test. How many possible paths/ loops/ conditions do you think are in the millions of lines of code that make up ED?
Thirdly, we could test for a verrrry long time, and cover as many possible test cases. But we cannot do them all, as that number is bloody huge. So lets say that we continued testing Horizons 2.2 until the end of 2017 (about 18 months). So not only haven't we put much of a dent in the number of possible tests, but now the users are complaining because the software hasn't been delivered.
Finally, please don't mention automation. Automated tests can be useful, but the majority of automated scripts merely throw data at a system. Automated tests should be designed to find defects, not break when they don't get an expected result. Besides, even if we could run 10,000 tests per minute, divide 119,209,289,550,780 by 10,000 and see where you end up.
So it's not as easy as "hiring a QA department..."