QualiBooth

development

Automatizált akadálymentességi tesztelés CI/CD-ben

Told balra az akadálymentességet: futtass automatikus WCAG-ellenőrzéseket minden pull requesten, állíts be build-kapukat és küszöböket a CI/CD-ben.

15 min read QualiBooth
CI/CD-folyamat automatikus akadálymentességi kapuval, amely minden pull requestet ellenőriz, mielőtt a main ágba olvadna.

A legolcsóbb akadálymentességi hiba az, amelyik soha nem jut el a main ágadig. Mire egy időszakos audit felszínre hoz egy hiányzó űrlapcímkét vagy egy elromlott fókuszsorrendet, a hibás kód már kiszállításra került, három másik funkció épült rá, és valószínűleg már frusztrált egy valódi felhasználót. A javítás nehezebb, a regresszió kockázata nagyobb, és a költség — mérnöki időben és bizalomban egyaránt — megsokszorozódott.

Az automatizált akadálymentességi tesztelés CI/CD-ben megfordítja ezt a gazdaságosságot. Ahelyett, hogy hetekkel vagy hónapokkal később fedeznéd fel a problémákat, az automatizálhatókat abban a pillanatban kapod el, amikor bevezetik őket, pontosan azon a pull requesten, amely behozza őket. Ez a cikk gyakorlati útmutató mérnöki csapatoknak: hogyan told balra az akadálymentességet, hová helyezd az ellenőrzéseket a folyamatban, hogyan kapuzd a buildeket anélkül, hogy zajba temetnéd a fejlesztőket, hogyan integrálódj a főbb CI-rendszerekkel, és — döntő módon — hol ér véget az automatizálás, és hol kell átvennie a stafétát az emberi tesztelésnek.

Miért érdemes balra tolni az akadálymentességet

A „shift left” azt jelenti, hogy a minőségellenőrzéseket korábbra helyezzük a fejlesztési életciklusban, közelebb ahhoz a pillanathoz, amikor a kód megíródik. Az elv jól ismert a biztonság és a funkcionális tesztelés terén, és az akadálymentesség pontosan ugyanazon okokból profitál belőle.

Amikor az akadálymentességet késői szakaszú audittevékenységként kezelik, három dolog romlik el. Először is a hibák felhalmozódnak: egyetlen kiadáskori audit elkeserítő hátralékot termel, és a csapat ezt a szállítási nyomás ellenében mérlegeli — az akadálymentesség általában veszít. Másodszor elvész a kontextus; a fejlesztő, aki három sprinttel ezelőtt bevezetett egy címkézetlen ikongombot, továbbment, és a szándék rekonstruálása lassú. Harmadszor ugyanazok a problématípusok minden új funkcióval újra felbukkannak, mert a napi munkafolyamatban semmi sem akadályozza meg őket.

Az ellenőrzések CI/CD-be helyezése bezárja ezt a kört. A visszajelzés akkor érkezik, amikor a kód friss, és a szerző még benne van a kontextusban. A regressziókat blokkoljuk, mielőtt felhalmozódnának. És az akadálymentesség normális, automatizált minőségi kapuvá válik — mint az egységtesztek, a típusellenőrzés és a linting —, nem pedig különleges eseménnyé, amely másokkal történik. Ha a tágabb képet szeretnéd látni arról, hová illeszkednek ezek az ellenőrzések, a szoftverfejlesztési életciklusban való akadálymentességről szóló áttekintésünk minden fázist feltérképez a tervezéstől a kiadásig.

Itt számít a tiszta elvárás is. A balra tolás nem azt jelenti, hogy mindent balra tolunk. Az automatizálás a WCAG 2.2 megfelelőség egy konkrét, értékes szeletét kezeli. A többi továbbra is embereket igényel. Részletesen visszatérünk erre a határra.

Ellenőrzések minden pull requesten

A legnagyobb tőkeáttételű hely az akadálymentességi ellenőrzések futtatására a pull request. Itt a bírálók amúgy is néznek, itt a diff kicsi és átnézhető, és itt a blokkolás társadalmilag elfogadható, mert senki sem várja el, hogy egy befejezetlen ág tökéletes legyen.

