Consumer Driven Contract Testing – Wenn Software Verträge schließt

27. Mai 2021 Initiativen/Trends

Missverständnisse zwischen Menschen sind oft kaum bemerkbar, schwer auszuräumen und ziehen, je länger sie unaufgeklärt bleiben, immer gravierendere Konsequenzen nach sich. Genauso verhält es sich mit Kommunikationsproblemen zwischen Softwarekomponenten, zum Beispiel in Microservice-Architekturen, die – ganz im Sinne der Metapher – obendrein oft noch mit verschiedenen (Programmier-)Sprachen arbeiten. Um Missverständnisse zu reduzieren, haben wir Menschen uns angewöhnt, in wichtigen Angelegenheiten (wie Arbeitsverhältnissen, Versicherungen oder Ehen) schriftlich festzuhalten, was die Beteiligten voneinander erwarten. Wir schreiben die jeweiligen Verbindlichkeiten in einem Vertrag auf und versprechen mit unseren Unterschriften, dass wir uns an die Vertragsvorgaben halten werden. Contract Testing überträgt diese Idee in die Welt der Software-Tests, um Missverständnisse zwischen APIs und ihren Nutzern (Consumern) zu vermeiden. Details