Back to All Events

Lær at skrive lynhurtige End-to-End Tests

tortoise-crossing-51jSN55qbBL.jpg

 

Automatiserede end-to-end tests bliver ofte anset for et nødvendigt onde. Et eksempel er Selenium-baserede browser tests. Denne type tests har mange ulemper:

  • de tager lang tid at køre, 
  • de kræver kompliceret opsætning af eksterne services som fx database, webserver, servicebus, 3. parts services, etc
  • de er skrøbelige, idet de ofte melder ikke-reproducerbare fejl

Men det behøver ikke være sådan! I dette foredrag vil jeg fortælle om en måde at skrive automatiserede end-to-end tests, som er

  • lynhurtige
  • ikke kræver mere opsætning end unit tests
  • er lige så robuste som unit tests

Teknikken bygger oven på de eksisterende unit tests. Tests for lavere lag (for eksempel server kode) instrumenteres, så alle kald og returværdier gemmes i en log. Tests for højere lag (for eksempel klientkode) bliver udstyret med et mocking lag som automatisk konfigureres med de tidligere gemte kald og returværdier.

Kom og se eksempler på hvordan denne teknik kan implementeres, og se hvor mange end-to-end tests det er muligt at køre på et sekund!

Lars Thorup udvikler softwareprodukter, hovedsagelig med JavaScript og C#, og træner udviklingsgrupper i hurtig feedback gennem evolutionært design, testautomatisering og hyppig idriftsættelse. Lars stiftede BestBrains for 15 år siden, har arbejdet i USA de seneste 5 år og er netop vendt tilbage til Danmark. Lars blogger på http://www.zealake.com/blog og twitter i ny og næ som @larsthorup.