Slide 1

Slide 1 text

Wat zegt deze test? Karl van Heijster www.karlvanheijster.com

Slide 2

Slide 2 text

Een falende test zegt ons: hier is een probleem!

Slide 3

Slide 3 text

Maar tests geven ons niet alleen informatie wanneer ze falen

Slide 4

Slide 4 text

[DataRow(1, "1")] [DataRow(2, "2")] [DataRow(3, "Fizz")] // Divisible by 3 [DataRow(6, "Fizz")] [DataRow(5, "Buzz")] // Divisible by 5 [DataRow(10, "Buzz")] [DataRow(15, "FizzBuzz")] // Divisible by 3 AND 5 [DataRow(30, "FizzBuzz")] [DataTestMethod] public void FizzBuzzTest(int input, string expected) { var result = FizzBuzz(input); result.Should().Be(expected); }

Slide 5

Slide 5 text

Tests vertellen ons: dit is hoe dit (deel)systeem zich gedraagt

Slide 6

Slide 6 text

Een goede test legt geen implementatiedetails vast

Slide 7

Slide 7 text

[DataRow(1, "1")] [DataRow(2, "2")] [DataRow(3, "Fizz")] // Divisible by 3 [DataRow(6, "Fizz")] [DataRow(5, "Buzz")] // Divisible by 5 [DataRow(10, "Buzz")] [DataRow(15, "FizzBuzz")] // Divisible by 3 AND 5 [DataRow(30, "FizzBuzz")] [DataTestMethod] public void FizzBuzzTest(int input, string expected) { var result = FizzBuzz(input); result.Should().Be(expected); }

Slide 8

Slide 8 text

Tests beschrijven een API

Slide 9

Slide 9 text

Het soort test zegt ons iets over het soort code

Slide 10

Slide 10 text

Unittests testen domeinlogica, integratietests de koppeling met externe systemen

Slide 11

Slide 11 text

[DataRow(1, "1")] [DataRow(2, "2")] [DataRow(3, "Fizz")] // Divisible by 3 [DataRow(6, "Fizz")] [DataRow(5, "Buzz")] // Divisible by 5 [DataRow(10, "Buzz")] [DataRow(15, "FizzBuzz")] // Divisible by 3 AND 5 [DataRow(30, "FizzBuzz")] [DataTestMethod] public void FizzBuzzTest(int input, string expected) { using var consoleOutput = new StringWriter(); Console.SetOut(consoleOutput); FizzBuzz(input); consoleOutput.ToString().Should().Be(output); }

Slide 12

Slide 12 text

Overgecompliceerde tests wijzen ons op een fout in het ontwerp van de code

Slide 13

Slide 13 text

Tests zeggen ons iets over gedrag, design & architectuur

Slide 14

Slide 14 text

Tests vertellen het verhaal van de kwaliteit van ons werk

Slide 15

Slide 15 text

Kwaliteit is een team- verantwoordelijkheid

Slide 16

Slide 16 text

Goede tests schrijf je samen

Slide 17

Slide 17 text

Tests helpen ons de code én het team te duiden

Slide 18

Slide 18 text

Wat zegt deze test? Karl van Heijster www.karlvanheijster.com