Egy jó PR-szintű beállításnak három tulajdonsága van:

  • Gyors. A PR-ellenőrzések versengenek a fejlesztő figyelmével. Korlátozd a hatókörüket arra, ami megváltozott — a diff által érintett oldalakra vagy komponensekre —, ahelyett, hogy minden pushnál végigjárnád az egész webhelyet. A teljes webhely végigjárása ütemtervbe való, nem minden commitba.
  • Beágyazott. A megállapításoknak ott kell megjelenniük, ahol a fejlesztő dolgozik: a PR-en lévő megjegyzésként, a megváltozott fájlon lévő jelölésként, vagy egy állapotellenőrzésként, amely linkel a részletekhez. Egy CI-naplóba temetett eredmény, amelyet senki sem nyit meg, olyan eredmény, amely alapján senki sem cselekszik.
  • Cselekvésre alkalmas. Minden megállapításnak szüksége van a megsértett szabályra, a megtalált elemre, a hozzá tartozó WCAG sikerkritériumra és ideális esetben egy javítási tippre. „axe-core button-name szabály: ennek a <button> elemnek nincs akadálymentes neve” hasznos; az „akadálymentességi hiba” nem.

A QualiBooth szkennere pontosan ebben az üzemmódban való futásra épült — a folyamatodból CLI-n vagy API-n keresztül meghívva, a megállapításokat visszajelentve a pull requestre, és nyomon követve azokat irányítópultokon, hogy a csapat lássa, ahogy az akadálymentességi adósság az idő múlásával csökken. Ennek különböző platformokon való beállításának mechanikáját a CI/CD akadálymentességi integráció szolgáltatásunk tárgyalja.

Build-kapuk és küszöbök

A megállapítások jelentése szükséges, de nem elegendő. Egy jelentés, amely semmit sem blokkol, határidős nyomás alatt figyelmen kívül marad. Egy kapu — egy ellenőrzés, amely megbuktathatja a buildet — az, ami fogat ad az akadálymentességnek a folyamatban. A művészet abban rejlik, hogy mire kapuzzunk.

A naiv megközelítés az, hogy bármilyen akadálymentességi szabálysértésnél megbuktatjuk a buildet. Egy zöldmezős projektnél ez működhet. Egy meglévő kódbázisban, ismert problémák hátralékával, ez katasztrófa: a legelső futás megbukik, minden build örökre megbukik, és a csapat egy napon belül kikapcsolja az ellenőrzést. A kaput kalibrálni kell.

Egy működőképes küszöbstratégia így néz ki:

  • Csak új, súlyos regressziókra kapuzz. Hasonlítsd össze az aktuális szkennelést egy alapvonallal (a következő szakaszban tárgyaljuk). Buktasd meg a buildet, amikor a diff új szabálysértéseket vezet be egy általad választott súlyossági szinten vagy afölött — például kritikus és súlyos —, és hagyd átmenni az alacsonyabb súlyosságú vagy már meglévő problémákat figyelmeztetésként.
  • Különböztesd meg a súlyosságokat. Nem minden szabálysértés egyenlő. Egy teljes billentyűzetcsapda kemény buktatást érdemel; egy apró bevált gyakorlati tanács lehet tájékoztató jellegű. Képezd le a szabályok hatásszintjeit a kapu viselkedésére, hogy a kapu a valódi felhasználói kárt tükrözze.
  • Engedélyezz szűk körű kivételeket, szándékosan. Néha egy ismert problémát nyomon követnek és ütemeznek. Támogass egy explicit, áttekinthető elnyomási mechanizmust — jelölt és időkorlátos —, ahelyett, hogy a fejlesztők egyben kikapcsolhatnák az egész ellenőrzést.

A cél egy kapu, amelyben a csapat megbízik. A jó okból megbukó kaput tisztelik; a zaj miatt megbukó kaput kikerülik. A küszöbök kódbázisodhoz való hangolása a bizalom építésének része, és a akadálymentességi folyamatfejlesztés alapvető része.

A meglévő problémák alapvonalazása

Szinte egyetlen valós kódbázis sem nulla akadálymentességi hibával indul. A gyakorlati kérdés nem az, hogy „hogyan ne legyenek problémáink?”, hanem az, hogy „hogyan hagyjuk abba az újak hozzáadását, miközben törlesztjük a régieket?” Az alapvonalazás a válasz.

Az alapvonal egy rögzített pillanatkép azokról az akadálymentességi problémákról, amelyek már léteznek, amikor bekapcsolod a kaput. Minden ezt követő szkennelést ehhez hasonlítanak. A kapu arra bukik meg, ami új az alapvonalhoz képest; a meglévő hátralékot elismerik, de nem blokkolja a buildeket. Ez lehetővé teszi, hogy a kényszerítést azonnal bekapcsold a fejlesztés leállítása nélkül.

