Call : (+91) 968636 4243
Mail : info@EncartaLabs.com
EncartaLabs

TDD with C++

( Duration: 2 Days )

Test Driven Development with C++ training course presents a number of modern practices for developing code based on an iterative and incremental development lifecycle. A test-driven approach, in which design is grown and code delivered incrementally according to functionality or risk, 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.

This course is intended as a practical course: the best way to appreciate how TDD works and what it feels like is to do it in practice, making sense of the principles it embodies. This course is based on lecture material, demonstration, discussion and hands-on labs.

By attending Test Driven Development with C++ workshop, delegates will learn to:

  • Appreciate the benefits of a continuous and iterative approach to design and delivery
  • Recognise the purpose and practice of refactoring in keeping a system supple and adaptable
  • Know how to build up a set of tests and simple test frameworks for units of code
  • Understand the consequences of dependency management on testing and code quality

Experience in C++ and familiar with object-oriented principles and practices. Any previous exposure to unit testing tools or agile development concepts is beneficial but not essential.

  • This b>Test Driven Development with C++ class is suitable for Software Engineers, Developers, Programmers, Architects, Senior Developers

COURSE AGENDA

1

Agile Development Microprocess

  • Traditional versus agile development processes
  • Informal and continuous design
  • The role of refactoring
  • Refactoring versus other code changes
  • Extreme Programming
  • Test-Driven Development
2

Testing in Principle

  • Traditional view and reality of testing
  • Driving development through testing
  • Testing early, often and automatically
  • Testing versus debugging
  • White-box versus black-box testing
  • Functional versus operational testing
3

Basic Unit Testing in Practice

  • Test plans versus test code
  • Use of assert
  • Testing at the interface
  • Testing the simplest things first
  • Testing incrementally
  • Testing correctness of failure
4

Refactoring a Test Harness

  • Common unit test frameworks
  • Refactoring to a simple framework
  • Test cases, test suites and test runners
  • Throwing exceptions on failure
  • Continuing tests after failure
  • Customising assertionsTesting correctness of exceptions
5

Test-Writing Techniques

  • Red, green, refactor
  • None to one to many
  • Faking it
  • Telling the truth
  • Isolated and short tests
  • Refactor common fixture code
  • Declare, prepare, assert
  • Test by function, state or scenario
  • Asserting compile-time constraints
6

Common Refactorings

  • Renaming variables, functions, classes and headers
  • Restructuring class hierarchies by extracting interface classes, base classes and derived classes
  • Partitioning classes by extracting classes and functions
  • Changing private representation
7

Decoupling Techniques

  • Unmanaged dependencies
  • Test-driven decoupling
  • Layering
  • Eliminating cyclic dependencies
  • Mock objects
  • Eliminating Singletons, statics and other globals
  • Testing I/O

Encarta Labs Advantage

  • One Stop Corporate Training Solution Providers for over 6,000 various courses on a variety of subjects
  • All courses are delivered by Industry Veterans
  • Get jumpstarted from newbie to production ready in a matter of few days
  • Trained more than 50,000 Corporate executives across the Globe
  • All our trainings are conducted in workshop mode with more focus on hands-on sessions

View our other course offerings by visiting https://www.encartalabs.com/course-catalogue-all.php

Contact us for delivering this course as a public/open-house workshop/online training for a group of 10+ candidates.

Top
Notice
X