In test automation, code involved in testing is not only test logic, but also a bunch of other supporting code, like URL concatenation, XML parsing, UI, etc. Test logic can be buried in this unrelated code, which has nothing to do with test logic itself, making test code hard to read and maintain. In this article, the layered architecture of test automation is presented to solve this problem.
'Release It!: Design and Deploy Production-Ready Software' by Michael Nygard, which is nominated for a 2008 Jolt Award, discusses what it takes to make production-ready software and explains how this differs from feature-complete software. InfoQ spoke with Nygard about the areas that the book covers and some questions around how the book's philosophy fits in with concepts such as Agile.
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".
Mark Figley talks about enforcing coding standards and best practices in an automated fashion through the build process. 5
Can refactoring and TDD create “working software” that survives real life? Michael Nygard suggests that "leaky abstractions" ambush us at 5AM when we've paid too little attention to architecture. 25
Today, almost every modern application consumes or produces XML. Stefan Bodewig explains the challenges in testing XML-based applications, and shows how to use the XMLUnit Java Framework to do so. 8
Agile software development, shunning up-front design, has grown up in parallel to the emergence of "user-centered design," with its detailed user research and modeling. Can these be used together? 7