for grins For Grins
Horace's Horror

As a public service, I have a little treatise (read - "excuse") to help answer a question that has caused untold hours of debate...

"...just why is it so hard to test software"?

There are probably only three people in existence who have not, at one time or another, been involved in the debate over the relative importance and priority of design vs testing during the software development process. Still, however, I occasionally run across folks who tell me that software should be exhaustively (or nearly exhaustively) tested - regardless of the investment in design. And, while I wouldn't necessarily accuse them of believing in "proof by example," their arguments usually run something along the lines of...
"...Heck! We've got these nice automated testing programs that can be setup, started and left alone to run. ... even if it takes a week to finish! ..."

Ok - so what would it take to exhaustively test a piece of software?

Well, consider the following flow chart - a relatively simple program that we will euphemistically refer to as "Horace's Horror " (... just because). In order to exhaustively test this program, we must test every path from A to B - right? In fact, we should test every path several times in order to test boundary conditions of variables, etc. (... and we won't EEEven talk about issues of multi-threading and the like :-)))

So the question becomes, "just how many paths are there from A to B - and how long would it take to exhaustively test?"

Well - being a software developer, I did what any developer would do when faced with this problem ... I wrote a little test-simulator that will count the number of paths :-)) - and, being an optimistic sort of guy, I assumed that it would be enough to simulate testing each path only once. ;-)

Just click the TEST IT button below to run the simulator and see the answer.

Search the Site
Find Any or All of
Feel free to drop by and chat if you have any questions - one of us is usually around during normal CST/CDT business hours.


Copyright © -1995-2018 by hav.Software. All Rights Reserved. havBpNet:J, havFmNet:J, havBpNet++, havFmNet++, havBpETT, havCNet, WebSnarfer, havIndex and havChat are all trademarks of hav.Software.

Java and all Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries.

There may be other trademarks or tradenames listed in this document to refer to the entities claiming the marks and names or products. hav.Software disclaims any proprietary interest in any trademark, tradename or products other than its own.
Modified - 09/15/17 - 32252469 - 6859198