Back to training

Unit Testing Workshop V2.0

Learn how to get rid of bugs and increase the quality and the design of your code in this two day workshop. 

About

This workshop will help you to adopt unit testing if:

  • Your developers spend a lot of non-billable hours fixing bugs
  • Your customers or users are unhappy because they keep finding bugs in the application instead of just using it
  • Your team adopted unit tests, but now they are complaining that they slow them down
  • Your application is huge and developers cannot modify it fast enough. (Also check the “ Working FAST and safe with existing code” class for this part)

Who should attend

Software developers that would like to learn how to avoid introducing mistakes in the software.

Why attend

  • You want to avoid development mistakes
  • You consider adopting unit testing
  • You want to adopt unit testing and would like to avoid common pitfalls
  • You would like to simplify your unit tests because they are complicated and slow

This workshop is hands-on, with about 60% of the time spent on programming exercises.

Testimonials

“Keep up the good work!”
Anca B., Timisoara, Romania

“I liked how the trainer explained everything.”
Cosmin A., Bucuresti, Romania

“I felt very good at the course and my most important questions and ideas have been answered”
Roxana M., Cluj-Napoca, Romania

Topics covered

You will find out the answers to the following questions:

  • Why Unit Testing?
  • Basics of Unit Testing
  • How to effectively use an xUnit framework
  • State and collaboration tests
  • Isolated tests using stubs and mocks
  • Unit testing styles: mockist vs. classicist
  • Organizing tests for a large system
  • Advanced unit testing topics: dealing with large objects, test asynchronous code, testing GUI
  • Optional: Dealing with legacy code, Acceptance testing

Expected outcome

The participants know how to write simple, maintainable unit tests. It introduces the core unit testing techniques and a set of guidelines that when followed minimize the time spent on maintaining test code.

Structure

  1. Day 1
    – Basics of Unit Testing
    – Hand-rolled unit testing framework
    – xUnit Frameworks
    – State tests, value domain sampling
    – Hand-rolled stubs
    – Collaboration tests
    – Hand-rolled mocks
    – Behavior slicing
  2. Day 2
    – Mock framework
    – Refactoring tests
    – Organize tests for a large system
    – Advanced unit testing topics

Prerequisites

You must be proficient in one of Java, C#, C++, php, Python or Ruby. All examples during the class are in Java, but you will work in your preferred language. You need a laptop with a fully working development environment to use during the class.

Practical details

  • Included: welcome coffee, lunch and coffee breaks
  • Training language: English/Romanian/French
  • Participants will receive a certificate of attendance

Need a customized workshop? Contact us and we’ll adapt the content as required.