Speaking at ZendCon 2008
I will present both a tutorial and a regular session at year's Zend/PHP Conference & Expo:
Tutorial: Quality Assurance in PHP Projects
Now that we know how to build applications that “just work”, are fast and scalable, as well as secure, the next logical step is to implement processes and use techniques that help us assure that the software works correctly throughout the software’s lifecycle.
This tutorial will introduce the attendees to writing unit tests for the backend and system tests for the frontend of a web application as well as managing the quality from development to deployment and maintainance using tools such as PHPUnit, Selenium RC, phpUnderControl, PHP_CodeSniffer, and PHP_Depend.
Session: Quickstart to Continious Integration
Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated test to detect integration errors as quickly as possible. Many teams find that this approach leads to significantly reduced integration problems and allows a team to develop cohesive software more rapidly.
This session will provide the audience with a quick overview of Continuous Integration summarizing the technique and its application in PHP-based projects using CruiseControl and phpUnderControl.
See you in Santa Clara, CA on September 15-18 2008.
Birds of a Feather Sessions @ OSCON

In addition to the tutorial on PHPUnit and phpUnderControl, I will present two Birds of a Feather sessions at this year's edition of OSCON:
Frameworks/Tools for (Unit) Testing
The Hamcrest Project illustrates that good things happen when the developers of (unit) testing frameworks and tools for different programming languages talk to each other. This Birds of a Feather session should serve as a meeting point for the developers of JUnit, TestNG, PHPUnit, PyTest, RSpec,
<your favourite framework>for<your favourite language>.As the developer of PHPUnit I am interested to meet with the developers of (unit) testing frameworks and tools for other languages to discuss concepts, ideas, features, etc.
Why, you might think?
Well, when I (as someone who is not really involved with the happenings in the Java community) first heard about TestNG, for instance, I saw that some of the ideas I had for PHPUnit had been developed independently for TestNG.
I think that this is just the tip of the proverbial iceberg and that we can all learn from each other. So if you are a developer of JUnit, TestNG, PyTest, RSpec, ... join me in this Birds of a Feather session for a discussion!
Hamcrest: A Cross-Language Library of Matchers
The Hamcrest Project provides a library of matcher objects (also known as constraints or predicates) allowing “match” rules to be defined declaratively in Java, PHP, Python, and Objective-C, to be used in other frameworks.
Typical usage scenarios on Hamcrest include testing frameworks, mocking libraries and UI validation rules.
This Birds of a Feather session, moderated by the creator of PHPUnit and the developer of hamcrest-php, has the goal of exposing a wider audience to Hamcrest.
See you in Portland, OR July 21-25 2008!
