Voor de Nederlandse Bibliotheken ontwikkelt en beheert AMEXIO verschillende digitale platforms met meerdere huisstijlen. Binnen deze huisstijlen worden regelmatig wijzigingen doorgevoerd. Om te voorkomen dat visuele regressies optreden bij nieuwe releases, worden momenteel nachtelijke visuele regressietesten uitgevoerd met BackstopJS. Deze tool vergelijkt screenshots van webpagina’s met referentiebeelden om visuele verschillen te detecteren. Hoewel deze aanpak waardevol is gebleken, kent de huidige oplossing een aantal beperkingen:
Daarnaast richt de huidige aanpak zich voornamelijk op pixelverschillen tussen screenshots. Andere aspecten van visuele kwaliteit, zoals toegankelijkheid (bijvoorbeeld contrastwaarden volgens WCAG-richtlijnen), worden nog niet automatisch getest.
Tegelijkertijd zijn er tegenwoordig verschillende nieuwe oplossingen beschikbaar voor visuele regressietesten. Deze variëren van open-source frameworks tot commerciële SaaS-oplossingen met geavanceerde functionaliteit zoals AI-ondersteunde visuele vergelijking. Veel van deze oplossingen brengen echter ook nadelen met zich mee, zoals hoge kosten of afhankelijkheid van externe hosting van screenshots en testdata.
AMEXIO wil daarom onderzoeken hoe visuele regressietesten op een moderne, duurzame en kostenefficiënte manier kunnen worden ingericht.
Het doel van deze opdracht is om te onderzoeken welke moderne tools en technieken geschikt zijn voor visuele regressietesten, en om op basis van dit onderzoek een prototype te ontwikkelen van een mogelijke oplossing. Je gaat onderzoeken hoe een moderne oplossing voor visuele regressietesten kan worden opgezet die:
Op basis van dit onderzoek ga je een prototype ontwerpen en implementeren dat laat zien hoe visuele regressietesten binnen de organisatie kunnen worden uitgevoerd.
De student krijgt ruimte om zelf geschikte tools te onderzoeken. Mogelijke categorieën van tools zijn:
De uiteindelijke toolkeuze wordt onderbouwd in het onderzoeksrapport.
4e-jaars Software student
De opdracht vereist zowel onderzoeksvaardigheden als praktische softwareontwikkeling. De student moet onder andere:
Daarnaast moet de student de oplossing helder documenteren en presenteren aan stakeholders.