testdriven.com Wrangling quality out of chaos

Archive for July, 2006

Test Categorization Podcast

07.31.2006 · Posted in News

The second, in a monthly podcast series on early software quality techniques and solutions – personalized with a disco twist – introduces test categorization as a technique for reducing software build durations.

Have a listen!! (MP3 file)

Hand-rolled mocks made easy: A hybrid approach to writing mock objects

07.30.2006 · Posted in Links

Unit testing is something we all need to do, but getting good code coverage can be a daunting task. In this article, Gary Tong focuses on one of the basic elements of unit tests: mock objects. Using a hybrid static/dynamic approach, he shows how flexible, useful mock objects can be written in a matter of minutes.

Author: Gary Tong
Published: JavaWorld, July 31, 2006

Write Right Java Faster Using Test-Driven Development: The benefits of embracing TDD

07.30.2006 · Posted in Links

Testing Java code is increasingly a task taken on by developers rather than separate teams to which the programs are handed. Many Java developers are now familiar with JUnit and know the different between unit tests and integration tests. This has been driven largely by the focus on test-driven development (TDD) in extreme programming (XP) and other agile software development methodologies. While the industry-at-large has recognized the value of unit tests and has a new outlook on testing in general, for the most part, actual TDD (meaning, the tests are written first) is not usually practiced outside of hardcore agile shops.

Authors: Richard Cariens & John Evans
Published: Sys-con Australia, July 30, 2006

Test Driven Development, a Portable Methodology

07.28.2006 · Posted in Links

Since the late 1990s when the software revolution moved into the fast lane, development shops have endeavored to find a way to operate within the demands imposed by strict budgets, fierce deadlines, and uncompromised quality. As marketing, testing, usability, and development departments all sought to bring an idea into existence, programmers were expected to function as a cog rather than as the wheel. As a result, the focus on a given project was scattered across business groups, placing ownership on the outcome nowhere in particular. [..]

In 1999, Extreme Programming (XP) appeared on the horizon and, where it was adopted, everything changed.

Author: Nancy Corbett
Published: Developer.com, July 26, 2006


Rails Recipes

07.26.2006 · Posted in Links

Rails RecipesRails is large, powerful, and new. How do you use it effectively? How do you harness the power? And, most important, how do you get high-quality, real-world applications written?

From the latest Ajax effects to time-saving automation tips for your development process, Rails Recipes will show you how the experts have already solved the problems you have.

This book explains how to:

– Use generators to automate repetitive coding tasks.
– Create sophisticated role-based authentication schemes.
– Add live search and live preview to your site.
– Run tests when anyone checks code in.
– Create tagged data the right way.

Author: Chad Fowler
Published: Pragmatic Programmers, June 2006
350 pages


Tags: ,

NDbUnit 1.2 Released

07.26.2006 · Posted in Tools

Quality Labs (www.qualitylabs.org) has released a new version of NDbUnit 1.2.

NDbUnit, a .NET framework for simplifying developer testing of code which relies on a database, addresses some enhancements and bug fixes.

Read more.

NDbUnit: database state consistency across .NET test execution

07.26.2006 · Posted in Links

NDbUnit is a .NET library for putting a database into a known state. NDbUnit may be used to increase repeatability in unit tests that interact with a database by ensuring that the database’s state is consistent across execution of tests. NDbUnit does this by allowing the unit test to perform an operation on a dataset before or after the execution of a test, thus ensuring a consistent state.

AgileDraw: Modeling Convention for Agile Projects

07.25.2006 · Posted in Links

Over the years, modeling techniques have become cumbersome due to a focus on notation and tools (the "how") instead of concepts and shared understanding (the "what").

Agile Draw is a lightweight, expressive convention for modeling that promotes effective communication over tools and understanding over processes.

The core of Agile Draw includes four components: circles, boxes, lines, and text; these indicate different aspects and relationships of the model. The Agile Draw extensions provide guidelines to make the models visually appealing.

Agile Draw is meant to be useful in any drawing context, whether drawing by hand, or using a software application.

Agile Java Development with Spring, Hibernate and Eclipse

07.25.2006 · Posted in Links

Having worked with Java since 1995 and various software development lifecycle methodologies over the years, I have seen things grow complex in these areas. Thanks to some new lighter-weight Java tools and agile methods, I can provide a fresh perspective on developing Java applications in an agile manner.

A roadmap for building enterprise-class applications using agile methods a POJOs.

Author: Anil Hemrajani
Published: Java Developer Journal, July 24, 2006


Pulse Continuous Integration Server 1.1 (Beta)

07.25.2006 · Posted in Tools

Zutubi is proud to announce the public beta release of the Pulse automated build server, version 1.1. This new release is a major milestone, including dozens of new features and improvements. The most notable new feature is a powerful distributed building model that allows you to build and test in parallel across multiple platforms. Other highlights include AJAX-enabled real time build logs (even for remote builds!), optional changelist isolation, LDAP integration, support for linking to external tools, dependent project triggering, incremental building, source code tagging, AJAX working copy browsing, built in Xcode support, an improved user interface and more!

Refer to the what’s new page for more details. You can download and try Pulse 1.1 today with a free 30-day evaluation license.

Ambient Orb Ant Task Project on QualityLabs.org

07.21.2006 · Posted in News

Steve Matyas of 5AM Solutions and Paul Duvall of Stelligent developed an Ambient Orb Ant task that changes the color of an Ambient Orb based on a build event.

The Ambient Orb Ant task project is hosted at Quality Labs, a development and distribution environment for the open-source community.

