Automatisk testning för att underlätta övergång till Svelte

Norconsult Digital står inför utmaningen att konvertera sina frontend-kodbaser från äldre JavaScript-bibliotek till ett modernt i Svelte.

Efter React, Angular och Vue.js så rankar nu Svelte som det fjärde mest använda JavaScript-ramverket, och är rankat det mest utvecklarvänliga (https://2021.stateofjs.com/en-US/libraries/front-end-frameworks). Däremot är det oss veterligen outforskat om och hur automatisk testning kan underlätta en övergång till Svelte från en äldre kodbas. Så detta exjobb handlar om att undersöka just det. 

Exjobbet kan utifrån intresse anpassas för att antingen undersöka metoder för Svelte-testning, att mer generellt undersöka automatisk testning som metod för att underlätta övergång till modernare ramverk, eller en kombination däremellan.

Det finns även en rad testverktyg som inte nämnts mycket akademiskt ännu, men som är populära i industrin (https://2021.stateofjs.com/en-US/libraries/testing). Ett sådant exempel är Playwright som snabbt kan kodgenerera tester, och i allmänhet finns gott stöd för automatiska tester i Svelte (Vitest, Testing Library, Storybook).

Det finns alltså flera perspektiv och vinklar på problemet och ett examensarbete skulle kunna belysa ett eller flera av dem. Till exempel:

  • Kan automatisk testning spara tid för utvecklare att med snabbhet och säkerhet (reliability) gå över till en modern tech stack med Svelte som bas?
  • Vilka metoder och coding best practices går att utvinna för att göra automatiska tester i just Svelte? Vilka hinder finns i så fall, och hur övervinns dessa?
  • Hur bör automatisk testning i Svelte genomföras för att hålla nere teknisk skuld och regressionsfel? Vad är då utmaningar, strategier och incitament för att hålla testerna underhållna?
  • Skulle testverktygen (hela eller delar av dem) kunna användas av andra än utvecklare (support, PO/PM/UX…). T.ex. för rapporter som visar hur långt övergången har gått, eller skriva egna test?

Intressanta tekniker: Svelte, Playwright, Vitest (Jest/Chai), Testing Library, Storybook, TypeScript, HTML, CSS, Tailwind

  • Kave Silverklippa

    Utvecklingsansvarig

  • Kontakta oss