Contract Testing: Ensuring Reliable Integrations with Isolated Tests : Support for teams to test in isolation

University essay from Mittuniversitetet/Institutionen för data- och elektroteknik (2023-)

Abstract: Mikrotjänstarkitektur är den senaste trenden inom mjukvaruutveckling som gör det möjligt att bygga komplexa system från mindre tjänster utformade för att vara självförsörjande och fokuserade på en specifik affärsfunktionalitet. Dessa kan utvecklas, testas, driftsättas och skalas oberoende av varandra, vilket gör att team kan vara mer autonoma och leverera värde till kunder snabbare. Bolagsverket är i processen att övergå till en arkitektur baserad på mikrotjänster men dess långa historia av omfattande end-to-end-tester som är komplexa att sätta upp, långsamma att köra och kräver mycket resurser gör det svårt att testa att integrationerna fortsätter att fungera efter att ändringar har införts. Contract testing underlättar denna verifiering. Studien implementerar Consumer-Driven förhållningssättet till tekniken med ramverken Pact och Spring Cloud Contract med syftet att undersöka hur integrationen mellan två tjänster som kommunicerar via ett REST API kan testas isolerat, samtidigt som man säkerställer att de kommer att fortsätta att interagera som förväntas när den faktiska integrationen testas. De kvantitativa och kvalitativa resultaten från fem semistrukturerade intervjuer visar att Bolagsverket i genomsnitt skulle kunna minska tiden det tar att leverera en funktion med 24 %, öka frekvensen av distribution med 42 % och minska infrastrukturkostnader med 52 %. Det här skulle göra det möjligt att ersätta end-to-end tester tidigt i utvecklingscykeln med kontraktstester och att ha en enda testmiljö med fullständiga integrationer innan driftsättning till produktion. Tekniken har emellertid vissa inneboende kostnader och garanterar i sig inte alla fördelar med en mikrotjänstarkitektur

  AT THIS PAGE YOU CAN DOWNLOAD THE WHOLE ESSAY. (follow the link to the next page)