Automated unit testing is the agile software development equivalent of “in-process inspection” in Lean Production systems. xUnit is the generic name given to the family of tools/frameworks used by developers when developing automated unit tests. The community has now had enough experience with using XUnit to start cataloging “best practices” and “not so best practices” as patterns and smells. This tutorial introduces a number of these “test smells”, describes their root causes, and suggests possible solutions expressed in the form of patterns.
After 7 years of traditional IT delivery, Gap Inc. Direct decided to adopt Agile. This experience report discusses three key factors that contributed to our successful (and ongoing) Agile transformation: 1. Ambitious Pilot Project 2. Massive Investment in Continuous Integration 3. Rethinking our Assets