Outcome of the training

ü Hands-on experience in writing scalable and maintainable code by following 11 OO principles.

ü Hands-on on experience in evolving design by TDD by real world examples

ü Reduced rework by identifying code smells and refactoring it to patterns to improve code quality

ü Reduced feedback circle and bug density in application development by increasing test coverage





Who should attend?

Software Developers.

Duration

2 Days

Mode of training

80% hands on session, 20% presentation

What will be covered during the training?

Session 1

Introduction to JUnit 4

Exercises in JUnit 4

Hands on coding session – Salary Management System

Principles of Agile software development

Introduction to testing quadrants

Role of TDD as technology facing/team supporting test

Introduction to TDD cycle and refactoring

Demo – TDD example

Introduction to SOLID and other OO principles

Session 2

Introduction to remaining OO Principles

Hands on coding session – Salary Management System using TDD

Introduction to code smells

Refactoring code smells to patterns - Technique

Demo – code smell – Refactor to strategy pattern

Demo – code smell – Using polymorphism to refactor switch statements

Demo – code smell – Refactor to Template pattern

Demo – code smell – Refactor to Factory pattern

Hands on session – Refactoring a legacy code

Mocking frameworks

Hands on exercise

Introduction to easymock

Hands on exercise

Introduction to code quality metrics

Introduction to Continuous Integration frameworkOutcome of the training

ü Hands-on experience in writing scalable and maintainable code by following 11 OO principles.

ü Hands-on on experience in evolving design by TDD by real world examples

ü Reduced rework by identifying code smells and refactoring it to patterns to improve code quality

ü Reduced feedback circle and bug density in application development by increasing test coverage





Who should attend?

Software Developers.

Duration

2 Days

Mode of training

80% hands on session, 20% presentation

What will be covered during the training?

Session 1

Introduction to JUnit 4

Exercises in JUnit 4

Hands on coding session – Salary Management System

Principles of Agile software development

Introduction to testing quadrants

Role of TDD as technology facing/team supporting test

Introduction to TDD cycle and refactoring

Demo – TDD example

Introduction to SOLID and other OO principles

Session 2

Introduction to remaining OO Principles

Hands on coding session – Salary Management System using TDD

Introduction to code smells

Refactoring code smells to patterns - Technique

Demo – code smell – Refactor to strategy pattern

Demo – code smell – Using polymorphism to refactor switch statements

Demo – code smell – Refactor to Template pattern

Demo – code smell – Refactor to Factory pattern

Hands on session – Refactoring a legacy code

Mocking frameworks

Hands on exercise

Introduction to easymock

Hands on exercise

Introduction to code quality metrics

Introduction to Continuous Integration framework