testdriven.com Wrangling quality out of chaos

Archive for July, 2004

Tools Advisory, July 16-31, 2004

07.31.2004 · Posted in Advisories

BlueJ 2.0 beta
Build Studio 3.3.0
Clover 1.3
Clover.NET beta updated
DotNetMock 0.6.3
Draco.NET 1.5.1670
EMMA 2.0.4217
Jameleon 2.0.2
Java Application Test Tool 0.2
JDemo 1.1.0 / JDemo Eclipse 1.2.4 / JDemo Eclipse 1.3.4
MbUnit 2.19 beta
MockObject r1.0.0
MockPP 1.1.15
NUnit 2.2 beta 3
NUnitAddIn 0.9.482
Programmers’ Canvas Toolkit 1.9.0.11 (beta)
Scalable Test Platform: Zope Interface 2.9.3
STAX 1.5.4
VBAutomake 0.1.2

Also: Agilifier, Ant Build Creator, Education Computing Lab Framework, Exactor, jBehave, Junto, OO-Matron/X-SpecsBlueJ 2.0 beta
This version of BlueJ adds support for J2SE 5.0 with all its new features (including generic classes, enum types, varargs, auto-boxing, etc.). [Java learning environment integrating JUnit.]

BuildStudio 3.3.0
Build Studio offers a complete solution for an automated software build process. This is a Windows/.Net application developed in C# and includes both console and GUI options.

Clover 1.3
Clover is a powerful and highly configurable code coverage analysis tool. It discovers sections of code that are not being adequately exercised by your unit tests. (Commercial tool)

Clover.NET beta updated
The Clover.NET beta has been updated. The new release adds support for the C# preprocessor. The command line instrumenter now processes conditional compilation directives and will not instrument excluded code. You can set conditional symbols using the –define command line switch.

DotNetMock 0.6.3
Included in this release are a few bug fixes in the dynamic mock section. There is also a lot of cleanup as we work towards 1.0

