Come see us and many others at the WebManiacs Conference in Washington, DC, May 19-23 2008. http://www.webmaniacsconference.com/ The MXUnit team will be offering a 2 hour hands-on workshop: Implementing Test Driven Development with MXUnit.
Outline: Test Driven Development (TDD) methods have gained recognition in industry because they allow developers to quickly identify defects in their code prior to integration. Discovering defects early contributes to higher quality software. It can also greatly improve a team's productivity and cohesion.
Target Audience: ColdFusion developers who want to learn more about unit testing and automated software quality assurance.
Workshop Goals: By the end of this workshop, participants will be able to (1) install MXUnit Framework and Eclipse Plugin, (2) write and run unit tests, (3) build test suites that test real world applications, and(4) understand the value proposition for unit testing and be able to communicate their findings to co-workers and peers. Overview: This workshop will guide ColdFusion developers in the practice of TDD using MXUnit, an open source unit test framework and Eclipse Plugin, based on the popular JUnit unit test framework for Java.
- Introduction a. Instructor introductions b. What is Test Driven Development? c. "More code?!" or Why Write Unit Tests?
- Setup a. System Requirements: CFMX 6 or newer, plus editor of choice. *Eclipse and CFEclipse plugin (Java 1.5 required), and Ant are ideal but not required. b. Download (or distribute on CD) MXUnit framework w/tutorial and Ant c. Install MXUnit Eclipse
- Writing Tests and Test Suites a. Writing simple unit tests and viewing the results in a webbrowser 1. Extending TestCase - setUp(), tearDown() 2. What is an Assertion? b. Using the MXUnit Eclipse Plugin c. Writing more complex tests 1. Testing exception handling 2. Testing database handlers 3. Security testing d. Grouping test cases into test suites e. Running test suites f. Structuring directories of tests and simple test automation g. Using the MXUnit Test Generator h. Extending and customizing MXUnit assertions
- Integration Practices and Automating Testing with Ant a. Overview of Integration Techniques b. Overview of Ant and basic Ant tasks c. Description of the MXUnitAntTask d. Writing an Ant task that executes single tests or directories of tests e. Using the JunitReport task to generate HTML reports of testsuites
"Imperfect tests, run frequently, are much better than perfect tests that are never written at all." -Martin Fowler
- Beck, K. Test - Driven Development by Example, Addison Wesley, 2003
- Beck, K., Gamma, E. - JUnit Cookbook,http://junit.sourceforge.net/doc/cookbook/cookbook.htm
- Muller, M., Padberg F., About the Return on Investment of Test-Driven Development, http://www.ipd.uka.de/mitarbeiter/muellerm/publications/edser03.pdf
- Obermeit,Tony - Code Coverage Lessons,http://homepage.mac.com/hey.you/lessons.html
- Fowler, Martin - Continuous Integration,http://martinfowler.com/articles/continuousIntegration.html
- Shore, James - Continuous Integration on a Dollar a Day,http://www.jamesshore.com/Blog/Continuous-Integration-on-a-Dollar-a-Day.html .html