Agile and TDD with C Training Course

Overview

TDD, or Test Driven Development, is an approach to developing software where coding, testing, and design occur in tandem throughout the software development cycle. Agile is a broader process and management approach to software development that emphasizes incremental delivery, team collaboration, continual planning, and continual learning.

In this instructor-led, live training (onsite or remote), participants will learn how to write high-quality C applications using a TDD and Agile development approach. Participants will put their knowledge into practice by carrying out a series of hands-on exercises to create a well-designed and well-tested C application.

By the end of this training, participants will be able to:

  • Install and configure development and testing tools needed to carry out TDD
  • Design, develop and unit test a C application using a TDD approach
  • Apply planning and management practices of Agile development

Audience

  • Developers
  • Project managers

Format of the Course

  • Part lecture, part discussion, exercises and heavy hands-on practice

Notes

  • To request a customized training for this course, please contact us to arrange.

Requirements

  • An understanding of C programming
  • An understanding of software testing concepts

Course Outline

Introduction

  • Benefits of TDD and Agile

TDD (2 Days)

Installing and Configuring Automated Unit Testing Frameworks

TDD Approaches

  • Designing software using TDD
  • Refactoring software
  • TDD workflows and patterns

Implementing TDD

  • Collaborating Modules
  • Understanding Test Fakes, Stubs, Doubles, and Mocks
  • Writing good unit tests
  • Improving existing tests
  • Refactoring an application
  • Writing tests for legacy C
  • Adapting TDD for embedded software development
  • Test-Driving Next to the Silicon with Mocks

Agile (1 Day)

Introduction

  • Agile vs Traditional Software Development Approaches
  • The Agile Manifesto

Implementing Agile

  • Release Planning, Iteration Zero
  • Iteration Planning, Estimation
  • Requirement Review, Daily Stand-up
  • Team Quality, Iteration Testing, Acceptance
  • Iteration Review (Showcase)
  • Retrospectives
  • Lesson learned of Agile Principles

Summary and Conclusion

Leave a Reply

Your email address will not be published. Required fields are marked *