Modern & reliable .NET solutions with the support of:
tests ✅

Vedran Mandić
Software Engineer @ Wincher.com

 #ATD19, Zagreb 2024-11-28/29

https://slides.com/vmandic/dotnet-integration-tested
https://github.com/vmandic/dotnet-integration-tested

Thank you ATD

Hi, I am Vedran. 👋

  • Vedran Mandić freelances, talks (less) and lectures (less) C#, SQL, JS, Java, Go, docker, bash...
  • last talk was... 3 years ago!
  • 13 years as dev
  • www.wincher.com 👈
  • I do enterprise / startups mostly
  • Masto: hachyderm.io/@vekzdran
  • GitHub: @vmandic

Agenda

  1. Why test at all? 🤔
  2. Why write programmatic tests?
  3. How should we do software testing?
  4. Aspects of software testing
  5. Taxonomy & tooling
  6. DEMO
  7. Kthxbyeq&a

Spoiler answer to all of the questions from the agenda...

if you are senior 🥸 enough is always...

Why... test

software at all? What's the fuss about?

Start with

Who should do testing?

What... is considered as testing?

OK, how should we do it?

testing pyramid

ref: https://martinfowler.com/articles/practical-test-pyramid.html

ref: https://www.slideshare.net/slideshow/testing-in-production-242810128/242810128

Taxonomy & tooling

  1. An automated software test
  2. SUT, test double, fake, stub, mock...
  3. unit, integration, contract, UI, e2e tests...
  4. CI, pipeline, idempotency, concurrent exec., ENVs,
    test reporting, test artifacts, metrics, coverage...
  5. manual, security, exploratory, functional,
    acceptance testing...
  6. XUnit, NUnit, MSTest, dotnet test, Github, Gitlab, AzDevOps, Testcontainers...

the basic parts...

There is no place like prod

demo 

more sort of a code-review

The end! 📸 Questions?

VEDRAN MANDIĆ

mandic.vedran@gmail.com

@vekzdran @vmandic
https://github.com/vmandic/dotnet-integration-tested

Building Modern and Reliable .NET Solutions Through Integration Testing

By Vedran Mandić

Building Modern and Reliable .NET Solutions Through Integration Testing

In this demo-driven session, we’ll explore how to build resilient .NET applications by creating robust integration tests that cover everything from database interactions to external API calls. Using a simple SEO keyword rank tracking app, we’ll focus on practical methods to design tests that simulate real-world scenarios. What You’ll Learn: Core Tools: TestServer, Docker, Moq, TestContainers, and XUnit with concurrency enabled. Test Strategies: Setting up database fake data, intercepting HTTP clients, and testing API integrations. We will talk about the impact of a proactive testing culture on solution reliability and team confidence. Testing isn’t just an add-on; it’s a foundation. By the end, you’ll be ready to start or improve your own integration testing approach, making your .NET solutions more reliable, maintainable, and future-proof.

  • 81