For more information contact us
Phone:
+1-425-748-5018
Fax: +1-425-644-2185
TrainingUSA@selagroup.com
Coming courses
Register/More info
More courses from
C++, OO, UML
Clean Code Workshop
C++ Debugging
Effective C++ in RT/Embedded Systems
Advanced Object-Oriented Software Development using ACE
Post Modern C++
Test Driven Development for C++ Developers
Design Patterns in C++
Modern C++
Object Orient Introduction
C++\CLI programming in the .NET environment
Object Oriented Programming in C++
Object Oriented Analysis / Design using UML
Post Modern C++ 2
C Programming
Advanced C Programming
Boost C++
TDDC2 - Version: 1
Test Driven Development for C++ Developers
3 days course
Description
Bring your development team up to par with some of the most productive and successful software development teams in the world. Companies such as Google, Microsoft and that BBC have already realized the potential that lies in Test Driven Development. It’s time you do the same for your team. Use TDD techniques to reduce the amount of bugs in your software, make your developers more productive and your software more stable. Notes: 1.This course is very technical and includes extensive hands-on practice. However, the real world is always more complex than the course examples, and therefore it is strongly recommended to add two additional consulting days for guided practice on the your own code base, and an ongoing periodic accompaniment. 2.Typically the tools used in this course are Visual Studio, Google Tests, Google Mock and Resharper C++, but we can use any testing framework for C++ of your choice (e.g. CppUnit) and any mocking framework, IDE or productivity Add-on.
Intended audience
This course is intended for Developers, architects and team leaders
Prerequisites
At least one year experience developing software using C++
Objectives
Know how to write unit tests
Know the process of TDD
Understand the need for mock objects and know how to use them
Understand the benefits of TDD
Understand the relationships between clean code and good design principles with TDD
Learn some refactoring techniques and best practices
Understand how TDD fits into the software development lifecycle
Understand the ATDD (Acceptance Test Driven Development) methodology and its benefits
Topics
Introduction to unit tests
Types of automated tests
Advantages and limitations of automated tests
Advantages and limitations of Unit tests
Testing Framework overview (Google Test)
Writing a simple test without a testing framework
Advantages of a unit test framework
Test initialization and cleanup lifecycle
Asserts
Designing and structuring a test
Designing the tests as scientific experiments
One claim per test
Arrange-Act-Assert
Given-When-Then
Hands-on practice
Test Driven Development
The Red-Green-Refactor process
The benefits of writing the tests first
The benefits of writing the tests first
Hands-on practice
Breaking dependencies using mock objects
Why do we need mock objects?
Creating manual mock objects
Using a mocking framework (Google Mock)
Clean code and Design for Testability
Avoiding static variables and Singletons
The SOLID principle
The 4 rules of Simple Design
Refactoring techniques and best practices
Taking small steps
Create before delete
Useful refactoring transformations (e.g. Extract method, Extract interface, inline method, etc.)
Using Resharper C++ for refactoring and code analysis (optional)
ATDD - Acceptance Test Driven Development
Overview on ATDD
How ATDD boosts the development lifecycle
Relationships between TDD and ATDD
Related courses
AGILE Techniques for Object-Oriented Design
|
Introduction to Scrum
|
Test Driven Development for Java Developers
|
.NET TDD
|
TDDC2 Course
I would like a representative to contact me regarding this activity
*
*
*
*
*