Vissa saker går inte att fastställa genom att läsa kod. Om ett formulär skickas, om ett flöde slutförs, om en sida renderas – det kräver att applikationen körs och att något använder den.
Det är med webbläsartester som Coroid kontrollerar dem. Du hittar dem under Kvalitetskontroll → ditt projekt → Webbläsartester.
Scenarier
Ett scenario beskriver ett användarflöde på klarspråk: vad som ska göras och vad som ska vara sant efteråt.
Sign in as a standard user, open the billing page, and change the
plan from Free to Professional.
Expect: the confirmation dialog lists the new monthly price, and after
confirming, the plan shown in the header is Professional.Skriv förväntningar som observerbara resultat. ”Sidan fungerar” kan inte ge ett meningsfullt fel; ”sidhuvudet visar Professional” kan det.
Testmål och konton
Ett testmål är den miljö som ett scenario körs mot – vanligtvis en förhandsversion av ändringen som verifieras.
Testmål har sin egen konfiguration och sina egna testkonton. Testkonton är inloggningsuppgifter som finns för detta ändamål.
Att styra utifrån resultat
Resultat från webbläsartester kan ingå i en kvalitetsgrind precis som vilken annan kontroll som helst – blockerande eller rådgivande.
Rådgivande är rätt standard här under längre tid än på andra ställen. Webbläsartester är den mest instabila typen av kontroll i alla system: de är beroende av timing, nätverk och en aktiv miljö. Gör dem blockerande först när du har sett ett visst scenario vara stabilt under många körningar.
Så håller du dem användbara
- Få och viktiga. Tio scenarier som täcker kritiska flöden är bättre än hundra som täcker allt. Varje scenario kostar tid vid varje körning.
- Oberoende. Ett scenario som förutsätter att ett annat har körts först misslyckas på förvirrande sätt.
- Städa upp. Ett scenario som skapar data ska inte lämna kvar tillstånd som förstör nästa körning.
När ett scenario misslyckas
Kontrollera underlaget innan du granskar koden. Webbläsarkörningar fångar det som hände, och de vanligaste orsakerna är miljörelaterade – förhandsversionen var inte redo, en beroende tjänst låg nere eller ett konto var låst.
Ett verkligt fel går att återskapa. Ett intermittent fel gör det inte.