Test Design

Better Software Magazine Articles

Is There a Problem Here?

Suppose you were testing an application that you had never seen before with no time to prepare, no specification, no documentation, no reference programs, no prepared test cases, no test plan, and no other person to talk to. How do you know that what you are seeing is a bug?

Michael Bolton's picture Michael Bolton
Some Assembly Required

Despite the hype, test-driven development is not as easy as child's play. Successful implementation of TDD requires discipline and an understanding of the potential pitfalls. This article examines the "fine print" of TDD and explains how following some guidelines can help you make it a valuable addition to your development toy box.

Jennitta Andrea's picture Jennitta Andrea
A Story About User Stories and Test-Driven Development: Into the Field

Drawing on real events from the authors' combined experience, this story picks up where it left off in the November 2007 issue and follows a fictional team as it encounters some of the pitfalls of using test-driven development.

Gertrud Bjørnvig Neil Harrison
Man and Machine: Combine the Human Mind with Test Automation Tools

Instead of viewing software test automation as an effort to replace manual tests think of it as a means to extend the abilities of the tester. Combining the power of the human mind with automation tools helps fuel observation and discovery and provides a different perspective of the software under test.

Jonathan Kohl's picture Jonathan Kohl
What Counts?

In the testing business, we are infected with counting disease–we count test cases, requirements, lines of code, and bugs. But all this counting is an endemic means of deception in the testing business. How do we know what numbers are truly meaningful?

Michael Bolton's picture Michael Bolton
McLuhan for Testers

If a tester is "somebody who knows that things can be different," then Marshall McLuhan was a tester par excellence. According to McLuhan, the English professor who proposed the Laws of Media, the message of a medium is not its content but rather its effects. Find out how this translates to software testing and how we evaluate requirements.

Michael Bolton's picture Michael Bolton
Developing Your Sense of Smell

With all of the resources available these days—books, blogs, Webcasts, training,—that aid us in our design, are you one of those programmers who lacks the "olfactory gene" needed to detect refactoring odors in your code? Unit testing helps you refine your sense of smell and improve your code design.

Tod Golding's picture Tod Golding
Transform Your Software

Bring out the best in your code. Systematic code transformations are an important tool for test-driven development. Refactoring and generalization—common code transformations in TDD—improve the code while preserving its behavior and broaden the capabilities of the software. Each technique has its place, and together they help make TDD effective.

William Wake's picture William Wake
Ready, Aim, Release

Think you know what your customer wants? Can you afford to be wrong? Based on the concept of tracer ammunition, which allows a shooter to follow the path of a bullet toward its target and adjust his aim as needed, tracer bullet software development can help you better understand your users’ wants so you can build a product that hits the mark.

Jared Richardson
Test Design with Risk in Mind

Sometimes in testing we find problems that surprise us. And that's where risk-based testing comes in. Build your tests around "What if...?" statements to help you anticipate problems before they arise.

Michael Bolton's picture Michael Bolton

Pages

StickyMinds is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.