testdriven.com Wrangling quality out of chaos

Archive for the ‘Links’ Category

A Ruby FITting, with Little Finesse

10.05.2006 · Posted in Links

During our Agile Experience session with a client a couple of weeks ago, Chet and I were helping them with FitNesse for .NET. We thought it would be interesting to get FitNesse working with Ruby, so we’ve begun to work on that. Here, the results of that trial…

Author: Ron Jeffries
Published: October 04, 2006
link

Borland Gauntlet: continuous build and test automation system

10.03.2006 · Posted in Links

Gauntlet™ is a continuous build and test automation system that improves software quality and developer productivity by proactively building and testing code, isolating defects, and reporting on key development metrics. It works transparently with existing version control systems to continuously analyze changes, promoting code to the main line only if it builds successfully and passes all gating tests. Virtual sandboxes confine problematic code until fixed, eliminating broken builds and limiting the impact of defects on other developers.

The Gauntlet™ dashboard provides visibility and historical context for the entire development team, with both real-time snapshots and time series analysis of metrics like build performance, test results, code coverage, and project activity. Gauntlet also offers an open plug-in interface for custom and 3rd party tests, enabling users to automate anything from simple source code analyzers like FindBugs or CheckStyle, to complex security vulnerability detection or license compliance enforcement solutions.

(Commercial tool)
link

TFS Integrator: Continuous Integration plugin for MTFS

10.02.2006 · Posted in Links

When TFS Integrator initialises it reads a configuration file to identify which parts of the source tree it is interested in listening to, then subscribes to the check-in event notifications that the eventing system sends out.

TFS Integrator includes a dependency replication engine which extends the continuous integration feature. It does this by listening for the build completion event from TFS and using that to trigger the execution of some code which picks up the compiled build output and checking it back into Team Foundation Server in a specified location.
link

AHrg: Continuous Integration & Metrics tool

10.02.2006 · Posted in Links

AHrg aims to be a tool that combines the automation of continuous integration with testing and metrics. However, since there are already many excellent continuous integration suites already available, instead of building just another continuous integration tool AHrg acts as a framework for connecting an already existing continuous integration tool with a test suite (or suites) and metrics reporting tools.
link

Jeté: system and integration testing server

10.02.2006 · Posted in Links

Jeté is a system and integration testing framework. The purpose of Jeté is to make system testing easier and more broadly accessible while being flexible enough to test existing systems.

The framework extends basic JUnit, Spring framework, and DbUnit functionality to allow configurability of the system. Tests are defined by using Spring to configure these extensions. It is these Spring configurations that make up the system test definitions.
link

svnmock: simulate interaction with a real Subversion repository

10.02.2006 · Posted in Links

svnmock is a Python library designed to ease the pain of testing applications that use Subversion’s Python bindings.

Rather than having your test suite create, populate and destroy actual repositories, svnmock allows you to simulate interaction with a real repository programmatically. In place of messy, complicated invocations of Subversion’s command-line tools, you just tell svnmock what API functions you expect to be called, with what arguments and in what order. If your application deviates from this, svnmock will raise an exception, helping you pinpoint the exact location where your code might be going awry.

svnmock provides emulation support for the entire Python-language API, allowing you to test applications using even the most remote corners of Subversion’s bindings. In addition to normal workflow, svnmock provides facilities for simulating conditions — such as certain error conditions — that would otherwise be difficult or impossible to test against.
link

JUseCase: recording and simulating user interaction in Java Swing applications

10.02.2006 · Posted in Links

JUseCase is an open source Java framework supporting recording and simulation of user interaction in Java Swing GUIs. The interactions are recorded to plain-text use case scripts, which then may be used to simulate the interaction you just recorded. JUseCase currently supports most of the standard events, such as selecting items in a list, toggling radio buttons/checkboxes, flipping tabs, selecting/editing table cells etc., but the framework can easily be extended to support custom components/events.
link

Automaton: Continuous Integration engine for MTFS

10.02.2006 · Posted in Links

Automaton is a Continuous Integration engine for Microsoft Team Foundation Server. Automaton will monitor your source code repository and automatically run the correct team builds that you create within Visual Studio. Build reports can be view through a web site, and your development team can get notifications on e-mail or MSN Messenger when there is problem building the source code.
link

