Events

 

Tutorials at Better Software & Agile Development West 2012:

Both of the following are half-day hands-on workshops, and require a laptop with your favorite IDE installed.

Essential Test-Driven Development

When: 11 Jun 2012, 1:00pm

Where: Caesar’s Palace, Las Vegas, NV

Register: https://www.sqe.com/AgileDevPracticesWest/Register/SelectConference.aspx

Test Driven Development (TDD) is a powerful technique for combining software design, unit testing, and coding in a continuous process to increase reliability and produce better code design. Using the TDD approach, developers write programs in very short development cycles: first the developer writes a failing automated test case that defines a new function or improvement, then produces code to pass that test, and finally refactors the new code to acceptable standards. The developer repeats this process many times until the unit is complete and fully tested. Rob Myers demonstrates the basic and essential TDD techniques, including unit testing with the common xUnit family of open source development frameworks, refactoring code, and using mock/fake objects in development. During this hands-on session, you’ll use exercises to practice the techniques. With many years of product development experience using TDD, Rob will address the questions that arise during your own relaxed exploration of test-driven development.

The TDD/Legacy Code Dilemma

When: 12 Jun 2012, 1:00pm

Where: Caesar’s Palace, Las Vegas, NV

Register: https://www.sqe.com/AgileDevPracticesWest/Register/SelectConference.aspx

We’d like to be reaping the rewards of TDD on our projects, but we have a large collection of challenging, untested, legacy code to maintain as well. How to proceed? We need test coverage to safely refactor, but we need to change the code to make it more testable. The solution to this dilemma lies in simple, pragmatic techniques for teasing apart the big hairball. Rob Myers shows how to get critical areas protected by tests, allowing further refactoring of the code’s design (and the tests) to eventually resemble great Test-Driven code. Techniques include guidelines for deciding which code to wrestle into submission; a simple three-question preparatory exercise; and precise tactical refactorings and testing tricks. You will have the opportunity to experience these techniques first-hand; on a small, but challenging, blob of untested code (your choice of C#, C++, Java, or VB.Net).