
Playwright ali Cypress: hitrost ni edina cena nestabilnih testov

Če ekipa od začetka potrebuje vzporedno izvajanje in redno preverjanje v več brskalnikih, je Playwright smiselna začetna izbira. Cypress postane privlačnejši, kadar ekipi pregled zabeleženih odpovedi in zgodovine nestabilnih testov v Cypress Cloud prihrani dovolj dela, da upraviči uporabo ločene storitve. Izbira zato ni odvisna samo od trajanja testa, temveč tudi od časa za razlago napake in stroška izvajanja.
Pri istem neuspelem testu lahko krajše čakanje na rezultat pomeni malo, če ekipa nato dolgo išče vzrok odpovedi. Playwright ponuja sledi, ki jih mora ekipa povezati s svojim postopkom CI; Cypress Cloud zabeležene zagone združuje z diagnostiko in analitiko. Razlika med ogrodjem in oblačno storitvijo je pomembna tudi pri primerjavi stroškov.
Vzporednost skrajša izvajanje, ne pa nujno celotnega opravila
Playwright Test privzeto izvaja testne datoteke vzporedno v ločenih delovnih procesih, teste znotraj posamezne datoteke pa zaporedno. Število procesov je mogoče omejiti; vsak zažene svoj brskalnik. Vzporednost je torej del izvajalnika, njena korist pa je odvisna od zmogljivosti stroja in od tega, kako so testi razporejeni po datotekah.
Cypress lahko zabeležene testne datoteke porazdeli med opravila CI prek Cypress Cloud. Pri primerjavi je treba zato ločiti vzporedne procese na enem stroju od porazdelitve po več strojih. Dodatni izvajalci pomenijo tudi dodatno porabo infrastrukture, priprava aplikacije in najdaljša testna datoteka pa lahko še vedno določata čas do končnega rezultata.
Pomemben je tudi hladen zagon: čas za pripravo okolja, namestitev odvisnosti, zagon aplikacije in začetek prvega testa. Če ta del prevladuje, hitrejše izvajanje posameznih primerov celotno opravilo skrajša manj, kot nakazuje sama meritev testov. Vzporedni testi, ki uporabljajo iste račune ali skupno testno bazo, lahko poleg tega vplivajo drug na drugega; pri takšni zbirki je izolacija podatkov del ocene hitrosti in zanesljivosti.
Brskalniška pokritost vključuje tudi možnost preiskave napake

Playwright podpira Chromium, Firefox in WebKit ter lahko zažene tudi podprte različice brskalnikov Chrome in Edge. Brskalniške pakete je treba namestiti in ob posodobitvi ogrodja ustrezno posodobiti. Njegov WebKit ni brskalnik Safari z Applovo blagovno znamko; pri funkcijah, odvisnih od operacijskega sistema, se lahko razlikuje tudi okolje, v katerem testi tečejo.
Cypress podpira brskalnike družine Chrome in Firefox, njegova podpora za WebKit pa je eksperimentalna. Zahteva dodatno nastavitev in paket playwright-webkit, Test Replay pa zanjo ni podprt. Za ekipo, ki mora pred izdajo preverjati WebKit, je to omejitev pri preiskovanju odpovedi in ne le razlika v seznamu brskalnikov.
Širša matrika sama po sebi še ni prednost za vsako aplikacijo. Če je zahtevan le omejen nabor brskalnikov, vsak dodaten zagon podaljša opravilo in ustvari več rezultatov za pregled. Kjer so kritične uporabniške poti odvisne od več pogonov, pa je pomembno, ali je mogoče isti scenarij izvesti in neuspeh razložiti v vsakem zahtevanem okolju.
Pri nestabilnem testu šteje čas do vzroka
Playwrightov Trace Viewer omogoča pregled shranjene sledi po izvajanju, tudi pri napakah v CI. V njej so lahko dejanja, posnetki stanja strani ter dnevniki konzole in omrežja. Za uporabno diagnostiko mora ekipa določiti, kdaj se sled ustvari, in poskrbeti, da je artefakt neuspelega opravila dosegljiv osebi, ki napako preiskuje.
Cypressov lokalni pregled korakov pomaga med razvojem testa, zabeležen zagon v Cypress Cloud pa je uporaben pri odpovedi, ki je na razvijalčevem računalniku ni mogoče ponoviti. Test Replay in zgodovina rezultatov lahko pokažeta, kaj se je dogajalo v CI ter ali se neuspeh ponavlja. Ponovni poskus je pri tem signal: uspešen naslednji zagon ne pove sam od sebe, zakaj je prvi odpovedal.
Za pošteno primerjavo diagnostike je koristno opazovati isto vrsto odpovedi v obeh postopkih. Pri pogojnem primeru zakasnjenega odgovora aplikacije je vprašanje, kako hitro je mogoče ločiti omrežno težavo od napačnega izbirnika ali neustreznega stanja podatkov. Merilo je čas od neuspelega opravila do razumljive razlage, ne zgolj to, kako prijeten je pregledovalnik rezultatov.
Cypress Cloud in lastni CI imata različne stroške