Néhány gyakorlat egészségesen tartja az alapvonalakat:

  • Tedd az alapvonalat nyomon követett artefaktummá. Commitold a tárolóba, vagy tárold az akadálymentességi platformodon, hogy a változásai láthatóak és áttekinthetőek legyenek, ne csendben történjenek.
  • Hagyd csak zsugorodni. Az alapvonalnak lefelé kell csökkennie, ahogy a problémákat javítják, soha nem szabad növekednie, hogy új szabálysértéseket nyeljen el. Ha egy javítás eltávolít egy problémát, generáld újra az alapvonalat, hogy a probléma későbbi újbóli bevezetése megbuktassa a kaput.
  • Ütemezz szándékos törlesztést. Az alapvonalban rögzített hátralék nem tűnik el magától. Párosítsd a kaput egy tervvel a felszámolására — sprintallokáció, dedikált takarítási epic vagy ismétlődő auditütem. A ismétlődő akadálymentességi auditokról szóló magyarázatunk leírja, hogyan strukturáld ezt a folyamatos munkát.

Az alapvonalazás teszi a „kapcsold be a kaput még ma” gondolatot reálissá egy olyan csapat számára, amely már évek óta szállít.

Komponens- és Storybook-tesztelés

A renderelt oldalak elleni PR-ellenőrzések értékesek, de későn kapják el a problémákat — miután egy hibás komponenst már beépítettek egy oldalba. A komponensszintű tesztelés a forrásnál kapja el őket, mielőtt egyetlen akadálymentesnév-hiba negyven képernyőre terjedne.

Ha a csapatod komponensböngészőt használ, mint a Storybook, az ideális keretrendszer ehhez. Minden story elszigetelten rendereli a komponenst, a különböző állapotaiban, ami pontosan az, amire egy automatizált akadálymentességi motornak szüksége van: egy determinisztikus, fókuszált DOM az értékeléshez.

Egy tipikus komponensteszt-beállítás:

  • Futtass akadálymentességi ellenőrzést minden storyn. Az olyan eszközök, mint a Storybook a11y addon (axe-core-ra építve) minden storyt automatikusan szkennelhetnek, és ugyanazok az ellenőrzések fej nélküli módon futhatnak a CI-ben, így a komponensszabálysértések a folyamatot buktatják meg, nem csak a helyi felhasználói felületet.
  • Fedd le az állapotokat, ne csak az alapértelmezettet. Rendereld és teszteld a letiltott állapotot, a hibaállapotot, a betöltési állapotot, valamint a nyitott és zárt állapotokat. Az akadálymentességi hibák imádják a szélső állapotokat — egy programozott társítás nélküli hibaüzenetet, egy modális ablakot, amely nem fogja meg a fókuszt.
  • Javítsd egyszer, profitálj mindenhol. Egy helyesen felépített, tesztelt komponens újrafelhasználható garanciává válik. Minden oldal, amely használja, örökli a javítást. Ez a legnagyobb tőkeáttételű hely a befektetésre, és természetesen párosul a tágabb akadálymentességi eszközkészlettel és akadálymentességi szkennelő szoftverrel, amelyet a csapatod már futtat.

A komponenstesztelés nem helyettesíti az oldalszintű tesztelést — az összeállítás olyan problémákat hoz be, amelyeket egyetlen elszigetelt komponens sem tud felfedni, mint a duplikált landmark-régiók vagy egy elromlott általános címsorvázlat —, de drámaian csökkenti, hány hiba jut el valaha is az oldalra.

Integráció a CI-rendszereddel

Az integrációs minta minden platformon ugyanaz: telepítsd vagy hívd meg a szkennert, futtasd a cél ellen (egy URL, egy felépített artefaktum vagy komponens-storyk), és fordítsd le a kilépési kódját és jelentését a folyamat pass/fail státuszává és egy fejlesztők számára látható artefaktummá. Mivel a QualiBooth CLI-n és API-n keresztül integrálódik, gyakorlatilag bármilyen rendszerbe illeszkedik. Íme, hogyan különböznek a főbbek a gyakorlatban.

GitHub Actions

