Continuous Integration, a basic XP practice, has now become an accepted development best practice. InfoQ presents Chapter 6: Continuous Testing, with advice and examples for writing good tests to ensure system quality, from the book "Continuous Integration: Improving Software Quality and Reducing Risk," which aims help teams make CI a transparent "non-event".
Can refactoring and unit testing really create robust “working software” that survives the real world? In this story adapted from his book Release It! Michael Nygard contends that "abstractions leak": we need to attend to architecture, even in Agile projects, to guard ourselves against the 5AM failures that occur when foundational abstractions misbehave.
There are many occasions where software creates XML output: XML documents are used for data interchange between different applications, web application create (X)HTML output or respond to AJAX requests with XML, and this has to be tested as much as anything else. In this article, Stefan Bodewig explains how to perform those tests with the XMLUnit framework he has co-authored.
TDD principals provide architects a way to quickly jump into active development early in the application development lifecycle. Dan Bunea demonstrates how TDD can be applied in .NET. 5
Teams new to Agile wonder which practices to start with, and which will most benefit their own context. This article proposes a customized adoption approach to help teams decide where to focus first.
Amr Elssamadisy tells how participants at XPday Montreal focused on the dynamics of adoption, rather than the structure resulting from adoption, to compile Agile adoption patterns helpful to novices. 1
The story of a unique work-study degree program at New Mexico Highlands University, begun in 2004-2005: an apprentice shop where students and customers used Agile practices.
Jeff Xiong shows how to use Selenium, a browser-based acceptance testing tool, to test Ajax apps. 8
Using logging seams you can easily create unobtrusive unit tests around legacy classes, without needing to edit class logic as well as avoiding behavior changes. 3
Take a BAT to the legacy code you inherit: Build, Automate, Test. Jared Richardson shows how to create a safety net, to ensure that your code continues to work the way you want it to. 19