Read the announcement.

TestNG 5.0 released

07.20.2006 · Posted in Java

Cédric Beust has announced the availability of the latest version of his versatile Java testing tool, TestNG. Here is a short list of changes that have appeared in version 5.0:

* Configuration annotations are now called @BeforeTest, @BeforeSuite, etc…
* Reports are now created in their own directory (one per suite) and a main index file shows a list of all the suites that were just run. They have also received a series of improvements in appearance and content.
* It is now possible to specify the suite and test names directly in the @Test annotations, which allows you to do without a testng.xml.
* expectedExceptions has moved inside @Test.
* TestNG shows friendly stack traces.

Much more information in Cédric’s full announcement. Download TestNG here.

Cerberus 0.1.0 released

07.18.2006 · Posted in Tools

Cerberus (Continuous Integration tool for Ruby) has published its first release.

Cerberus is a simple command-line tool that periodically checks your project’s tests and sends email notification to developers if they fail.

Cerberus has support only for Subversion now, but in the near future it is planned to add support of other popular VCS.Cerberus has no GUI – it is a command-line tool and can easily be scheduled from Cron.

Cerberus works perfectly on *nix and Windows platforms.

Cerberus’ installation and usage is very simple. To install just type:

gem install cerberus (provided you already have Ruby installed)

To add your project:

cerberus add SVN_URL RECIPIENTS=somemail@company.com

To build the project with Cerberus:

cerberus build YOUR_PROJECT

Cerberus can be found here.

TeamCity – an integrated team environment from JetBrains

07.17.2006 · Posted in Tools

JetBrains announced the full feature set for its new product TeamCity that is a new integrated team environment, cross-platform and IDE-independent. The feature set and key benefits include:

• Continuous Integration Support
• Delayed Commit
• Effective Build Management
• Code Coverage Analysis
• Static Code Analysis
• Remote Tests Run
• Web-based Interface

The product is now in the Early Access Program stage giving the possibility to try all these features and influence the product development. Learn more about TeamCity or [url=http://www.jetbrains.net/confluence/display/TW/Team+Server+Home]join EAP.[/url]

Agile Adoption Article in Summer 2006 Issue of Methods & Tools

07.11.2006 · Posted in News

Methods & Tools is a free e-newsletter for software developers, testers and project managers.

Summer 2006 issue’s content:

* Preventing Project Failure
* Agile Adoption at British Telecom
* Managing an Open Source Project

30 pages of software development knowledge.

Click here to download or read this issue.

TargetProcess:Suite v1.7, agile pm and bug tracking solution, released

07.11.2006 · Posted in Tools

Version 1.7 of TargetProcess:Suite, agile project management solution, has been released.

Major news:

– Free version with 1 user license available
– TargetProcess:Hosting, on-demand solution, available at $19.95 per user per month
– Version 1.7 has many important features that greatly improve project tracking, data importing and customizability.The product release includes:

– Import from CSV
– New Release/Iteration burn down charts with forecasting
– Release planning area
– Drop Downs in custom fields
– Context Help
– Advanced Search
– Quick Jump to bug by id. For example "bug:234"
– Batch Time Addition in ToDo

You may download latest version with 1 free license from

Detailed description of new functionality


The availability of TargetProcess:Hosting, on-demand web-based software solution, announced.

TargetProcess:Hosting may be subscribed on the monthly basis and available at $19.95 per user per month.

During the first moth of usage TargetProcess:Hosting is free.

Visit http://targetprocess.com/buy_hosting.aspx to subscribe.

m4r: context-free grammar text generator

07.07.2006 · Posted in Links

m4r is a modified version of the classic GNU m4 macro processor whose purpose is to facilitate the automatic generation of unlimited quantities of randomized textual material which obeys a user-specified context-free grammar. The primary application of m4r is the automatic generation of test inputs for other computer programs.

m4r is most useful for generating input test cases for programs that require user inputs to be expressed using a particular context-free grammar.

Early Software Quality Podcast Series

07.06.2006 · Posted in News

To the tune of the disco era, Stelligent announces their new series of short podcasts related to early quality techniques and solutions. This month’s podcast is on Continuous Integration.

If you’re curious about the quality of your software and like disco music, check out this 5 minute audio podcast, available for a free download, with Stelligent CTO Paul Duvall and President Andy Glover.

Have a listen!

Schematron: XML patterns assertion language

07.05.2006 · Posted in Links

Schematron is a language facilitating assertions on patterns found in XML documents.

The Schematron differs in basic concept from other schema languages in that it not based on grammars but on finding tree patterns in the parsed document. This approach allows many kinds of structures to be represented which are inconvenient and difficult in grammar-based schema languages. If you know XPath or the XSLT expression language, you can start to use The Schematron immediately.

Code coverage in IntelliJ IDEA 6.0

07.05.2006 · Posted in Tools

In the forthcoming IntelliJ IDEA 6.0 release, a new tool will be available. It aims to measure code coverage for your unit tests or tests written as simple applications with the main() method. The engine that performs code coverage in IntelliJ IDEA is based on the EMMA open-source toolkit.

Read more on the IntelliJ IDEA blog.

TypeMock.NET version 3.5

07.03.2006 · Posted in Tools

The TypeMock.NET team is happy to announce that Version 3.5 of TypeMock.NET is now available.

It’s free, you can download it here: TypeMock.NET Downloads.

A few of the new features included in this release are:

* TypeMock.NET now supports the innovative Natural TypeMocks™
* Better Static Constructor Story
* Auto-Deploy for Build Servers

Happy Testing!