Often it is suggested that Test Driven Development has moved into the mainstream and that not applying a test first approach is exceptional. Having worked with TDD for the last five years I have observed that far from being ubiquitous, effective application of TDD is uncommon. This session takes a pragmatic approach in evaluating the implementation of, impediments against and measurable benefits of TDD on a commercially successful project. Analysis of this experience will show how and why TDD is being used incorrectly and how this situation can be corrected.
After 7 years of traditional IT delivery, Gap Inc. Direct decided to adopt Agile. This experience report discusses three key factors that contributed to our successful (and ongoing) Agile transformation: 1. Ambitious Pilot Project 2. Massive Investment in Continuous Integration 3. Rethinking our Assets
In May 2007, our DISA customer asked Pragmatics to support the requirements definition and development of a new web application for the Joint Forces Command (JFCOM) Joint Staff (JS). JFCOM needed to have the application built, delivered and fielded in a tight, six-week time frame.
Test Driven Development is a key Agile Practice. With TDD, programmers get instant feedback that their code does what they intend. This class shows the motivations behind TDD, but does not stop there. Attendees get first hand experience at TDD, writing well tested code. You will see how tests can prevent many bugs and memory leaks. We’ll use CppUTest, an open source test harness, to collect, organize and automate C++ unit tests.
Prerequisites: Laptop (including power cable!), Java 5 development environment
This hands-on tutorial teaches Test-Driven Development, using Mock Objects to drive the discovery of roles and responsibilities in the code.
This session of the TDD clinic gives participants the chance to practice Behavior Driven Development (BDD). We will briefly present the core principles of BDD and then jump right into coding using RSpec.
In BDD, testing becomes less about testing the structure of your code, and more about writing specifications and defining the behavior of your application. It also relies on the use of a small readable vocabulary, so that everyone - business, technology, managers, testers - is using the same words to define the behavior of the system.