T2861

Test Driven Development

Test Driven Development (TDD) improves the quality of solutions! If the application is implemented according the principles of TDD the development process starts from the design of test cases and the actual implementation comes later. TDD gives well disciplined practices for design and implementation and each new feature need to pass test cases before the release.

Objectives:

Test Driven Development (TDD) produces high quality code while making sure the requirements of the application are being met.  In this course, you will learn the principles of test-first/fail-first development, how to practically apply the fundamental TDD "test-implementation-refactor" strategy in your development, and understand how an optimal design grows out of designing tests first.  You will also learn how to apply TDD principles to the entire development lifecycle, including acceptance and integration testing, as well as how to incorporate tests into legacy code.  With many examples and hands-on exercises, you will exit this course with a good understanding of why TDD is an excellent method to apply to your projects today!

Audience:

System developers, System architects. Knowledge of object oriented languages and programming with Java or .NET languages is required.  (Examples are shown in Java and C#)

Course outline:

Day 1.

9.00 Agile Manifesto!

  • Agile planning and iterations

Extreme Programming elements

  • Teams, responsibilities and activities
  • Requirements and management

Test Driven Development

  • Why Test Driven Development works?
  • Agile development and Test Driven Development
  • The role of refactoring

Unit Testing

  • Test-First Programming (TFP)
  • xUnit and JUnit
  • Design patterns for unit testing
  • Dependency Injection

Mock Objects

  • Independency of classes and objects
  • Easy Mock and Easy Mock.NET

Integration Testing

  • Planning and implementation of integration tests
  • ANT and Nant as tools of integration

16.30 Day Ends

Day 2.

9.00 Code Refactoring

  • Maintenance of simplicity
  • Why to refactor?
  • Tools for refactoring: Eclipse and.NET Refactor!
  • What refactoring requires?

Testing Databases

  • Strategies for database testing
  • Strategies for test data
  • Design of test cases

TDD and Other Environments

  • Testing UI solutions
  • Testing Web solutions

Automated Acceptance Testing

  • Need for Acceptance Testing
  • Acceptance Testing as a tool of communication
  • Role of customer
  • FIT framework and it's syntax

Configuration management and continuous integration

  • Versioning with Subversion and Visual Studio
  • Automatic build process with Ant and VSTS
  • Continuous integration CruiseControl and Cruisecontrol.net/Team Foundation Server

Visions to the future

  • BDD, DDD, DSL and LSD

16.30 Course Ends

Fakta

Kurs
T2861
Längd
2 dagar
Pris
14.500 kr (exkl. moms)
Bookmark and Share

Förkunskaper

Kursen kräver förkunskaper inom Objektorienterad utveckling som C#.NET, Java och liknande.

Efterföljande utbildningar

Kursmaterial

Course material in english and the course is in english.

Kontakta oss
för mer information:

08 - 587 116 10 (Stockholm)
031 - 773 07 90 (Göteborg)
040-662 20 60 (Malmö)
info@informator.se

 
Gold Partner
Novell Partner