Sony Ericsson Mobile JUnit special interest paper [PDF]

10.02.2006 · Posted in Links

This special interest paper introduces you to Mobile JUnit, a unit testing framework for the Java™ ME, CLDC platform from Sony Ericsson. This document outlines what unit testing is, summarizes the JUnit testing framework, presents how to create and integrate unit tests, guides you through using it with Ant, Eclipse and NetBeans and explains on-device testing for Sony Ericsson phones.

Published: Sony Ericsson Developer, September 20, 2006
link

Choosing a Continuous Integration Server: A survey of open source CI servers

10.02.2006 · Posted in Links

With so many Continuous Integration (CI) servers to choose from, it can be difficult to decide which one is right for you. In the second article of the series Automation for the people, development automation expert Paul Duvall looks at a handful of open source CI servers, including Continuum, CruiseControl, and Luntbuild, using a consistent evaluation criteria and illustrative examples.

Author: Paul Duvall
Published: IBM DeveloperWorks, September 5, 2006
link

Continuous Inspection: Free yourself from mundane, manual inspections with software inspectors

10.02.2006 · Posted in Links

When starting new projects, most of us plan to review code before actually releasing it into production; however, when delivery schedules supersede other factors, reviews tend to be the first practice thrown out. What if you were able to perform a portion of these reviews automatically? In this first article of the new series Automation for the people, development automation expert Paul Duvall begins with a look at how automated inspectors like CheckStyle, JavaNCSS, and CPD enhance the development process and when you should use them.

Author: Paul Duvall
Published: IBM DeveloperWorks, August 1, 2006
link

Coding Conventions: Make Them Agile (Simple rules let your team deliver high-quality code)

09.26.2006 · Posted in Links

Simple rules let your team deliver high-quality code as efficiently as possible. With this in mind, my agile coding convention consists of these simple rules:

1. Make your code look like other people’s code.
2. Use the simplest design possible.
3. Don’t re-invent the wheel.
4. Document your code.
5. Keep security in mind.
6. Work in increments.
7. Work in iterations.
8. Have your code reviewed.
9. Don’t stay blocked.
10. Do unto others as you would have them do unto you.

Author: Jason Mawdsley
Published: Dr. Dobb’s, September 20, 2006
link

Tags:

Fitnesse Selenium Wrapper: natural language acceptance stories

09.25.2006 · Posted in Links

Fitnesse, a wiki encapsulating the Framework for Integration Tests (aka FIT), enables customers to write sentence-like tests which can be mapped to the underlying system. Selenium drives a browser without all of the fragile mouse coordinate testing you get from a lot of testing tools (ala WinRunner).

In order for customers to harness the power of Selenium in the acceptance tests they are writing, this tool uses the DoFixture and the Selenium Remote Control Java API to produce a custom Fitnesse fixture which reads surprisingly well.
link

LiFT: Literate Functional Testing for Java

09.24.2006 · Posted in Links

LiFT is a framework for Literate Functional Testing. LiFT allows writing automated tests in a style that makes them very readable, even for non-programmers. Using the LiFT API, we can write tests that read almost like natural language, allowing business requirements to be expressed very clearly. This aids communication amongst developers and customers, helping give all stakeholders confidence that the right things are being tested.
link

The Art of Agile Development

09.22.2006 · Posted in Links

James Shore has been writing a book on agile development to be published by O’Reilly. It’s called The Art of Agile Development and is a joint effort between James and chromatic, author of the Extreme Programming Pocket Guide.

Sections of the book have been published to allow Agile developers to be part of the review process.

The book’s aim is to provide an intensely practical reference that shows mainstream development teams how to adopt and use agile software development.

The book is divided in three sections: The Big Picture, Practicing XP, and Beyond XP. Part 2 is the heart of the book, containing all of the practices to form a complete agile methodology; it’s divided into six chapters: Thinking, Collaborating, Planning, Managing Code, Developing, and Deploying.

Authors: James Shore, Shane Warden
Expected date of publication: O’Reilly, November 2007
link

Javadoc-JUnit: JUnit test documentor

09.11.2006 · Posted in Links

Javadoc-Junit is an Ant task which extends the optional JUnit Task and includes some Javadoc informations in the resulting JUnit test report.

