testdriven.com Wrangling quality out of chaos

Archive for October, 2003

Two controlled Experiments concerning the Usefulness of Assertions as a Means for Programming

10.30.2003 · Posted in Links

Assertions, or more generally “Programming by contract”,
have gained widespread acceptance in the computer science
community as a means for correct program development.
However, the literature lacks an empirical evaluation
of the benefits a programmer gains by using assertions
in his software development. This paper reports two controlled
experiments that close this gap. Both experiments
compare “Programming by contract” to the traditional programming
style without assertions.

Authors: Matthias M. Müller, Rainer Typke, Oliver Hagner
Published: October, 2002


JUnit in Action

10.30.2003 · Posted in Books

A guide to unit testing Java applications (including J2EE applications) using the JUnit framework and its extensions, this book provides techniques for solving real-world problems such as unit testing legacy applications, writing real tests for real objects, automating tests, testing in isolation, and unit testing J2EE and database applications.Using a sample-driven approach, various unit testing strategies are covered, such as how to unit test EJBs, database applications, and how to unit test JSPs, and Taglibs.

Also addressed are testing strategies using freely available open source frameworks and tools, and how to unit test in isolation with Mock Objects.

Testing J2EE applications by running tests from inside the container for performing integration unit tests is discussed, as is how to automate unit testing in automated builds (such as Ant and Maven) for performing continuous integration.

[img align=right]http://www.testdriven.com/uploads/img3fa12b57c8f4f.jpg[/img]Published: October, 2003
Further details about this book may be obtained from Amazon.

The authors:

Vincent Massol is the creator of the Jakarta Cactus framework and an active member of the Maven, Gump, Struts, and MockObjects development teams. He is the cofounder and CTO of Pivolis, a company that specializes in applying agile methodologies to offshore software development.
Ted Husted is an active member of the Struts development team and the manager of the JGuru Struts Forum. His most recent development project uses test-driven design throughout and is available as open source [wqdata]. He is the author of Struts in Action. He lives in Fairport, New York.

XP Day Benelux (Agile Inside Out Track)

10.19.2003 · Posted in News

The XP Day Benelux is a one day conference about all aspects of Extreme Programming and other agile software development methods like DSDM, Scrum, Feature-driven development, and Crystal. See the agile manifesto (Agile Manifesto) for the principles of agile software development.

The Agile Inside Out track examines agile from the perspective of developers:

– refactoring, unittesting, test-driven development using 4GL, OOP, J2EE, .NET, databases…
– automation of the build and release processes
– the developer role in a multidisciplinary team, pair programming, collective code ownership
– confessing to your manager you’re doing XP
– "guerilla XP"The XP Day Benelux conference is aimed at software developers, project leaders, IT managers, testers, architects, and coaches. It will provide a good opportunity for exchanging ideas and sharing experiences, and is suited for both experienced participants and beginners in Agile Software Development. The focus of this conference is on practical knowledge, real-world experience and active participation of all attendees. We aim at 50-100 participants.

Organising a session is the best way to learn from such a conference. It provides an opportunity to share your experiences, to get feedback on your ideas, to try new ideas and sessions. Session organisers will get discount off the conference fee (which will be about €100).

Where: Breda, The Netherlands
When: November 21, 2003
Information: http://www.xpday.be
Contact: [email]xpdayinfo@xpday.be[/email]

Unit-Testing in Java — How Tests Drive the Code

10.19.2003 · Posted in Links

Unit-Testing in Java — How Tests Drive the CodeSoftware testing is indispensable and is one of the most discussed topics in software development today. Many companies address this issue by assigning a dedicated software testing phase towards the end of their development cycle. However, quality cannot be tested into a buggy application. Early and continuous unit testing has been shown to be crucial for high quality software and low defect rates. Yet current books on testing ignore the developer’s point of view and give little guidance on how to bring the overwhelming amount of testing theory into practice. Unit Testing in Java represents a practical introduction to unit testing for software developers. It introduces the basic test-first approach and then discusses a large number of special issues and problem cases. The book instructs developers through each step and motivates them to explore further.