Cypress Cloud meri porabo po zabeleženih rezultatih testov: šteje opravljen ali neuspešen test v zabeleženem zagonu, čakajočega ali preskočenega pa ne. S storitvijo so povezani Test Replay, upravljanje nestabilnih testov, analitika in usklajevanje vzporednih opravil. Paketi vključujejo različne količine rezultatov, pravila za dodatno porabo pa so odvisna od paketa.
Izvajanje testov v Cypressu samo po sebi zato še ne pomeni obračunane uporabe oblaka. Za ekipo je odločilno, katere zagone beleži in katere funkcije dejansko potrebuje. Pogostejši zabeleženi zagoni in preverjanje v več brskalnikih lahko povečajo porabo tudi pri nespremenjeni zbirki. Če paket ne dopušča dodatne porabe, se po izčrpanju vključenih rezultatov snemanje nadaljuje, vzporedno usklajevanje pa se izklopi in novi rezultati niso vidni na nadzorni plošči do nadgradnje ali novega obračunskega obdobja.
Playwrightovi delovni procesi in sledi nimajo naročnine na Cypress Cloud, vendar potrebujejo izvajalce CI, prostor za artefakte ter ureditev dostopa do njih. Pri več vzporednih opravilih raste predvsem poraba računalniških zmogljivosti. Primerjava stroškov mora zato zajeti uporabo oblaka na eni strani ter infrastrukturo, hrambo in vzdrževanje lastnega postopka na drugi.
Odločitev z isto testno zbirko
Najbolj uporabna primerjava izhaja iz enakih uporabniških poti na isti različici aplikacije in s primerljivo pripravljenimi podatki. Ločeno je smiselno izmeriti hladen zagon do prvega rezultata, celoten čas opravila brez dodatne vzporednosti in celoten čas pri primerljivi razpoložljivi infrastrukturi. Tako se pokaže, koliko časa porabita priprava in izvajanje ter kje nadaljnje dodajanje procesov ali strojev ne skrajša več čakanja.
Ob času izvajanja spadata v primerjavo še poraba CI, prvotni neuspehi, uspeh po ponovnem poskusu in čas za razlago napake. Če je vključen Cypress Cloud, je treba posebej upoštevati količino zabeleženih rezultatov; pri Playwrightu pa obseg shranjenih sledi in delo z njimi. Priročna izbira je Playwright, ko prevladajo vzporednost v ogrodju, zahtevani brskalniški pogoni in nadzor nad lastnimi artefakti. Cypress je lahko vrednejši za ekipo, ki ji skupna zgodovina zagonov in diagnostika v oblaku občutno skrajšata preiskovanje nestabilnih testov.
Preberite tudi:
Sorodni članki


Fleuret je zbral 4 milijone evrov za neprekinjene vdorne teste

Firefox ali Brave: hitrejše nalaganje ima drugačen model zasebnosti

Lažno varnostno opozorilo je lahko le dovoljenje brskalnika

Prevision je zbral 5,4 milijona $: klinična pot je dražja od samega testa

Trda meja porabe ustavi agenta, opozorilo po računu pa je prepozno
Naročite se na naše e-novice
Najnovejše novice o Web3, UI in kriptovalutah neposredno v vaš e-poštni predal.