Test Driven Development and Refactoring

Catalog Home Software Quality, Testing & Tools Software Testing & Quality

This is a practical and hands on workshop that focuses on two core Agile practices; refactoring and test driven development (TDD). Agile software development methods require a high degree of skill in keeping code robust as it evolves incrementally through iterations and changes in response to feedback from stakeholders and users.TDD is an Agile practice to support continuous testing of development code using tools such as JUnit and XUnit, which are used to develop "self-testing" code for unit testing, and FitNesse, which is used for acceptance testing. By following the principle of writing the tests first, design and development are driven to cleaner architectures that meet the user expectations and keep code clean and easier to maintain.Refactoring is the practice of keeping the code base clean and robust by changing it without harming it - changing its structure without causing unexpected changes in its functionality. Refactoring works in conjunction with TDD in the Agile methods by allowing test results from the TDD process to drive code changes and, in turn uses TDD to ensure that refactorings are robust.

Students should have experience writing C++ or Java code. Experience with testing concepts is useful but not necessary.

3 Days/Lecture & Lab

This course is designed for experienced OO programmers.

  • Recognize poor code constructs
  • Improve designs in small safe steps
  • Use the xUnit framework (Junit, Nunit, or CppUnitLite)
  • Use "intention" to drive object interface design
  • Perform test -first programming of object clusters
  • Know how and when to use Mock objects and other testing patterns
  • Know how and when to refactor when growing systems test-first
  • Write executable requirements
  • Understand Unit and Acceptance Tests
  • Write Acceptance Tests using FitNesse
  • Keep the system running


Copyright © 2018 ProTech. All Rights Reserved.

Sign In Create Account

Navigation

Social Media