Our Agile Technical Practices Workshop is intended for software developers, testers and any members of a project team who have an interest in improving code and system quality.
The attendees are introduced to concepts such as automated unit testing, refactoring, test-driven development (TDD), SOLID object-oriented design principles, and continuous integration. They will learn how to use testing to drive the design of their code, and how to use the unit tests to assist in their refactoring efforts.
The workshop is 2 days in length, and can be tailored to your organization’s particular goals and needs. An optional 3rd day can be added to this workshop in which students bring their own issues and code to which the techniques they have learned can be applied with the instructor available for hands-on assistance.
This course is available for Java, C#, C and C++.
Course Overview (Download detailed curriculum)
- “Code Smells”
- Introduction to Refactoring
- Introduction to xUnit testing frameworks:
- JUnit for Java
- NUnit for C# and .NET
- CPPUTest for C
- GoogleTest for C++
- Supporting Refactoring with Unit Tests
- Test Doubles – Stub, Fakes, and Mocks
- Tools for Mocking:
- JMock, Mockito for Java
- NMock, EasyMock.NET for C#
- CPPUTest or Opmock for C
- GoogleMock for C++
- The Test-Code-Refactor Cycle of Test-Driven Development (TDD)
- Designing by Tests
- Design Patterns and Refactoring
- The SOLID object-oriented design principles
- Continuous Integration
- Automated Builds
- Group work on a sample problem