A leggyakoribb beállítás. Adj hozzá egy pull_request eseményre indított munkafolyamatot, indítsd el az alkalmazásodat (vagy telepíts egy előnézetet), futtasd ellene az akadálymentességi CLI-t, és tedd közzé az eredményeket check runként vagy PR-megjegyzésként. A GitHub Actions egyszerűvé teszi a beágyazott jelöléseket és a kötelező állapotellenőrzéseket, így egy megbukó akadálymentességi kapu blokkolhatja az összeolvadást branch protection szabályokon keresztül. A böngészőbinárisok és függőségek gyorsítótárazása gyorsan tartja a feladatot.

GitLab CI

Definiálj egy accessibility feladatot a .gitlab-ci.yml-ben, jellemzően egy dedikált szakaszban a build után. A GitLab megjelenítheti az eredményeket a merge request widgetjében, és a JSON-jelentést feladat-artefaktumként tárolhatod letöltésre és trendkövetésre. A merge request jóváhagyási szabályok lehetővé teszik, hogy blokkolóvá tedd a kaput.

Jenkins

Egy Jenkinsfile-ban adj hozzá egy szakaszt, amely futtatja a szkennert és archiválja a jelentést. A Jenkins gyakori a vállalati és helyszíni környezetekben, ahol fontos, hogy mindent a tűzfal mögött lehessen futtatni. Használd a megfelelő publisher plugint az eredmények megjelenítéséhez, és buktasd meg a szakaszt nem nulla kilépési kódnál a build blokkolásához.

CircleCI

Adj hozzá egy feladatot a .circleci/config.yml-hez, használj egy végrehajtót elérhető böngészővel, és tárold a jelentést a store_artifacts paranccsal. A CircleCI munkafolyamatai lehetővé teszik, hogy az akadálymentességi feladatot párhuzamosan futtasd más ellenőrzésekkel, így nem hosszabbítja meg a teljes folyamatidőt, és megkövetelheted, hogy átmenjen, mielőtt egy telepítési feladat fut.

Azure DevOps

Adj hozzá egy feladatot a YAML-folyamatodhoz, amely futtatja a CLI-t, majd tedd közzé a jelentést a publish-artifacts feladattal. Az Azure DevOps ág-házirendjei megkövetelhetik, hogy az akadálymentességi ellenőrzés átmenjen, mielőtt egy pull request befejeződhet, ugyanazt a kemény kaput adva neked, mint a többi platform.

Bármelyik rendszert használod, a megfelelő hatókörstratégia konzisztens: gyors, módosítási hatókörű szkennelések a pull requesteken; teljesebb végigjárás éjszakai vagy kiadás előtti ütemterven. Segítünk a csapatoknak elejétől a végéig bekötni ezt a CI/CD akadálymentességi integráció részeként, és tanácsot adunk a platformcsapatoknak, akik inkább maguk valósítanák meg.

A téves pozitívok csökkentése

Semmi sem rombolja gyorsabban egy csapat bizalmát egy akadálymentességi kapuban, mint a téves pozitívok. Ha az ellenőrzés nem problémákat jelöl meg, a fejlesztők megtanulják figyelmen kívül hagyni, teljesen elnyomni vagy kikerülni — és a kapu színházzá válik. A jel magasan tartása nem opcionális; ez az, ami az egész erőfeszítést tartóssá teszi.

Az automatizált motorok tervezésükből adódóan óvatosak, és néha olyan dolgokat jelentenek, amelyek kontextusban nem valódi hibák. A zaj gyakori forrásai:

  • Rejtett vagy még nem renderelt tartalom. Egy zárt menü vagy egy lustán betöltött szakasz mögötti elemek kontextuson kívül kerülhetnek megjelölésre. Szkenneld a ténylegesen renderelt, interakcióba lépett állapotokat.
  • Egyedi komponensek, amelyeket a motor félreolvas. Egy helyesen megvalósított egyedi vezérlő megfelelő ARIA-val mégis kiválthat egy általános szabályt. Ezek áttekintett, dokumentált kivételt érdemelnek — nem teljes kikapcsolást.
  • Dinamikus időzítés. A szkennelés azelőtt, hogy az alkalmazás hidratálódna, fantomhibákat produkál. Várj egy stabil állapotra az értékelés előtt.
  • Harmadik felek beágyazásai. Egy általad nem felügyelt iframe-en belüli problémákat külön kell nyomon követni, hogy a kapud a te minőségedet mérje.

A gyakorlati védekezés a szabálykészlet a stackedhez hangolása, az elnyomások szűkre és áttekinthetőre szabása, a reális állapotok szkennelése és a kapuzás csak azokra a súlyosságokra, amelyek valódi felhasználói kárt képviselnek. Ennek a kalibrációnak a helyes beállítása egy adott kódbázisra pontosan az a fajta munka, amelyet az akadálymentességi tanácsadásunk lefed.