[url=http://www.testdriven.com/modules/mylinks/visit.php?cid=27&lid=351]Draco.NET 1.5.1670[/url]
Continuous Integration for .NET: Draco.NET is a Windows service application designed to facilitate continuous integration.

EMMA 2.0.4217
EMMA is a fast Java code coverage tool based on bytecode instrumentation. It differs from the existing tools by enabling coverage profiling on large scale enterprise software projects with simultaneous emphasis on fast individual development.

Jameleon 2.0.2
Jameleon is an automated testing tool that separates applications into features and allows those features to be tied together independently, creating test cases. This is a minor release which includes support for jWebUnit 1.2, a few jWebUnit plug-in specific bugfixes, a few minor bugfixes to the engine and a new interface to create custom data-drivable tags like database-drivable or XML-drivable tags.

Java Application Test Tool 0.2
Runs test scenarios against other Java Application (up to a Multi-Tier-Architecture). It reads the test scenarios from XML-Files, sends Test Cases to its clients, collects test results and logs them in a result file.

JDemo 1.1.0 / JDemo Eclipse 1.2.4 / JDemo Eclipse 1.3.4
JDemo is the Java demonstration framework. It provides a new approach for demo driven software development: When developing software you write short code snippets. Those demos can then be used for code documentation and demonstrating the program output.

MbUnit 2.19 beta
This release brings more user-friendliness to the GUI and generally returns more information on what MbUnit is doing.

MockObject r1.0.0
A small java library of about 5 classes that automatically generate mock objects which work regardless of the threading model(unlike other libraries). This lib should be able to mock any mockobject.

[url=http://www.testdriven.com/modules/mylinks/singlelink.php?cid=12&lid=422]MockPP 1.1.15[/url]
mockpp is a platform-independent generic unit testing framework for C++. Its goal is to facilitate developing unit tests using Mock Objects.

NUnit 2.2 beta 3
This third beta fixes a number of bugs runs under .NET 2.0 in addition to 1.1 and 1.0.

NUnitAddIn 0.9.482
Point and Test NUnit integration for Visual Studio.NET.

Programmers’ Canvas Toolkit 1.9.0.11 (beta)
Automated build system.

Scalable Test Platform: Zope Interface 2.9.3
Automating the QA testing process for the Linux Kernel as well as automating benchmarking and regression testing.

STAX 1.5.4
STAX is an execution engine which can help you thoroughly automate the distribution, execution, and results analysis of your testcases. STAX builds on top of three existing technologies, STAF, XML, and Python, to place great automation power in the hands of testers. STAX also provides a powerful GUI monitoring application which allows you to interact with and monitor the progress of your jobs.

VBAutomake 0.1.2
Automatic make utility for Visual Basic 6.

Newly registered Projects

Ant Build Creator is a plugin for Eclipse that adds a wizard for creating Ant build files.

Agilifier aims to be a project management and tracking tool for acceptance test driven development in Agile/XP projects.

The Education Computing Lab Framework plans to serve as a Lab Management and Automation Framework developed specifically with medium sized academic computing labs in mind. It will consist of a collection of applications that allow for ease of monitoring and user notification in academic labs.

Junto aims to be a Java-based peer-to-peer framework which allows the simulation and testing of different trust management models which can be employed in peer-to-peer networks.

jBehave is a JUnit replacement framework for Behaviour Driven Development (because it’s not about testing!).

Exactor aims to be a framework for writing automated acceptance tests of the kind advocated by Extreme Programming. It will be based on a framework that has been successfully used in a number of projects.

OO-Matron/X-Specs will consist of libraries and tools to support software design using executable code as specifications, to support Test Driven Development and other Agile methods.

The Six Rules of Unit Testing

07.31.2004 · Posted in Links

Charles Miller shares his Six Rules for Unit Testing:

1. Write the test first
2. Never write a test that succeeds the first time
3. Start with the null case, or something that doesn’t work
4. Don’t be afraid of doing something trivial to make the test work
5. Loose coupling and testability go hand in hand
6. Use mock objects

Blogged: July 25, 2002
link

Tags:

Clover.NET: code coverage tool for .NET

07.31.2004 · Posted in Links

Developers and Team leads use Clover.NET to quickly find untested code and to measure testing completeness. This feeds back into the testing process to improve tests. Clover.NET does not just produce a set of figures which are hard to relate to your code. Clover.NET reports, published in HTML format, provide an accessible, easily navigable view of your source. These reports are easily understood, yet comprehansive. They can be shared with the development team or project management.
link

Great Hackers and XP

07.31.2004 · Posted in Links

Kevin Dangoor writes: "Creating software sometimes requires intense concentration and creativity. The pair programming way sometimes yields good solutions by having two people brainstorm on the problem. Other times, thinking about the problem independently works best."
link

Tags:

Rules for refactoring code

07.31.2004 · Posted in Links

Michael Kent writes: "These are the rules I’ve developed over the years that I follow when refactoring code. They’re rules in the sense that I always regret it if I fail to follow them for any reason."

(via John Tobler)
link

Tags:

Refactoring C# Code Using Visual Studio 2005

07.31.2004 · Posted in Links

Refactoring is a formal and mechanical process, used to modify existing code in such a way that it does indeed become ‘better’ while preserving the program’s intended functionality. In addition to improving a program’s overall design, the refactoring process tends to yield code which is far easier to maintain and extend in the long run.

Author: Andrew W. Troelsen, Intertech Training
Published: MSDN, July 2004

(via [url=http://agilemovement.it/modules.php?op=modload&name=News&file=article&sid=538]Agile Movement Italy[/url])
link

PicoUnit

07.29.2004 · Posted in Links

Sam Newman writes: "PicoUnit has been developed with a view to reduce the amount of setup within specifications, using Picocontainer to instantiate and pass in the required dependencies. One use is to locate test data from an external source and pass it in."
link

Tags:

OO-Matron

07.29.2004 · Posted in Links

Sam Newman writes: "OO-Matron might potentially be revolutionary, or might just be too complicated for people to use – I’m still undecided. It’s designed to replace existing Mocking APIs, whilst at the same time adding the ability to enforce system-wide invariants to your tests, which in turn can be used to provide system documentation."
link

Tags:

Adding tests and refactoring non-TDD code

07.27.2004 · Posted in Links

Darrell Norton writes: "Lately I’ve been adding unit tests around a critical subsystem of the application I am working on. Luckily I had some downtime to add unit tests to cover parts of the subsystem that I did not develop (of course with TDD all of my new code was covered!). Here are some tips I’ve learned in the process."
link

Tags:

Distributed JUnit

07.27.2004 · Posted in Links

Talip Ozturk writes: "Don’t you love to check out your favorite open source project from CVS and execute ‘ant run_tests’? I don’t but that doesn’t matter. What matter is how you feel when tests end with no error. Fuzzy comforting feeling you get which is misleading most of the time. Of course seeing that unit tests executed with no error doesn’t mean that your favorite OSS project [..] is bug-free."
link

Tags:

Programmers’ Canvas Toolkit

07.27.2004 · Posted in Links

Automated build system. Features CVS commit / watch / tag notification via email, newsgroup, and/or IRC; console-based file manipulation tools and utilities; XML-based file copy/FTP script; IRC session logger; Synchronized web site with CVS.
link

ReSharper Add-In to Visual Studio.NET available

07.27.2004 · Posted in Tools

[img align=right]http://www.jetbrains.com/img/resharper1.gif[/img]ReSharper is an add-in for Microsoft Visual Studio .NET 2003 that brings intelligent C# coding assistance, real-time error highlighting, and refactoring features to this popular development platform.

ReSharper provides C# developers with many of the same powerful productivity-boosting capabilities that thousands of Java developers worldwide have come to rely on every day with IntelliJ IDEA.ReSharper provides:

– Syntax & Error Highlighting
– Error Quick-Fixes
– Refactoring
– Navigation

– Code Assistance
– Code Formatting
– Other Productivity Features

– Search
– Live Templates
– Code Generation
– Code Completion

Visit ReSharper’s home.
Download a 30-day evaluation of ReSharper.
View the list of features.

ReSharper is priced at $99 per user.

Interaction Design Meets Agility [PDF]

07.27.2004 · Posted in Links

This tutorial from ADC 2004 acquaints participants with Usage-Centered Design and its place in an agile development approach.

Published: Agile Alliance, July 26, 2004
Author: Jeff Patton
link

Tags:

TestFu: Art of Testing

07.26.2004 · Posted in Links

TestFu is a collection of frameworks to build data generator, state machines, grammars, etc… It includes:
– the Production Grammar Framework (rule-based generic generators)
– the Database Populator Framework (smart random-data generators to populate databases)

TestFu has been separated from MbUnit to allow any user to benefit from those two frameworks without having to use MbUnit itself.

Note: TestFu is now part of the testdriven.net package.
link

Testing Fit Fixtures with FixtureFixture [PDF]

07.23.2004 · Posted in Links

Fit is an automated testing framework, developed by Ward Cunningham, that is a great way to develop automated customer tests. This article assumes a good woring knowledge of Fit and its architecture. We address advanced techniques that help in creating new types of fixtures (as compared to extending the existing ones), utilising the open-ended and generic nature of the Fit framework.

Author: Rick Mugridge
Published: December 11, 2003
link

Tcl TestStubs Package

07.23.2004 · Posted in Links

TestStubs is a package for the Tcl programming language, intended to make writing tests faster and easier. By simplifying the process of temporarily replacing the functionality of a command, test cases are simpler to both write and understand.
link

Testing HTML Pages

07.23.2004 · Posted in Links

"I started this article intending to talk about a technique we developed for testing Velocity templates but realized that there was enough background material for a separate article on testing html. So, this entry describes how we developed a harness for checking the output from the Management Dashboard."

Author: Kevin Lawrence
Published: July 16, 2004
link

XP Papers and Teaching Resources (Rick Mugridge)

07.23.2004 · Posted in Links

Rick Mugridge is an Associate Professor in the Department of Computer Science at the University of Auckland, whose research interests include: Agile Software Development, eXtreme Programming, Test Driven Development, Testing, UI and Visual Languages, and Software Engineering tools.

(via Roy Osherove)
link

Tags:

Unit Testing in BlueJ [PDF]

07.23.2004 · Posted in Links

This tutorial introduces the unit testing functionality in the BlueJ Java teaching and learning environment.

Ad-hoc testing is useful, but not good enough for systematic testing. The unit testing features in BlueJ give you the tools to record and replay tests, so that unit tests can easily be repeated later (typically after a change in the system), so that the developer can gain some confidence that recent changes have not broken existing functionality. This is known as regression testing.

Author: Michael Kölling
link

An Introduction to Agile Methods [PDF]

07.23.2004 · Posted in Links

Document on agile methods Marty Andrews and Steve Hayes worked on. It discusses the common agile methodologies available, and goes into detail about Extreme Programming, including some information on common concerns and issues that come up when starting an XP project.

Author: Steve Hayes & Marty Andrews
Published: (unknown)
link

Tags: