Casestudy: Automated testing grote drupal website migratie

Voor een klant hebben we een corporate website gemigreerd van Wordpress naar Drupal 8. Een voorwaarde was dat het uiterlijk en de werking van de website op Drupal hetzelfde bleef als in Wordpress.

Deze case is op basis van een Drupal wordpress migratie, maar deze tests gebruiken we ook voor een Drupal 7 naar Drupal 8 of 9 migratie

Omdat er in de periode dat de Wordpress-versie van de website online was een flink aantal pagina’s met per pagina wisselende inhoud aan waren gemaakt, zou het een flink karwei zijn om tijdens de Drupal migratie alle pagina’s na te lopen op gelijke weergave en de werking ervan te controleren. De kans was groot dat kleine issues over het hoofd werden gezien bij handmatige controle. Daarnaast was het in theorie mogelijk dat een fix voor een issue op plek A iets op plek B fout zou laten lopen. Meerdere malen de gehele website doorlopen was niet realistisch.

Zo werd besloten dat de klant eenmaal een steekproefsgewijze eindcontrole zou doen van een aantal pagina’s, en dat we daarnaast periodiek (tijdens de migratiewerkzaamheden) een aantal tools geautomatiseerd zouden laten draaien. Welke een vergelijking maakte tussen de ‘oude’ Wordpress-versie en de nieuwe Drupal-versie van de website. Per tool leverde dit een lijst met afwijkingen op welke als actiepunten werden genoteerd.

  1. Website URL’s vergelijken op HTTP response code
    Deze tool maakt van de Wordpress-versie een lijst van alle URL’s (pagina’s, afbeeldingen en redirects) en controleert, of deze ook in de nieuwe Drupal-versie bestaan en of de HTTP response code overeenkomt. Door ook te controleren of de HTTP response codes overeenkomen, kunnen we fouten in de website broncode afvangen. Deze tool produceert een lijst met afwijkende URL’s tussen de twee versies.
  2. Website pagina’s vergelijken op basis van screenshots
    Deze tool maakt op basis van de pagina’s uit tool 1 screenshots van alle pagina’s in de Wordpress website en dezelfde pagina’s in de Drupal website. Deze worden vervolgens geautomatiseerd met elkaar vergeleken, en wanneer er een afwijking in de weergave is wordt het afwijkende gedeelte gemarkeerd in een derde afbeelding. De tool rapporteert uiteindelijk een lijst met URL’s met daarbij steeds drie afbeeldingen die vervolgens door een ontwikkelaar als issue opgepakt kunnen worden.
  3. Automated function testing 
    Voor bijvoorbeeld de formulieren in de Wordpress website worden geautomatiseerde Selenium-tests geschreven welke het invullen van het formulier in een webbrowser simuleert en vervolgens controleert of er een e-mail uitgestuurd wordt en een specifieke melding aan de ‘bezoeker’ getoond wordt. Deze testscripts worden vervolgens op de Drupal website uitgevoerd om te controleren of de werking en het resultaat hetzelfde is. Daarbij worden ook uitzonderingssituaties getest zoals resultaat bij ongeldige e-mailadressen of het niet invullen van verplichte velden. Dit testen van functionaliteiten is tevens opgezet voor de zoekfunctie binnen de website zodat resultaten van verschillende zoek- en filteropdrachten geautomatiseerd getest konden worden.

Resultaat website migratie

Door deze tools periodiek te draaien terwijl de ontwikkelaars nog bezig zijn met de migratie houden we steeds een actueel overzicht van niet (correct) werkende pagina’s of kapotte functionaliteiten, waardoor we op het moment van overdracht ter test aan de klant er bijna zeker van konden zijn dat er nog maar minimale feedback terug zou komen, wat de klant uiteindelijk ook weer tijd scheelt.

Daarnaast worden deze automated testing tools nog steeds periodiek uitgevoerd om te testen of een nieuwe aanpassing in de website geen onverwachte gevolgen heeft voor andere onderdelen van de website.

Ook graag aan de slag met Automated testing?

Bij Groowup zijn we gespecialiseerd in automated testing en helpen je graag verder naar online én offline succes! Benieuwd hoe het jouw organisatie verder kan helpen met meer rust en controle bij de doorontwikkeling van je webste? Neem dan contact op of kom dan langs in onze digital agency in Breda



Automated testing websites

LET'S MEET

Get in touch with Jasper

Als digital agency uit Breda werken we samen met merken en organisaties die zoeken naar langdurige vooruitgang en strategische groei. Klanten die het belang van onderscheidend concept en high-end design beseffen. Pioniers die, zowel op korte als lange termijn, met innoverende en schaalbare digitale ontwikkeling bezig zijn. Let's groow.