024.lv — veebihalduspaneelide automatiseeritud QA-platvorm
Praegu arendamisel. 024.lv automatiseerib serveri halduspaneeli testimise: läbib jaotised, tuvastab liidese- ja võrguprobleemid, talletab tulemused ning koostab HTML- ja JSON-aruanded.
024.lv ehk Berg Panel Tester loodi praktilise ja korduva vajaduse jaoks: pärast iga olulisemat muudatust tuleb mahukas serverite halduspaneel uuesti läbi kontrollida. Kümnete vaadete käsitsi läbimine võtab aega, seda on raske ühtemoodi korrata ning katkine link, JavaScripti viga või lõputult laadiv leht võib märkamata jääda. Platvorm muudab selle töö selgeks ja korratavaks kvaliteedikontrolli protsessiks.
Ülesanne
Testija pidi turvaliselt sisse logima, läbima paneeli põhimoodulid ja hindama enamat kui HTTP vastusekoodi. Kontroll peab näitama, mida operaator tegelikult näeb veebimajutuse, andmebaaside, e-posti, DNS-i ja võrgu, failide, süsteemitööriistade, SSH, turbe ning halduse vaadetes. Tulemus pidi sobima nii meeskonnale lugemiseks kui ka järgmise arendustsükli sisendiks.
Mis valmis
- Playwrighti brauseristsenaariumid autentimise ja automaatse sessiooni taastamisega.
- Navigatsiooni analüüs, mis leiab testimanifestist puuduvad uued paneelijaotised.
- Kümnetasemeline kontroll PHP- ja vealehtedele, tühjale sisule, navigatsioonile, pealkirjadele, jõudlusele, laadimisolekutele, JavaScriptile, võrgupäringutele ja juhtnuppudele.
- Kasutaja tegevusi matkiv kerimine, hover, otsinguvälja sisestus ja katkiste piltide tuvastamine.
- Semantilised kontrollid tabelitele, vormidele, olekutele, mõõdikutele, kuupäevadele, vahekaartidele, lehekülgjaotusele ja API vastustele.
- MySQL-is talletatavad testisessioonid, lehetulemused, leiud, konsooli- ja võrguvead.
- Filtrite ja graafikutega HTML-aruanne ning prioriteete ja parandamisjuhiseid sisaldav struktureeritud JSON.
Arhitektuur ja juhtimine
Testimise tuum on kirjutatud Pythonis ning brauseri automatiseerimiseks kasutatakse Playwrighti. Ajalugu hoitakse MySQL-is, aruanded valmivad Jinja2 ja Chart.js abil ning parooliga kaitstud PHP juhtpaneel võimaldab käivitada testi, jälgida selle edenemist ja avada varasemaid tulemusi. Käivitust saab piirata moodulirühma või prioriteedi järgi, kasutada headless-režiimis või suunata ainult uute jaotiste avastamisele.
Tulemus
Meeskond näeb ühes vaates testikatvust, kontrollitud lehtede olekut, probleemide raskusastmeid ja iga leiu täpset konteksti. Aruannete ajalugu teeb kvaliteedi muutuse nähtavaks ning aitab pärast uut paigaldust regressioonid kiiremini üles leida.
Projekt on aktiivses arenduses: põhiline testimis- ja aruandlusvoog on juba kasutusel, kuid stsenaariume ja semantilisi kontrolle täiendatakse koos halduspaneeliga.