Better Testing

You already write automated tests. Now learn methods that take your testing to the next level.

  • Understand why your tests pass – and why that alone is not enough
  • Learn methods that help you find bugs you never would have thought of
  • Apply universal testing methods that work in any programming language
Better Testing

Better Testing

AI agents generate more and more code, faster than ever. You write unit tests to make sure that code actually works. You know assertions, test doubles, and code coverage. But is that enough?

Most developers stop at example-based testing: for a known input, a known output is checked. This works – as long as all relevant cases have been considered. But what about the cases no one thought of?

In this training, you will learn testing methods that go far beyond what most teams use in their day-to-day work. You will learn how to make sure your tests actually check the right thing. You will learn how to safeguard existing code before you change it. You will discover how to automatically find edge cases you never would have thought of. You will understand why high code coverage alone is no guarantee of quality. And you will learn how to confront your software with unexpected inputs and uncover bugs that remain hidden even at 100 % code coverage.

These methods are universal. They work in any programming language and with any test framework. In this training, I teach the concepts using PHP examples and the tools of the PHP ecosystem. But the insights you gain apply to any codebase: whether PHP, C#, Go, Java, Python, Rust, or TypeScript.

Green does not mean correct

  • Your test is green. But how do you know it is checking the right thing?
  • What happens when your code returns correct results but has unwanted side effects?
  • How do you verify behaviour that cannot be expressed in a return value?
  • What do you do when you do not even know what the correct answer would be?

Modernise with confidence

  • You need to change code that no one on the team understands. There are no tests and no documentation.
  • How can you safely modernise code when you do not know what it actually does?
  • How do you document actual behaviour before you change anything?
  • How do you get from a safety net to a real test suite?

What no one thinks of

  • You test with examples, but you cannot write down every example. What are your tests missing?
  • How do you find edge cases you never would have thought of?
  • When a test fails, the input is often huge and incomprehensible. How do you get to the actual problem?
  • For which kinds of code does this approach pay off, and where does it reach its limits?

The blind spot

  • You have high code coverage, but bugs still make it into production. Why?
  • Your tests are green, but would they even notice a real bug in the code?
  • How do you measure whether your tests are actually any good – beyond coverage numbers?
  • What do deliberately introduced faults in the code reveal about the quality of your test suite?

What no one expects

  • Your tests prove that your code is correct. But is it also robust?
  • What happens when your code receives inputs no one anticipated?
  • Why does even 100 % code coverage not protect against all bugs?
  • How do you find security vulnerabilities before attackers do?

Who should attend?

This training is for developers who already have experience with automated testing and want to expand their testing methodology. The concepts are relevant regardless of the programming language you use. The practical examples and exercises use PHP, but the methods you learn transfer directly to other languages and their ecosystems.

Are there any prerequisites?

  • Experience in software development with an object-oriented programming language
  • Basic experience with automated testing (writing and running unit tests)
  • For the practical examples: familiarity with PHP is helpful but not required

What you will take away

  • You recognise when a green test is misleading and know how to make sure it checks the right thing
  • You can safeguard unfamiliar code before you change it
  • You find edge cases you never would have thought of when writing tests by hand
  • You know what code coverage really tells you – and what it does not
  • You can systematically test the robustness of your code against unexpected inputs
  • You choose the right testing method for each situation and can justify your decision

Secure your spot

Start now by registering – or book a free consultation to customise this session for you.

Besser testen πŸ‡©πŸ‡ͺ

Dauer: 5 Tage

13.-17. Juli 2026, jeweils 10:00-12:00 (MESZ)

Anmeldefrist: 29. Juni 2026

990 €
FΓΌr 990 € buchen

Besser testen πŸ‡©πŸ‡ͺ

Dauer: 5 Tage

Expected in July 2027. We will be happy to notify you as soon as we have set the dates.

990 €
online (Zoom) Sebastian Bergmann
Let me know β†’

Besser testen πŸ‡©πŸ‡ͺ πŸ‡¬πŸ‡§

Duration: ca. 10 hours

Your preferred date, any number of participants. Either in Zoom or using your preferred video conferencing software.

from 4500 €
Your desired date online (Zoom) Sebastian Bergmann
Start free consultation on online training β†’

Besser testen πŸ‡©πŸ‡ͺ πŸ‡¬πŸ‡§

Duration: 2-3 days

Your preferred date, any number of participants. At your company or at your desired location.

from 5500 €
Your desired date Any location Sebastian Bergmann
Start free consultation on inhouse training β†’
Credits allow discounted access to our training courses. Learn More
Easy access to all our training courses for a monthly fixed fee. Learn More

Frequently Asked Questions

Why are there no full-day online courses?
Our content is designed for optimal online learning: Short, focused sessions promote concentration and provide time to process what has been learned between units.
Are the training sessions live or recorded?
All our training courses take place live as a video conference and are led by an experienced trainer. Participants can ask questions at any time.
What makes your training courses unique?
Our training courses combine hands-on tasks with live coding and solving real-life problems. Our experienced trainers guarantee a particularly good learning experience.
Are your training courses remote or in-person?
We offer our training courses both remotely and in person in order to meet the different requirements of our customers.
Can you tailor training courses specifically to our needs?
Naturally. We can customise our training courses to the individual needs of teams and their technology stacks at any time.
What advantages do individualised training courses offer?
In-house training courses allow you to arrange individual topics, flexible dates and guarantee targeted learning in a familiar environment. This is usually financially viable for four or more participants.
Is there a certification?
Yes, participants will receive a certificate on request after successful participation.