Home > Training Course Catalogue > Software Development Courses > Agile Development Training Courses > Test-Driven Development: Unit Testing and Refactoring for Agile Software Development

Perpetual Solutions
Tuition House
27-37 St Georges Road, London
SW19 4DS

+44 (0)20 7620 0033
+44 (0)20 7620 0055

 

Training Course Outline

Software Development CoursesSoftware Development Courses   Agile Development Training CoursesAgile Development Training Courses


Course outline for Test-Driven Development: Unit Testing and Refactoring for Agile Software DevelopmentTest-Driven Development: Unit Testing and Refactoring for Agile Software Development


View course dates


Course Duration: 2 days


Course Code: PSD033


Course Description:


The Test-Driven Development course presents a number of modern practices for developing code based on an iterative and incremental development lifecycle. Agility and predictability are two qualities often missing from software development. A test-driven approach, in which design is grown and code delivered according to functionality or risk incrementally, forms the basis of the construction phase of an iterative and incremental development. The use of unit testing provides confidence in existing code and supports the ability to refactor code as development unfolds.


The course can be run as a seminar or as a practical course. It is based on lecture material, demonstration, discussion and hands-on labs in Java.


Prerequisites:

The course is suitable for software developers familiar with object-oriented principles and practices. Good programming skills are assumed in at least one language such as Java.


This course includes the following modules:

Iterative and Incremental Development

  • Visibility of development
  • Functional, operational and developmental requirements
  • Continuous design
  • Scenario-driven increments
  • Risk-driven increments
  • Agile development

Unit Testing

  • Traditional view of testing
  • A more useful perspective
  • Levels of testing
  • Design for testing
  • Testing as a driver for design
  • Writing test cases
  • Testing frameworks and JUnit

Refactoring

  • Spaghetti architecture and software entropy
  • Refactoring as software hygiene
  • Evolving a design through refactoring
  • Practices for avoiding redundancy, eliminating code duplication and simplifying code
  • Refactoring and patterns

Testing Techniques

  • Granularity of tests
  • Testing scenarios and states rather than methods
  • Coverage issues
  • Testing normal and exceptional outcomes
  • Mock Objects
  • Testing I/O
  • Refactoring test cases

Dependency Management

  • Coupling and cohesion issues for testing
  • Interfaces versus concrete or partly abstract classes
  • Eliminating Singletons and statics
  • Eliminating cyclic dependencies ยท
  • Reducing coupling between presentation logic and application logic

 

To make an enquiry for this course to be run ONSITE at your location, click here or call Sales on +44 (0) 20 7620 0033.


Perpetual Solutions are a global provider of onsite training solutions throughout London, UK and the rest of the world. For scheduled training our UK partner network provides an unrivalled choice of courses.


Save as PDFSave as PDF

PrintPrint this course



© Perpetual Solutions Ltd 2008.   Perpetual Solutions, Tuition House, 27-37 St Georges Road, London, SW19 4DS. +44 (0)20 7620 0033 +44 (0)20 7620 0055