From Zero to Hero: Effective testing in C#
Testing is an absolute must when building reliable software. It allows us to make code changes with minimal amount of risk and it ensures that bugs or problems within our codebase are caught early, before they can even have any customer impact. It can also let us know how our application performs under pressure and we can use that information to optimize what really matters.
This workshop will get you started on the right track and teach you all the best practices you need to know to write clean and effective unit and integration tests in .NET with C#.
It will also introduce you to the concept of performance testing and get you started with testing how your applications perform when pushed to their limits.
- Understanding the different types of testing
- Introduction to Unit testing
- Creating test data at scale
- Creating realistic test data
- Testing “untestable” code
- Code coverage
- Measuring code coverage
- The value of code coverage
- Introduction to Mutation testing
- Introduction to Integration testing
- Understanding the WebApplicationFactory
- Mocking third party API dependencies
- Building test-specific environments using Docker
- Integration testing Web UI
- Introduction to Performance testing
- Load testing
- Stress testing
- Soak testing
- Smoke testing
Target audience and prerequisites
- This workshop is aimed at backend developers with some experience writing applications using C# and .NET.
- The workshop will not focus on .NET Framework at all and will only briefly touch on front end testing.
- Visual Studio 2022 or JetBrains Rider or VS Code
- .NET 6
- Docker Desktop (no need for Kubernetes to be installed)
Nick is a software engineer and Developer Technologies Microsoft MVP based in London. He is creating educational content on YouTube about everything .NET and C#.