TDD Fundamentals in TypeScript
What you'll learn
- Structure a unit test (Understand the anatomy of a good test)
- Structure Test Classes and Projects
- Understand Testing Strategies and Approaches
- Identify Boundaries and Equivalence Partitions
- Name a Test
- Break Dependencies with Test Doubles
- Grow a Requirement using TDD
- Balance High Level Design with TDD Practice
- Recognize the Flow/Cadence/Rhythm of TDD
- Understand how Bad Tests Show High Code Coupling and how Good Tests Show Low coupling
Requirements
- Developers must be able to code in Typescript
- Visual Studio
Description
TDD stands for Test-Driven Development. It is a software development process for developing an application by using automated tests as the primary tool for development. These tests are written before coding and are the primary unit of quality ensuring that coding is correct, reliable and bug-free.
TDD has become widely accepted by the TypeScript developer community as an essential skill in today's world of web applications, service-oriented architectures and desktop application development. The TDD Fundamentals in TypeScript course is a step-by-step TypeScript programme designed to make you a more proficient TypeScript Developer by teaching you the skill of TDD. It covers the fundamentals of Test-Driven Development enabling you to get up to speed quickly within the practice of TDD in TypeScript.
The TDD Fundamentals in TypeScript course is very hands-on: you will spend your time learning the practice of Test Driven Development through a sequence of coding exercises interspersed with theory. This course has been run in person dozens of times with a variety of groups, and through this process we have honed the process of teaching and learning TDD.
Target outcomes:
Understand what TDD is and why you would want to practice it
Understand the anatomy of a test, and how to write good unit tests
Understand and use the flow of Test-Driven Development and to use a toolbox of tools and techniques on what to do if they are not experiencing this rhythm.
Understand how high-level design and TDD work together to achieve great designs
Write Unit Tests for a reasonably complex solution that are maintainable into the future.
Take a requirement (User Story/Use Case) and implement the relevant tests and code.
Write far more loosely coupled code by using the appropriate Test Doubles.
Use the appropriate mocking framework for dynamically creating the appropriate test doubles
Who this course is for:
- Software Developers who have at least two years production programming experience with Typescript
Instructor
Our courses have been developed by DevFluence, a professional software development school that is a division of Chillisoft. Chillisoft is an established software development house that is known for our high quality, software professionalism and our excellent delivery track record. Chillisoft set up DevFluence to share the pragmatic lessons that have we learned in writing and delivering software, whilst working with international software teams and businesses for more than 13 years.
DevFluence’s vision is to make Software Professionalism a reality in the world of work. This is achieved by ensuring that our team and our offerings actively embody our vision statement – “the courage to create value for myself, my customers and my community.”
Our vision statement recognises that software competency is directly dependent on fulfilling an individual’s internal drivers of motivation. It also recognises the individual agency and voice of a software developer who has to deliver value within an existing culture. DevFluence recognises the courage of business and software developers who deliberately commit to instilling practices that enables continual learning for career growth.
All Our Instructors:
● Have a minimum of 10 years of solid software development experience
● Are current software practitioners
● Are trained to teach, listen and communicate
● Are engaged in the software community