Authors: Johannes Link & Peter Frölich
Published: May 2003



Wisconsin .NET Users Group Meeting

10.19.2003 · Posted in News

Overview of Agile Development Methodologies using .NET technologies, including continuous integration via nAnt and test-driven development practices. This presentation will be delivered by a professional developer working with these tools on a daily basis, NOT by a vendor pitching products. The presentation will be focused on practical best practices and directly targets the professional software developer who is looking for new ways to get more productive software code written faster and with higher quality.

When: Tuesday, Nov 11, 2003 at 07:00 PM
Where: Johnson Bank, Madison, WI 53717
Information: http://www.wi-ineta.org/

RT: Common Lisp regression tester

10.17.2003 · Posted in Links

Everyone knows that it is important to test a system thoroughly whenever it is changed. However, it is far from easy to come up with good tests and irritatingly laborious to keep track of a lot of tests and run them time and again. The RT Common Lisp regression tester automates part of this task.

Using RT, the programmer still has to come up with tests. However, RT maintains a database of these tests and automatically runs them when requested. This can take a lot of computer time, but does not take any of the programmer’s time. As a result, any bugs found by running the tests — and this is a lot more bugs than you might think — are essentially found for free.

Keyword: LISPUnit
See also: SchemeUnit


NUnitAsp: Automation framework for ASP.NET web page testing

10.17.2003 · Posted in Links

NUnitAsp is a tool for automatically testing ASP.NET web pages. It’s an extension to NUnit, a tool for test-driven development in .NET.

Once you have an automated suite of tests, you’ll never go back. It gives you incredible confidence in your code. That confidence allows you to code much faster, because you can make risky changes secure in the knowledge that your tests will catch any mistakes.

NUnitAsp is for unit tests only. It’s meant for programmers, not QA teams, and it’s not very good for QA-style acceptance tests. It only tests server-side logic. JavaScript and other client-side code is ignored. But if you’re using ASP.NET, it’s an essential part of your programmers’ toolset.

See also: csUnit, NUnit, NCFUnit, NUnitWeb

Unit Test Your .NET Data Access Layer

10.16.2003 · Posted in Links

To demonstrate TDD, I’ve used it to help me redevelop a multi-tier sample application for ASP.NET. The application demonstrates how to register a user for an application, how to grant them access to secure web pages, and how to allow them to sign in and sign out. The data access layer for this application is concerned with adding users to the database, retrieving user information, and verifying that user logins are correct. I’ve used this sample for a couple of years now and built it with TDD several times, learning new things with each iteration.

Author: Steven A. Smith, ASPAlliance
Published: October 2003


Jakarta Cactus: Unit-testing server-side Java

10.04.2003 · Posted in Links

Cactus is a simple test framework for unit testing server-side java code (Servlets, EJBs, Tag Libs, Filters, etc.). The intent of Cactus is to lower the cost of writing tests for server-side code. It uses JUnit and extends it. Cactus implements an in-container strategy.

AUnit: Unit-testing framework for ADA

10.04.2003 · Posted in Links

AUnit is a set of AdaLanguage packages based on the xUnit family of unit test frameworks. It’s intended as a developer’s tool to facilitate confident writing and evolution of Ada software. It is purposely lightweight, as one of its main goals is to make it easy to develop and run unit tests, rather than to generate artifacts for process management. The framework supports easy composition of sets of unit tests to provide flexibility in determining what tests to run for a given purpose.

Keyword: ADAUnit


10.04.2003 · Posted in Links

XmlUnit provides extensions to JUnit (Java) and NUnit (.Net) to allow assertions to be made about XML:
Are two pieces of XML similar? Does an XPath exist? Is the result of an XSL transformation what is expected? And more! Enjoy 😉

See also: HTMLUnit, HTTPUnit


10.04.2003 · Posted in Links

XmlTestSuite provides a powerful way to test web applications.

Check site structure:
HTML pages are well formed and links are valid

Check the content of pages:
Use Javascript variables, XPath expressions, database queries

Check the way the site works:
Run test scanarios, written in XML