LIVE Instructor-Led Courses
Dismiss
client logo

13 June 2022

TDD C++ training course taken by multinational manufacturing company

niA major multinational manufacturing company wanted to improve the skills of their C++ programmers to enable them to update their existing legacy code to use the features offered by modern versions of C++ (C++11 up to C++17).  They also wished to improve the testing and performance of their code.  To do this, a group of courses was offered: a C++11/14 upgrade, a C++17 course, a test-driven development (TDD) course and a C++11 performance and optimisation course. 

These courses have been given multiple times over the last two years and demand for them from the developers remains high, with some developers attending all four of the courses. This case study investigates the TDD course.

The main logistic challenges were that delegates were located throughout the EMEA region. This gave instructors a challenge to cope with:

  • Language – poor to excellent level of English in a classroom
  • Different teams and different ways of working with same technologies
  • Different levels of experience within a team
  • Corporate and Geographic Cultural differences of audiences

 Success was achieved by using experienced, technically competent instructors who were familiar with the new Libraries and features of C++, as well as TDD, and who were able to bring into the classroom “Real world” examples in Labs, stimulate discussion, use of practicals over notes, majority hands-on rather than passive theory. Furthermore, participants were paired up in order to help each other through the exercises if there was a problem with understanding language or technology. As delegates were all over EMEA, getting a uniform core formula for each course agreed and delivered successfully to suit everyone was rewarding for instructors and client.

In simple terms, success was measured by the ability of delegates to leave the course being able to develop C++ application which fully utilize the latest libraries and TDD techniques.

Delegates should be able to:

  • Write better quality code by using test-driven development to create executable examples and specifications
  • Realise when and when not to use mocks to enable individual unit testing as opposed to bottom-up testing
  • Refactor code to improve its structure with more confidence because of having unit tests
  • Test-Driven decoupling

Course quality was measured by the manufacturing company. After each run of a training course, the delegates score the course instructor and delivery and this is analysed to ensure performance parameters are adhered to. These scores are always fed back to JBI so that we know if a course is well received and where improvements need to be made.

“I found the mocking very helpful, and liked that larger design concepts were discusses alongside the specific testing concepts. I've been convinced that the TDD process is valuable and look forward to giving it a try.” NS, Software Developer

“The course was very educational and enlightening! I especially enjoyed the boundary value analysis with the equivalence partitions, as well as the state machine method and all about mocking. Also, working on the hands-on exercises made the course very fun and engaging.” XK, Senior Software Developer

For further information on C++ courses:

C++ training courses

TDD for C++ training courses

C++ 20 library training course

Here are some more articles related to this case study:

C++ : Find out why this old favourite is making a comeback ?

International traffic management company receives training in C++

New C++ Library skills help reduce development effort

CONTACT
+44 (0)20 8446 7555

enquiries@jbinternational.co.uk

SHARE

Corporate Policies     Terms & Conditions
JB International Training Ltd  -  Company number 08458005

Registered address Wohl Enterprise Hub 2B Redbourne Avenue London N3 2BS

POPULAR

Rust training course                                                                          React training course

Threat modelling training course   Python for data analysts training course

Power BI training course                                   Machine Learning training course

Spring Boot Microservices training course              Terraform training course

Kubernetes training course                                                            C++ training course

Power Automate training course                               Clean Code training course