Az őszinte határ: az automatizálás a WCAG-nak csak egy részét fogja el

Íme a határ, amelyet minden mérnöki csapatnak internalizálnia kell, és amelyet mi soha nem fogunk elmosni: az automatizált tesztelés megbízhatóan csak körülbelül a WCAG sikerkritériumok 30–40%-át észleli. A maradék 60–70% emberi ítéletet igényel, és semennyi folyamatmérnöki munka nem változtat ezen.

Az ok strukturális. Az automatizálás kiváló a gépileg ellenőrizhető tényekben: van-e alt szöveg ezen a képen? Megfelel-e ez a szöveg a kontrasztaránynak? Van-e ennek az űrlapmezőnek programozott címkéje? Jelen van-e a címsor-jelölés? Ezek valódi, fontos ellenőrzések, és automatikus elkapásuk minden PR-en valóban értékes.

De rengeteg WCAG-követelmény szemantikus és élményalapú, és egy gép nem tudja értékelni őket:

  • Jelentésteljes-e az alt szöveg, vagy "image123.jpg"? Egy szkenner megerősíti, hogy az alt szöveg létezik; csak egy ember tudja megítélni, hogy a helyes információt közvetíti-e.
  • Van-e értelme a fókuszsorrendnek valakinek, aki billentyűzettel navigál, vagy technikailag jelen van, de logikátlan?
  • Valóban használható-e az oldal képernyőolvasóval, elejétől a végéig, egy valódi feladat elvégzéséhez?
  • Segítenek-e a hibaüzenetek egy összezavarodott felhasználónak helyreállni, vagy csak helyesen vannak társítva a jelölésben?
  • Érthető-e a tartalom, világos-e a nyelv, kiszámítható-e az interakció?

Ezek az emberi élményről szóló kérdések, és emberi tesztelés válaszol rájuk — ideális esetben fogyatékossággal élő emberek által végzett auditok, akik naponta használnak segítő technológiát, és olyan problémákat hoznak felszínre, amelyeket semmilyen automatizált eszköz és semmilyen látó fejlesztő soha nem venne észre. Egy alapos manuális akadálymentességi audit marad a valódi megfelelőség alapja.

A helyes mentális modell tehát rétegzett, nem vagy/vagy:

  1. A CI/CD-automatizálás megakadályozza, hogy a gépileg ellenőrizhető problémák valaha is kiszállításra kerüljenek, és véd a regresszió ellen — folyamatosan, olcsón, minden változásnál.
  2. A manuális és segítő technológiás tesztelés lefedi a WCAG élményalapú többségét, amelyet az automatizálás nem érhet el.
  3. Az ismétlődő auditok újraellenőrzik a teljes képet, ahogy a termék fejlődik, mert a megfelelőség mozgó célpont, nem egyszeri tanúsítvány.

Ez a rétegzettség az is, amit a valós szabályozási rendszerek elvárnak. Akár a European Accessibility Act, akár az ADA, akár a Section 508 miatt áll fenn a kötelezettséged, a megfelelőséget a teljes szabvány ellen mérik — nem az ellen a szelet ellen, amelyet egy szkenner véletlenül lefed. Egy zöld folyamat szükséges, nem elegendő.

Még egy dolog, amiről egyértelműnek kell lenni: az akadálymentességi átfedések — a JavaScript-widgetek, amelyek azonnali megfelelőséget ígérnek — nem helyettesítik a fenti rétegek egyikét sem, és a QualiBooth nem támogatja őket. Nem javítják a mögöttes kódot, gyakran zavarják pontosan azokat a segítő technológiákat, amelyekre a felhasználók támaszkodnak, és semmit sem tesznek a legfontosabb élményalapú kritériumokért. A valódi akadálymentesség abból fakad, hogy beépítjük a termékbe, ami pontosan az, amit a CI/CD-integráció plusz az emberi tesztelés nyújt.

Összerakjuk

