testdriven.com Wrangling quality out of chaos

Archive for the ‘Links’ Category

Martin Fowler: Continuous Integration

04.15.2003 · Posted in Links

An important part of any software development process is getting reliable builds of the software. Despite it’s importance, we are often surprised when this isn’t done. Here we discuss the process that Matt has put into place on a major project at ThoughtWorks, a process that is increasingly used throughout the company. It stresses a fully automated and reproducible build, including testing, that runs many times a day. This allows each developer to integrate daily thus reducing integration problems.

Martin Fowler & Matthew Foemmel
www.martinfowler.com
January 1, 2001

link

Tags:

Testing focus boosts XP

04.15.2003 · Posted in Links

The abysmal quality of software has led to Extreme Programming (XP), a discipline for developing software that requires test-driven design, continuous testing and acceptance of constant change. As one application services provider (ASP) delivering complex demand chain management solutions has found, XP has enabled rapid development of quality software. The XP movement, which Kent Beck kicked off with a paper on Smalltalk programming, emphasizes testing that helps to bring new developers up to speed rapidly. It also aids developers when they refactor, or change, code. Every programmer writing code has to refactor existing code to streamline it, and continuous testing gives developers confidence that their refactoring works.

Richard Adhikari
edwardh.com
January 1, 2002

link

Tags:

The Test-First Stoplight

04.15.2003 · Posted in Links

Extreme Programmers write tests before they write the corresponding production code. In "test-first programming," you start with a small test, then write just enough code to implement it, and continue with the next test until the code is done.

William C. Wake
XP123
January 2, 2001

link

Tags:

Working Effectively With Legacy Code [PDF]

04.15.2003 · Posted in Links

The key to working effectively with legacy code is getting it to a place where it is possible to know that you are making changes one at a time. When you can do that, you can nibble away at uncertainty incrementally. The tests that you use to do this are a bit different from traditional tests. I like to call them test coverings.

Michael Feathers
Object Mentor, Inc.
April 9, 2002

link

Tags:

Polygenix White Paper on Object Substitution

04.15.2003 · Posted in Links

Mock objects are a powerful and flexible mechanism for substituting an imposter as a parameter to the class under test. In many cases, however, the collaborations with the class under test are not parameterized — for example: an attribute that is not supplied to the constructor; objects that are created or referenced via static factories; or new instances of collaborations that are created by the class.
Object Substitution is a technique developed by Polygenix to enable the developer to replace such collaborations with the class under test without modifying the original source code.

The Polygenix staff
Polygenix
March 10, 2003

link

The Need for Speed: Automating Acceptance Testing in an Extreme Programming Environment

04.15.2003 · Posted in Links

Acceptance tests must go beyond functionality to determine whether the packages meet goals such as specified performance levels. Automating end-to-end testing from the customer point of view can seem as daunting as driving along the edge of a cliff with no guard rail. At Tensegrent, a software engineering firm in Denver organized around XP practices, the developers and the tester have worked together to design modularized, self-verifying tests that can be quickly developed and easily maintained. This is accomplished through a combination of in-house and vendor-supplied tools.

Lisa Crispin, Tip House & Carol Wade
Agile Alliance
May 1, 2001

link

Tags:

Stop over-engineering!

04.15.2003 · Posted in Links

The great thing about software patterns is that they convey many useful design ideas. It follows, therefore, that if you learn a bunch of these patterns, you’ll be a pretty good software designer, right? I considered myself just that once I’d learned and used dozens of patterns. They helped me develop flexible frameworks and build robust and extensible software systems. After a couple of years, however, I discovered that my knowledge of patterns and the way I used them frequently led me to over-engineer my work.

Joshua Kerievsky
Industrial Logic
April 2002

link

Tags:

Abbot – Java GUI testing framework using JUnit

04.15.2003 · Posted in Links

Abbot (A Better Bot) is a Java GUI testing framework. The framework may be invoked directly in hand-coded Java tests, or more simply using XML-based scripts. Both methods are designed to be used with the JUnit testing framework. You can launch a GUI, invoke arbitrary user actions on it, and examine its state. The scripts may be invoked from JUnit or with minor modification any other testing environment.

link

JUnit

04.15.2003 · Posted in Links

JUnit is a regression testing framework written by Erich Gamma and Kent Beck. It is used by the developer who implements unit tests in Java. Most famous of XUnits, JUnit is Open Source Software.
link