test-driven development

Better Software Magazine Articles

Busted: 5 Myths of Testing Regulated Software

Testing regulated software is often seen as a tedious job that generates stacks of documentation and is subject to crippling rules. See five of these assumptions exposed as mere myths, and learn how regulated testers can use the same approaches, techniques, and tools at any other tester's disposal while still passing a process audit.

John McConda
The "One Right Way"

For those who believe there has to be one right way to do something, especially in software development - there can be. But that one way isn't likely to come from a single individual. Through collaboration and teamwork, some of the greatest single ideas have evolved.

Lisa Crispin's picture Lisa Crispin
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
Testing is Essential to Agile SCM

Rather than being an afterthought for SCM, an appropriate testing strategy is what enables an SCM in an agile environment. To be more agile, you need to avoid the silo-based perspective of development, SCM, and testing being three different disciplines. Instead, think about how the processes in one part of your development ecosystem affects what you can do in the others.

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
Using Mocks to Verify Interactions

In the March 2006 issue of Better Software magazine, Dan North began a discussion of the evolution of behavior-driven development from test-driven development. Here, North continues the conversation with closer look at "mocks," utility classes that, for testing purposes, pretend to be some component or service with which your object will interact.

Dan North's picture Dan North
Introducing Test Driven Development

You may ask, why would anyone write an automated unit test for code that has not yet been written? With Test-Driven Development (TDD), that's exactly what you do-write an automated test that fails; then write the code that makes the test pass; then write another automated test that fails; etc., until the system is completed. This provides an automated regression test suite up front, before the tests can be "skipped" because the project is "running late". Matthew Heusser introduces the concepts and benefits of TDD for the user, the developer, and the organization. Learn how TDD can create confidence that code is complete and works, catch integration defects when they are first created, and, most importantly, provide confidence that a maintenance change did not create regression error. Also, learn what TDD means for testers.

Matthew Heusser, Priority-Health
Domain-Centric Programming: Redefining the Universe

Sometimes to build better software you have to challenge long-standing assumptions. Find out what happened when one programmer realized his priorities were upside-down.

J.B. Rainsberger

Pages

CMCrossroads is a TechWell community.

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