The javadoc information is not directly retrieved from the test class source files, because the sources doesn’t need to exist during running the tests and generating the test reports.

To achieve this design goal, the needed javadoc informations are retrieved during a separate javadoc task with a special doclet. The javadoc informations are then serialized to files and stored with the class files themself. In this way only the class files with the serialized javadocs are needed to generate the javadoc-junit test reports.
link

testifIE: UI test automation tool for IE

09.11.2006 · Posted in Links

testifIE is an open-source based UI test automation offering for Microsoft Internet Explorer, offering record-and-playback functionality. Test cases can be recorded using testifIERecorder, or manually developed in simple XML, or in Java.

Testcase operations include execution of user actions, page state/element validation, and execution of plug-n-play custom hooks/code.

The testifIE runtime is integrated with junit, Apache Ant, and automates IE using Jiffie and JaCoB projects.

testifIE is trivial to install, easy to operate, and test cases are simple to maintain, thereby significantly reducing the total cost of Internet Explorer-based UI test automation.
link

Confix: make input file generator

09.11.2006 · Posted in Links

Confix does what is otherwise the job of the package maintainer: write input files for Automake and Autoconf. By examining the package source, it determines how to shape configure.in and the different Makefile.am files in the package in order to perform a clean build.
link

Imperfectly Agile: You Too Can Be Agile!

09.11.2006 · Posted in Links

People new to the idea of agile software development think that you can only be agile with small, co-located teams where you have no political constraints. Yes, that’s ideal, but most teams aren’t lucky enough to be in that situation. Does that mean they should give up on agile techniques? No! It means that they need to be smart about how they apply agile concepts and be as agile as possible given their current situation. Scott Ambler explores strategies that people have used when they found themselves in not-so-ideal situations.

Author: Scott Ambler
Published: Dr. Dobb’s, September 08, 2006
link

Tags:

Specter: A behaviour driven development framework for the Boo programming language

09.06.2006 · Posted in Links

Specter is an object-behaviour specification framework. It enables behaviour driven development by requiring developers to write executable specifications for their objects, before actually implementing them.

Technologically this is similar to test driven development, however the shift in nomenclature removes the psychological barrier of writing "tests" for code that does not exist.

Existing projects implementing this idea include RSpec for Ruby and NSpec for .NET.
link

junit-objects: regression & profiling framework for Java objects

09.06.2006 · Posted in Links

junit-objects is different from Junit in that it allows you to assert the state of objects and design patterns rather than the result of method calls. It should be seen as a replacement for previous unit testing frameworks.

* junit-objects focuses on testing objects: their structure, state and behavior.
* An object’s state is asserted with testing protocols.
* JO greatly reduces the amount of code in a unit-test in this manner; allowing you to "bolt on" (and reuse) assertion sequences anywhere, with no change to your test methods.
* When an object changes state (its properties and behavior), you can assert that the change is deterministic and well-behaved.
* JO profiles let you assert design patterns and anti-patterns to keep your objects consistent and well-behaved.
* Also use JO profiling to root out design entropy (let JO suggest where objects may benefit from using a particular design pattern).
link

Test Harness: Harness with GUI and control mechanism for Java

09.06.2006 · Posted in Links

You want to write tests, but hesitate because it will all be a bunch of hardly interpretable logprints in the end anyway? The Test Harness is developed to make it easier for us who like full control over testing, but want to be able to give the test environment to someone else to run from time to time. This is achieved by providing a very simple Java-based framework for writing the tests, while still providing a intuitive GUI to present results and manage what tests to run.

The test-cases are bundled in test-case folders and loaded into the GUI point-n-click style. And even though the test-cases are written in Java, the multitude of libraries available for that language makes it very easy to write tests to test anything from actual Java-code to SQL-databases or embedded systems. Pretty much every system than can communicate via a Java-compatible interface e.g. sockets, serial etc. can be tested with this harness.
link

ecmaDebug: DbC in JavaScript

09.06.2006 · Posted in Links

ecmaDebug is a Design by Contract tool for Javascript

It includes a custom NS_ASSERTION firing function for debugging purposes when Venkman isn’t enough.

toString and toSource have been redirected to the contract’s body to see what the function is really supposed to do. Additionally, a toContractSource() and toContractString() functions deliver the whole contract object in source and string form, respectively.
link