Test Driven Development Training Course
Test-Driven Development (TDD) is a software development methodology that emphasizes writing tests before the actual implementation to ensure code reliability and maintainability.
This instructor-led, live training (online or onsite) is aimed at intermediate-level software developers and QA engineers who wish to adopt and master TDD principles and practices to improve code quality and development efficiency.
By the end of this training, participants will be able to:
- Understand the principles and workflow of Test-Driven Development (TDD).
- Write effective and maintainable unit tests.
- Utilize mocking frameworks to create comprehensive test scenarios.
- Apply TDD as a design tool to create robust and flexible code.
Format of the Course
- Interactive lecture and discussion.
- Lots of exercises and practice.
- Hands-on implementation in a live-lab environment.
Course Customization Options
- To request a customized training for this course, please contact us to arrange.
Course Outline
Introduction
Automated unit testing frameworks
- Writing good unit tests
- Identifying and repairing fragile tests
TDD approaches
- TDD as a design tool
- TDD vs refactoring
- TDD workflows and patterns
- TDD schools and variations
TDD challenges
- The workshop exercise explained
Merits of good tests in TDD context
- Evolving what we have, take 1
- Mocking explained
- Using mocking frameworks
- Evolving what we have, take 2
- Breaking change
- Evolving what we have, take 3
Coverage and counter-arguments
Retrospective
Requirements
- An understanding of programming concepts
- Experience with writing basic unit tests
- Familiarity with at least one programming language
Audience
- Software developers
- QA engineers and testers
- Anyone interested in improving their development practices using Test-Driven Development (TDD)
Need help picking the right course?
Test Driven Development Training Course - Enquiry
Testimonials (7)
So far Deba was a very good trainer, expertise on the subject matter is very evident on how he answers and attend to our inquiries.
Marc Dominic Bareng - Globe Telecom
Course - Test Driven Development
The exercises
Jayjay Ramos - Globe Telecom
Course - Test Driven Development
Deba is very friendly and is very knowledgeable. I like his approach of getting everyone involved despite the background.
Cornellius Dagmang - Globe Telecom
Course - Test Driven Development
On hand exercises
Ronald Tendencia - Globe Telecom
Course - Test Driven Development
The hands on exercises
Noel Fronda - Globe Telecom
Course - Test Driven Development
The use-cases shared with us, and the actual goal to implement it rather than focusing to just finish the activities.
Charlie Santos - Globe Telecom
Course - Test Driven Development
Learned principles and best practices about TDD that can be applied to our development approach.
Stephen Ng - Globe Telecom
Course - Test Driven Development
Upcoming Courses
Related Courses
Agile Software Testing Overview
7 HoursThis course provides a brief introduction to Agile software testing. It deals with foundational test concepts, within the context of Agile (Scrum) development and uses Crispin & Gregory's (More Agile Testing, 2014) Agile Testing Quadrants model as a framework to explore contemporary principles and practices of Agile testing.
Agile and TDD with C
21 HoursTDD, 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.
Agile, TDD and Swift
35 HoursThis 5 day course is for developers who wish to write high quality iOS applications in Swift. This is a hands on course which involves writing a number of increasingly complex high quality applications. Delegates will need to have an Apple copmputer with the latest version of OS X and Xcode installed. Delegates wishing to run applications on real devices, rather than emulators, will need to be registered with Apple as iOS developers and have their devices registered.
Ionic2
14 HoursThis instructor-led, live training in Kuwait (online or onsite) is aimed at beginner-level to intermediate-level developers who wish to use Ionic 2 to build hybrid mobile applications.
By the end of this training, participants will be able to:
- Understand the fundamentals of Ionic 2 and its architecture.
- Build single-page and multi-page applications using Ionic 2.
- Customize apps with SCSS and third-party integrations.
- Test, deploy, and manage mobile app releases effectively.
iOS Automation Testing
14 HoursLearning Objectives
- What are Unit Tests and how to write them
- How to simplify the tests and have Clean tests too
- When and how to use Test Doubles
- What is TDD and how to practice it
- How to unit test everything in your app, including the views
- Make the quality of your code something better than a matter of faith!
Format:
- Interactive lecture and discussion.
- Lots of exercises and practice.
- Hands-on implementation in a live-lab environment.
Course Customization Options
- To request a customized training for this course, please contact us to arrange.
Unit Testing with JUnit
21 HoursJUnit is a framework to write repeatable tests and do unit testing for Java language.
Unit Testing with PHPUnit
14 HoursThis instructor-led, live training in Kuwait teaches participants how to write testable code in the form of testing units to facilitate the diagnosis, isolation, and resolution of bugs. The training walks participants through the creation of a work-ready, testing environment using the PHPUnit testing framework.
By the end of this training, participants will be able to:
- Distinguish between good and bad testing units.
- Read and interpret test results.
- Proactively manage and diagnose their code base to reduce bugs.
- Ensure that their code base is fit for continuous integration and deployment.
Unit Testing with Python
21 HoursIn this instructor-led, live training in Kuwait, participants will learn how to use PyTest to write short, maintainable tests that are elegant, expressive and readable.
By the end of this training, participants will be able to:
- Write readable and maintainable tests without the need for boilerplate code.
- Use the fixture model to write small tests.
- Scale tests up to complex functional testing for applications, packages, and libraries.
- Understand and apply PyTest features such as hooks, assert rewriting and plug-ins.
- Reduce test times by running tests in parallel and across multiple processors.
- Run tests in a continuous integration environment, together with other utilities such as tox, mock, coverage, unittest, doctest and Selenium.
- Use Python to test non-Python applications.
Typescript Unit Testing
14 HoursTypeScript is an open source language for building enterprise Javascript applications. It is a strict superset of JavaScript that compiles to plain Javascript and brings static typing and object-oriented development to the language.
This instructor-led, live training introduces TypeScript's unit testing features and frameworks. Participants get a chance to put theory to practice by constructing a collection of unit tests that can be run against real-life applications.
Format of the Course
- Interactive lecture and discussion.
- Lots of exercises and practice.
- Hands-on implementation in a live-lab environment.
Course Customization Options
- This course will focus on the frameworks that can be used to unit test a Javascript or Typescript application (Jasmine, Mocha, Jest, Chai, etc.).
- UI frameworks such as React are optional and can be covered if desired.
- To request a customized training for this course, please contact us to arrange.
Unit Testing with C
35 HoursThis instructor-led, live training in Kuwait (online or onsite) is aimed at software testers who wish to use C programming to create unit tests for C code.
By the end of this training, participants will be able to:
- Use unit testing frameworks in C to produce unit tests.
- Script custom C unit tests and add them to a call list.
- Simplify the process of debugging and refactoring code with test-driven development.
Unit Testing: MSTest, xUnit, and nUnit
21 HoursThis instructor-led, live training in Kuwait (online or onsite) is aimed at software tester who wish to unit test code functionality using MSTest, xUnit, and nUnit.
By the end of this training, participants will be able to:
- Create unit tests using MSTest to test software applications.
- Display test results with CodeLens.
- Understand the different testing tools for Test-Driven Development.
Unit Testing with Javascript
7 HoursIn this instructor-led, live training in Kuwait, participants will learn about various JavaScript testing frameworks as they step through the creation of a unit test suite for a web application.
By the end of this training, participants will be able to:
- Write unit tests in JavaScript using unit test frameworks such as QUnit and Jasmine
- Use frameworks such as Mocha and Chai to implement TDD and BDD
Unit Testing with C#
14 HoursUnit testing is a testing approach that tests individual units of source code by modifying its properties or triggering an event to confirm whether the outcome is as expected.
In this instructor-led, live training, participants will learn how to write and execute unit tests against a sample .Net application using C# and Visual Studio.
By the end of this training, participants will be able to:
- Use testing frameworks such as NUnit and xUnit.net to create and manage unit test code
- Define and implement a broader test driven development approach to testing
- Adapt the testing framework to extend the test coverage for an application
Audience
- Software test engineers
- Developers
Format of the course
- Part lecture, part discussion, exercises and heavy hands-on practice