Subscribe to the full blog feed using RSS
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.
The Choice I bought a garden bench from a DIY store. It was one among many similar benches and I had difficulty deciding which to buy. Fortunately the store had one of each assembled so I was able to sit on them and try them out. I picked one in the middle of the available price range, aesthetic enough to meet my visual bench criteria, and sturdy enough to cope with the demands of visiting nephews and feral squirrels.
OO Testing explained and modelled using OO Techniques I liked this book because I often model the Software Testing process and like to see the models created by other people.