Nästa generations testsystem för WordPress

Publicerad: 11.7.2019 Uppdaterad: 3.7.2019

En del av vår premium webbhotellstjänst med drift och förvaltning för WordPress är tester och uppdatering av våra kunders webbplatser med avseende på fel och andra inskränkningar i funktionaliteten. Testningen görs med hjälp av vårt eget kommando wp-test som även är tillgängligt för våra kunder via SSH och som nyligen uppdaterats till att vara byggd på en ny generation av verktyg jämfört med tidigare.

Det gamla testintegrationssystemet wp-test som vi byggt har använts sedan 2015 och bygger på webbläsaren PhantomJS och Rubys Rspec-tester. Under det senaste året har testsystemet nått sin slutstation, eftersom PhantomJS webkit inte längre ingår i webbläsaren Google Chrome. Detta ledde till att testerna (i synnerhet JavaScript-funktionaliteten) kommit att avvika mer och mer från den faktiska användarupplevelsen, varför vi blivit tvungna att bygga om vårt provningssystem.

Vårt helt nya testintegrationssystem av nästa generation bygger på tekniken headless Chrome, vilket innebär att en riktig Chrome-webbläsare körs på servern. Detta görs givetvis utan att någon grafisk utmatning sker, eftersom våra servrar inte är kopplade till bildskärmar. Denna nya teknik gör att vårt provningssystem kan få en bild av hur webbplatsen ser ut, som är nästan identisk med vad en vanlig besökare ser när de öppnar webbplatsen i sin Chrome-webbläsare. Vi tackar alla våra kunder som har provat det nya verktyget ända sedan vi presenterade det i Seravos nyhetsbrev för utvecklare.

Samtidigt passade vi på att genomföra ganska stora förändringar i vårt system och hur det fungerar. Bland annat har vi tagit bort katalogen tests som fanns under sökvägen /data/wordpress/. Nu behövs den katalogen enbart för specialbyggda tester för just den specifika webbplatsen. Det innebär att vår centraliserade infrastruktur för provning inte längre på något sätt stör det versionskontrollerade innehållet för våra kunder, något som gör det enklare än någonsin för utvecklare att arbeta med webbplatserna i vår WordPress-miljö. Den enda testkoden som finns inom kundens git-projekt kommer från och med nu att vara webbplatsens unika testkodning, som utvecklats av kunden själv eller av Seravo som en del av våra konsulttjänster.

En annan viktig förändring är att testerna nu skrivs utan användning av det tidigare systemets Ruby-kod och utan biblioteken Rspec och Capybara. Vår erfarenhet visar att kunderna sällan använde dessa. Därför har vi ändrat till PHP och biblioteket Codeception i vårt nya provningssystem. Där ingår några ändringar som vi gjort här på Seravo för att göra dem enklare och effektivare för WordPress-webbplatser. På det stora hela tror vi att denna lösning är långt mer lockande för utvecklarna att använda. Codeception är ett bibliotek med öppen källkod som används för testning av webbplatser och programkod oftare än Capybara. Den mer spridda användningen innebär att det finns mer dokumentation, vägledning och support på nätet, något som utvecklare kommer att uppskatta.

Den nästa generationens testsystem har nu använts på prov under lång tid. Den omfattande provperioden behövdes, eftersom testerna teoretiskt skulle kunna ge ett unikt svar för varje webbplats på grund av någon skillnad i den underliggande koden.

Vill ni lära er mer om hur ni kan skriva egna tester så hittar ni mer information i vår utvecklar dokumentation. Och har ni ett äldre versionshanterat projekt som använder vårt gamla test system så kan ni ta bort detta utan problem, t.ex. kan ni se hur detgjordes i detta publika projektet Linux-tuki.fi på GitHub.

De av våra kunder som inte är utvecklare och inte vill befatta sig med sina testsystem behöver inte oroa sig, det krävs ingen ändring från er sida utan webbplatserna kommer fungera som tidigare.

Testning av WordPress-webbplatser är en del av vår uppdateringsprocess, och detta nya testsystem höjer prestandan rejält i vårt system för uppdateringar. Under den närmaste tiden kommer det fler förändringar i vårt system för uppdateringar. Håll kolla på våra sociala kanaler och blogg för att hålla er informerade om våra senaste nyheter och uppdateringar!

Kommentera

Otto Kekäläinen

Verkställande direktör otto@seravo.se @ottokekalainen

Sök Seravo.se

Mer läsning

Ny plattform för kundsupport

22.10.2019

Vi har bytt plattformen vi använder som backend för kundsupport. För dig som kund kommer nästan ingenting att förändras: dina […]

Optimera bilder för snabbare sidladdning

8.10.2019

När man surfar på nätet är varje sekund viktig. En enda sekund extra tid för att hämta en webbsida kan […]

Prova Seravo kostnadsfritt

1.10.2019

En tredjedel av alla webbplatser i världen använder WordPress enligt W3Techs. Enkelheten med WordPress lockar ständigt nya användare, som tyvärr […]