Subscribe to the full blog feed using RSS
Error Guessing is described in ‘Testing Computer Software’ by Cem Kaner : “For reasons that you can’t logically describe, you may suspect that a certain class of tests will crash the program. Trust your judgment and include the test.” This quote suggests to me that there is an informal model in the tester’s head and that the subconscious is applying a strategy to the model which the tester is unaware of.
Testing is exploration. In a mature testing organisation the expedition is well planned, and staffed with seasoned explorers. The planning will be done around a number of maps of the territory to be explored. Some maps will show different levels of detail - to show all the detail on one map would confuse the issue, so one map will identify areas of population, one will provide information of season rainfall statistics etc.
In order to test a model we have to have some way of recognising the success or failure of a test, our test must have a goal, it must have a reason for existing. That reason is inherent in the model from which the test is derived. This means that it is difficult to use a model to test itself. In software development this is typically not a problem, we rarely use the source code as the only model when testing the source code.
Do we want to produce programs that are fault free or do we want to produce programs that allow people to do what they want to do in a quality manner? Ideally I’d prefer both, but humans make mistakes so we should aim for a product that functions in a quality manner. When we achieve that we do it by assuring ourselves of the quality of the models in the software development process as they are produced, and before they are fed into a downstream process that will build new models using the information contained in those models.
Software development tries to create a product. It does this by engaging in a number of processes (requirements, design, coding, etc.). Each of these processes will create a model that will either be the final product or an input to a follow on process. The best example of this is one of the popular life cycle models: waterfall or V model. There are constraints on the construction of a product; we need it in X days, it must only cost Y thousand, and you only have Z staff members.
“A map is not the territory it represents, but, if correct, it has a similar structure to the territory, which accounts for its usefulness…” A. Korzybski, Science & Sanity, 4th Ed. 1958, pp. 58-60 (quoted from: R Bandler & J Grinder, Patterns of the hypnotic Techniques of Milton H. Erickson, M.D. Vol 1, 1975, pp 181) Human beings model the world. We learn by constructing models and then subjecting those models to tests in order to determine their validity.
Software Test Scripting This essay explores the test scripting in terms of software development as the two processes are very similar and share many of the same techniques and pitfalls. It is primarily aimed at manual test script construction because automated test script construction is software development. An exploration of, and notes on, the test scripting process: Introduction Definitions The development life Cycle Requirements Design Executable Models Iterations in Test Scripts Use of the Design Recommended Further Reading Introduction This text will explore the process of test scripting.
Path Analysis for Software Testing TLDR; This essay explores the use of graph models in testing and the practice of structural path derivation using 3 coverage concerns: node coverage, link coverage and loop coverage. Predicate coverage is considered but is not covered in detail. An exploration of, and notes on, model path analysis for testing: Introduction The example model Basic Testing approach for Graph Models Node and Link Coverage Predicate Coverage Loop Coverage Beizers strategies considered Conclusion Introduction This text will focus on the structural aspects of model path analysis.
Colarado Springs, 1900, and a round wooden building has been constructed 100 feet in diameter. Within the building a metal spike, fifty feet high, extends from floor to ceiling, this continues for another 70 feet into the desert air. A thin man sits on a wooden chair reading a hand written scientific text not more than 5 feet away from the spike. Suddenly a roar of tumultuous proportions fills the room, neighbours 10 miles away step out of their homes to see what has disturbed them.
A Fortunate Perusal… I was recently browsing in a second hand charity book shop. On the counter was a copy of Hetzel that they had neither priced nor put out on the shelf so I asked them how much it was, feigning disinterest in case they should quote a figure too close to Amazon’s (£££). Fortunately they quoted £2, this was the first time I had ever been pleased to see testing undervalued.