Egy érett akadálymentességi folyamat nem egyetlen eszköz vagy egyetlen szabály — hanem rétegek halmaza, amelyek mindegyike azt teszi, amiben jó:

  • A komponensszintű ellenőrzések (pl. a Storybookban) a forrásnál kapják el a hibákat.
  • A PR-szintű ellenőrzések gyors, beágyazott, cselekvésre alkalmas visszajelzést adnak minden változásról, a diffre korlátozva.
  • A build-kapuk alapvonalakkal blokkolják az új súlyos regressziókat anélkül, hogy leállítanák a régebbi problémákon végzett munkát.
  • Az ütemezett teljes végigjárások elkapják az összeállítási szintű problémákat, és nyomon követik a teljes kódbázist az idő múlásával.
  • A trend-irányítópultok a nyers CI-kimenetet az adósság és a haladás világos képévé alakítják.
  • Az emberi auditok lefedik a WCAG 60–70%-át, amelyet az automatizálás strukturálisan nem tud.

Kezdd kicsiben. Adj hozzá egyetlen PR-ellenőrzést a legfontosabb oldalakra vagy komponensekre, alapvonalazd a meglévő problémákat, hogy a kapu az első naptól zöld legyen, és onnan fokozatosan bővíts. A cél egy munkafolyamat, ahol az akadálymentességi regressziókat ugyanolyan nehéz összeolvasztani, mint a megbukó egységteszteket, és ahol az automatizálás által el nem kapható problémákat azokhoz az emberekhez irányítják, akik képesek rá.

Ha segítségre van szükséged ennek a folyamatnak a megtervezésében vagy megvalósításában, a CI/CD akadálymentességi integráció szolgáltatásunk pontosan ezt teszi — és a mögötte álló szkennelőmotort megnézheted egy ingyenes szkennelésben vagy egy élő demóban.

Gyakran ismételt kérdések

Az automatizált akadálymentességi tesztelés helyettesíti a manuális auditokat?

Nem, és bármely szállító, aki az ellenkezőjét állítja, félrevezet téged. Az automatizált ellenőrzések megbízhatóan csak körülbelül a WCAG sikerkritériumok 30–40%-át kapják el — a gépileg ellenőrizhetőket. Az élményalapú többség, mint hogy az alt szöveg jelentésteljes-e, vagy hogy egy képernyőolvasó-felhasználó el tud-e végezni egy feladatot, emberi tesztelést igényel. A CI/CD-automatizálás megakadályozza a regressziókat és korán elkapja a könnyű problémákat; önmagában nem tanúsítja a megfelelőséget.

Nem lassítják le az akadálymentességi ellenőrzések a buildjeinket?

Nem, ha helyesen vannak behatárolva. Futtass gyors, módosítási hatókörű szkenneléseket a pull requesteken, és a teljes webhely-végigjárásokat tartsd fenn éjszakai vagy kiadás előtti ütemtervre. Az akadálymentességi feladatok párhuzamosan is futhatnak a többi CI-ellenőrzéseddel, így keveset adnak a teljes folyamatidőhöz. A böngészőbinárisok és függőségek gyorsítótárazása alacsonyan tartja a futásonkénti költséget.

Hogyan kerüljük el, hogy a kapu megbukjon a meglévő hátralékunkon?

Alapvonalazd. Rögzíts egy pillanatképet azokról a problémákról, amelyek léteznek, amikor bekapcsolod a kaput, és konfiguráld a kaput úgy, hogy csak az új szabálysértésekre bukjon meg ehhez az alapvonalhoz képest. A meglévő hátralékodat elismerik és nyomon követik, de nem blokkolja a buildeket, így azonnal bekapcsolhatod a kényszerítést, és a hátralékot szándékos ütemterv szerint törlesztheted.

Mely CI-rendszerekkel integrálható ez?

A gyakoriakkal — GitHub Actions, GitLab CI, Jenkins, CircleCI és Azure DevOps — és gyakorlatilag bármely mással, mert a QualiBooth CLI-n és API-n keresztül integrálódik. A minta mindenhol ugyanaz: futtasd a szkennert, fordítsd le a kilépési kódját pass/fail-re, és jelenítsd meg a jelentést ott, ahol a fejlesztők látni fogják.

Hol kezdjük?

Adj hozzá egy PR-szintű ellenőrzést a legnagyobb forgalmú oldalaidra vagy a megosztott komponenskönyvtáradra, alapvonalazd a jelenlegi problémákat, kapuzz csak az új súlyos regressziókra, és onnan bővíts. A kezdetektől párosítsd egy manuális tesztelési tervvel, mert az automatizálás a szabványnak csak egy részét fedi le. Ha nem szeretnéd egyedül felépíteni, beszélj egy szakértővel a folyamatodba való megvalósításáról, vagy hasonlítsd össze a lehetőségeket az árazási oldalunkon.

Építsd be az akadálymentességet a folyamatodba