Dit is het verslag van dag 2 van GOTO Amsterdam 2019.

Lees ook het verslag van dag 1 en dag 3!

<!-—more-—>

Keynote: From Flying Cars to Humans on Mars - The Future of Transportation

Dr. Anita Sengupta

Millisecond Full Stack Acceptance Tests

Aslak Hellesøy begon in 2013 met Cucumber, een combinatie van specificeren, documenteren en testen op basis van een enkel bronbestand. Het probleem van specificatie is normaalgesproken dat software engineers, business analysten en testers niet dezelfde taal spreken en elkaar daardoor niet begrijpen. Het resultaat is dat de verkeerde software wordt opgeleverd met niet-gevonden fouten. Het verenigen van de talen van de drie rollen en het voorzien in de mogelijkheid om die taal te gebruiken voor specicatie, documentatie en tests is de kern van Cucumber.

Over de jaren heen is Cucumber vele malen verkeerd begrepen. Steeds kwam dat voort omdat slechts één van de drie rollen volledig investeerde en de anderen de geschreven tekst volgden. Het belangrijke aspect van samenwerking werd vaak vergeten.

Een van de misverstanden is dat een Cucumber-bestand de volledige stack moet omschrijven om nuttig te zijn. Alleen, als je de bestanden dan gebruikt om te testen krijg je lange, onstabiele tests, die ook nog eens veel herhaling bevatten. Door bewust delen van het systeem te vervangen door test-implementaties kan een test veel stabieler én sneller worden. Stel je applicatie voor als een stapel blokken met elk zijn eigen verbindingen. Als je schijf- en netwerktoegang weet te beperken, zullen je tests veel sneller worden.

Zekerheid versus Tijd

Uiteindelijk is zekerheid het enige doel van testen. De zekerheid dat wat je live zet op vrijdagmiddag het hele weekend goed zal werken. De zekerheid dat de facturen op de juiste manier worden opgemaakt. De zekerheid dat het systeem werkt op macOS én Windows. Elk van voorgaande voorbeelden kan worden bereikt met een end-to-end-test, maar het is de vraag of je daar meer zekerheid mee bereikt dan met een meer specifieke test.

Dezelfde set Cucumber-bestanden kan een volledige stack testen, of slechts twee componenten. Dat is alleen afhankelijk van of de stappen in de bestanden een betekenisvolle invulling hebben voor het gewenste zekerheidsniveau.

[Meer info]

Selenium Tests, the Object Oriented Way

Corina Pip

Keynote: The Grand Challenge and Promise of Quantum Computing

Lieven Vandersypen

An Introduction to Systems and Service Monitoring with Prometheus

Julius Volz

In Search of the Perfect Cloud Native Developer Experience

Daniel Bryant

Continuous Delivery and the Theory of Constraints

Steve Smith

Keynote: Energy and Education Access for Remote Communities

Jaideep Bansal

GOTO Gathering

Sam Aaron