Course Duration: 4 Days

Course Category: Agile Methods

 

21 PDUs (Professional Development Units)

Introduction to Test Driven Development (TDD) with Unit Testing

 

Course Objectives

The primary focus  of  this workshop is  to  coach participants  to  apply  unit  testing  with frameworks collectively  known as unit  testing frameworks and to adopt test-first method of coding. Participants will learn practices to write reliable code using TDD. 'Unit testing framework' refers to any of popular unit testing frameworks with architecture similar to Junit for Java and Nunit/Xunit/MSTest for .Net. Similarities between such unit testing frameworks is explained.

 

The workshop includes many demonstrations. The demonstrations will be beneficial for programmers well-versed in any  object  oriented  languages  like  C#,  Java,  VB.Net,  python  etc.

 

Participants will work on hands-on exercises with their choice of unit testing framework. Program includes topics like OO design principles, Refactoring, Patterns, Role of TDD in Agile Development and Continuous integration.  The course also introduces concept of Behaviour Driven Development (BDD) and Acceptance Test Driven Development (ATDD).

 

 

Prerequisites Participants must be software developers who aspire to use TDD to write better code with C#, Java, VB.Net or other object oriented programming language.  Participants must have knowledge of tools  and programming in OO language of their choice to participate in hands-on. Content is appropriate for intermediate level participants.

 

Infrastructure

Laptop Requirement:

Participants are expected to bring laptops to the class for the following:

  • To run demos with Visual Studio 2015, Visual Studio 2015, Microsoft.Net 4+, Sql Server Express 2014
  • To perform hands-on exercises with their choice of IDE and tools, e.g. Eclipse for Java or Visual Studio for C# etc
  • To download and install frameworks

 

 

Course Content

 

TDD Introduction

  • Types of testing
  • Developer Vs. Tester
  • Traditional coding
  • Test-First Vs. Code-First
  • Red/Green coding
  • Why TDD?
  • Role of TDD in agile SDLC
  • Reducing Technical Debt
  • Practicing Emergent Design
  • Making Changes More Safe
  • Regression Testing

Unit testing

  • Manual unit testing and its problems
  • Goals of unit testing
  • Architecture of Unit testing framework(s) – JUnit, NUnit
  • Basic syntax of NUnit and Junit
  • More advanced syntax
  • Naming Conventions
  • AAA Technique
  • Commonality of test code
  • Collections, Files and Database
  • Exception handling
  • Testing non-public elements
  • Triangulation
  • Boundaries
  • Mock Objects
  • Manual Mocks
  • Auto Mocks
  • Stubs
  • Self-Shunting
  • Performance

BDD and ATDD

  • Extension of TDD
  • Stories, Scenarios and Steps
  • Benefits
  • Gherkin
  • Frameworks and Usage

Key Ideas

  • Continuous Integration
  • Code Smells
  • Key Refactorings
  • Legacy Code
  • Advanced OO principles
    • SOLID, OCP, SRP, DIP, IOC, Encapsulation, SI etc
  • Introduction to GoF Patterns
  • TDD Patterns
  • Anti-Patterns
  • Code Coverage
  • Testability of Code

 


Available Funding Support
Malaysia Only

HRDF Logo_02This course is HRDF SBL & HRDF SBL Khas Approved

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <font color="" face="" size=""> <span style="">

PMI, PMP, PMBOK, CAPM, PMI-ACP and the Registered Education Provider logo are registered marks of the Project Management Institute, Inc.
CMMI®, Capability Maturity Model®, Capability Maturity Modeling®, CMM®, PCMM® and Carnegie Mellon® are registered in the US Patent and Trademark Office by Carnegie Mellon University.
ISTQB® is a Registered Trade Mark of the International Software Testing Qualifications Board.
IIBA®, BABOK® and Business Analysis Body of Knowledge® are registered trademarks owned by International Institute of Business Analysis. CBAP® and CCBA® are registered certification marks owned by International Institute of Business Analysis. Certified Business Analysis Professional, Certification of Competency in Business Analysis, Endorsed Education Provider, EEP and the EEP logo are trademarks owned by International Institute of Business Analysis.
The APMG-International Agile Project Management, AgilePM and Swirl Device logos are trademarks of The APM Group Limited.
PRINCE2®, ITIL®, IT Infrastructure Library®, and MSP® are registered trademarks of AXELOS Limited. The Swirl logo™ is a trade mark of AXELOS Limited.
The ITIL Licensed Affiliate logo is a trademark of AXELOS Limited.
SCRUM Alliance REP SM is a service mark of Scrum Alliance, Inc.