QualiBooth

development

Automaattinen saavutettavuustestaus CI/CD:ssä

Siirrä saavutettavuus vasemmalle: aja automaattiset WCAG-tarkistukset jokaisessa pull requestissa, aseta build-portit ja kynnysarvot CI/CD-putkeesi.

12 min read QualiBooth
CI/CD-putki, jossa automaattinen saavutettavuusportti tarkistaa jokaisen pull requestin ennen yhdistämistä main-haaraan.

Halvin saavutettavuusvirhe on se, joka ei koskaan päädy main-haaraasi. Siihen mennessä, kun määräaikainen auditointi paljastaa puuttuvan lomakekentän nimilapun tai rikkinäisen kohdistusjärjestyksen, ongelmallinen koodi on jo julkaistu, kolme muuta ominaisuutta on rakennettu sen päälle ja se on mahdollisesti jo turhauttanut oikean käyttäjän. Korjaus on vaikeampi, regression riski suurempi, ja kustannus — niin insinöörityönä kuin luottamuksena — on moninkertaistunut.

Automaattinen saavutettavuustestaus CI/CD:ssä kääntää tämän talouden päinvastaiseksi. Sen sijaan että löytäisit ongelmat viikkoja tai kuukausia myöhemmin, otat automatisoitavat ongelmat kiinni sillä hetkellä, kun ne syntyvät, juuri siinä pull requestissa, joka ne tuo. Tämä artikkeli on käytännön opas insinööritiimeille: kuinka siirtää saavutettavuus vasemmalle, mihin sijoittaa tarkistukset putkeen, kuinka portittaa buildit hukuttamatta kehittäjiä meluun, kuinka integroida tärkeimpiin CI-järjestelmiin ja — ratkaisevasti — missä automaatio loppuu ja ihmistestauksen on otettava ohjat.

Miksi saavutettavuus kannattaa siirtää vasemmalle

“Shift left” tarkoittaa laatutarkistusten siirtämistä aikaisemmaksi kehityskaarella, lähemmäs hetkeä, jolloin koodi kirjoitetaan. Periaate ymmärretään hyvin tietoturvan ja toiminnallisen testauksen osalta, ja saavutettavuus hyötyy siitä täsmälleen samoista syistä.

Kun saavutettavuutta käsitellään myöhäisen vaiheen auditointiaktiviteettina, kolme asiaa menee pieleen. Ensinnäkin viat kasautuvat: yksittäinen julkaisuvaiheen auditointi tuottaa lannistavan jononsa, ja tiimi priorisoi sen toimituspaineita vasten — saavutettavuus yleensä häviää. Toiseksi konteksti katoaa; kehittäjä, joka kolme sprinttiä sitten lisäsi nimeämättömän kuvakepainikkeen, on siirtynyt eteenpäin, ja tarkoituksen rekonstruointi on hidasta. Kolmanneksi samat ongelmaluokat ilmestyvät uudelleen jokaisen uuden ominaisuuden myötä, koska mikään päivittäisessä työnkulussa ei estä niitä.

Tarkistusten sijoittaminen CI/CD:hen sulkee tuon silmukan. Palaute saapuu, kun koodi on tuoretta ja tekijä on yhä kontekstissa. Regressiot estetään ennen kuin ne kasautuvat. Ja saavutettavuudesta tulee normaali, automaattinen laatuportti — kuten yksikkötesteistä, tyyppitarkistuksesta ja linttauksesta — eikä erityistapahtuma, joka sattuu muille. Jos haluat laajemman kuvan siitä, mihin nämä tarkistukset sopivat, yleiskatsauksemme saavutettavuudesta ohjelmistokehityksen elinkaaressa kartoittaa jokaisen vaiheen suunnittelusta julkaisuun.

Tässä myös selkeä odotus on tärkeä. Vasemmalle siirtäminen ei tarkoita kaiken siirtämistä vasemmalle. Automaatio hoitaa tietyn, arvokkaan siivun WCAG 2.2 -vaatimustenmukaisuudesta. Loput vaativat yhä ihmisiä. Palaamme tähän rajaan yksityiskohtaisesti.

Tarkistukset jokaisessa pull requestissa

Korkeimman vipuvaikutuksen paikka saavutettavuustarkistusten ajamiseen on pull request. Siellä arvioijat jo katsovat, siellä diff on pieni ja arvioitavissa, ja siellä estäminen on sosiaalisesti hyväksyttävää, koska kukaan ei odota keskeneräisen haaran olevan täydellinen.

Hyvällä PR-tason asetelmalla on kolme ominaisuutta:

  • Nopea. PR-tarkistukset kilpailevat kehittäjän tarkkaavaisuudesta. Rajaa ne siihen, mikä muuttui — diffin koskettamiin sivuihin tai komponentteihin — sen sijaan että ryömisit koko sivuston läpi jokaisella pushilla. Koko sivuston läpikäynti kuuluu aikatauluun, ei jokaiseen committiin.
  • Inline. Löydösten tulee näkyä siellä, missä kehittäjä työskentelee: kommenttina PR:ssä, merkintänä muuttuneessa tiedostossa tai tilatarkistuksena, jossa on linkki yksityiskohtiin. CI-lokiin hautautunut tulos, jota kukaan ei avaa, on tulos, johon kukaan ei reagoi.
  • Toimintakelpoinen. Jokainen löydös tarvitsee rikotun säännön, löytyneen elementin, siihen liittyvän WCAG-onnistumiskriteerin ja mieluiten korjausvihjeen. “axe-core-sääntö button-name: tällä <button>-elementillä ei ole saavutettavaa nimeä” on hyödyllinen; “saavutettavuusvirhe” ei ole.

QualiBoothin skanneri on rakennettu toimimaan juuri tässä tilassa — kutsuttuna putkestasi CLI:n tai API:n kautta, raportoiden löydökset takaisin pull requestiin ja seuraten niitä koontinäytöillä, jotta tiimi näkee saavutettavuusvelan trendin laskevan ajan myötä. Tämän asettamisen mekaniikka eri alustoilla käsitellään palvelussamme CI/CD-saavutettavuusintegraatio.

Build-portit ja kynnysarvot

Löydösten raportointi on välttämätöntä mutta ei riittävää. Raportti, joka ei estä mitään, jätetään deadline-paineen alla huomiotta. Portti — tarkistus, joka voi kaataa buildin — antaa saavutettavuudelle hampaat putkessa. Taito on siinä, mihin valita portitus.

Naiivi lähestymistapa on kaataa build jokaisesta saavutettavuusrikkomuksesta. Greenfield-projektissa se voi toimia. Olemassa olevassa koodikannassa, jossa on jono tunnettuja ongelmia, se on katastrofi: aivan ensimmäinen ajo epäonnistuu, jokainen build epäonnistuu ikuisesti, ja tiimi poistaa tarkistuksen käytöstä päivän sisällä. Portti on kalibroitava.

Toimiva kynnysstrategia näyttää tältä:

  • Portita vain uusiin, vakaviin regressioihin. Vertaa nykyistä skannausta perustasoon (käsitellään seuraavassa osiossa). Kaada build, kun diff tuo uusia rikkomuksia valitsemallasi vakavuustasolla tai sen yläpuolella — esimerkiksi kriittiset ja vakavat — ja anna alemman vakavuuden tai jo olemassa olevien ongelmien läpäistä varoituksina.
  • Erottele vakavuustasot. Kaikki rikkomukset eivät ole samanarvoisia. Täydellinen näppäimistöloukku oikeuttaa kovan kaadon; vähäinen parhaiden käytäntöjen huomautus voi olla informatiivinen. Yhdistä sääntöjen vaikutustasot portin käyttäytymiseen, jotta portti heijastaa todellista käyttäjähaittaa.
  • Salli rajatut poikkeukset, harkitusti. Joskus tunnettu ongelma on seurattu ja aikataulutettu. Tue eksplisiittistä, arvioitavissa olevaa vaimennusmekanismia — merkittyä ja aikarajattua — sen sijaan että antaisit kehittäjien poistaa koko tarkistuksen käytöstä kerralla.

Tavoite on portti, johon tiimi luottaa. Hyvistä syistä kaatuvaa porttia kunnioitetaan; melusta kaatuva portti kierretään. Kynnysarvojen virittäminen koodikantaasi on osa tuon luottamuksen rakentamista, ja se on keskeinen osa saavutettavuusprosessien parantamista.

Olemassa olevien ongelmien perustaso

Lähes mikään todellinen koodikanta ei aloita nollasta saavutettavuusvirhettä. Käytännön kysymys ei ole “kuinka saamme nolla ongelmaa?” vaan “kuinka lopetamme uusien lisäämisen samalla kun maksamme vanhoja pois?” Perustasointi on vastaus.

Perustaso on tallennettu tilannekuva saavutettavuusongelmista, jotka jo ovat olemassa, kun kytket portin päälle. Jokaista seuraavaa skannausta verrataan siihen. Portti kaatuu siihen, mikä on uutta suhteessa perustasoon; olemassa oleva jono tunnustetaan, mutta se ei estä buildeja. Tämä antaa sinun kytkeä valvonnan päälle välittömästi pysäyttämättä kehitystä.

Muutama käytäntö pitää perustasot terveinä:

  • Tee perustasosta seurattu artefakti. Committaa se repositorioon tai tallenna se saavutettavuusalustaasi, jotta sen muutokset ovat näkyviä ja arvioitavissa, eivät hiljaisia.
  • Anna sen vain kutistua. Perustason tulee ratchetoitua alaspäin, kun ongelmia korjataan, eikä koskaan kasvaa ottaakseen uusia rikkomuksia vastaan. Jos korjaus poistaa ongelman, generoi perustaso uudelleen, jotta ongelman uudelleen tuominen myöhemmin kaataa portin.
  • Aikatauluta tarkoituksellinen poismaksu. Perustasoon vangittu jono ei katoa itsestään. Yhdistä portti suunnitelmaan sen alasajamiseksi — sprinttiallokaatio, oma siivousepiikki tai toistuva auditointirytmi. Selvityksemme toistuvista saavutettavuusauditoinneista kuvaa, kuinka tuo jatkuva työ rakennetaan.

Perustasointi tekee “kytke portti päälle tänään” -ajatuksesta realistisen tiimille, joka on toimittanut jo vuosia.

Komponentti- ja Storybook-testaus

PR-tarkistukset renderöityjä sivuja vasten ovat arvokkaita, mutta ne ottavat ongelmat kiinni myöhään — sen jälkeen, kun virheellinen komponentti on jo koottu sivuksi. Testaaminen komponenttitasolla ottaa ne kiinni lähteellä, ennen kuin yksittäinen saavutettavan nimen virhe leviää neljäänkymmeneen näkymään.

Jos tiimisi käyttää komponenttiselainta kuten Storybookia, se on ihanteellinen kehys tähän. Jokainen story renderöi komponentin eristyksissä, sen eri tiloissa, mikä on juuri sitä, mitä automaattinen saavutettavuusmoottori tarvitsee: deterministisen, kohdennetun DOM:in arvioitavaksi.

Tyypillinen komponenttitestausasetelma:

  • Aja saavutettavuustarkistus jokaisessa storyssa. Työkalut kuten Storybookin a11y-lisäosa (rakennettu axe-coren päälle) voivat skannata jokaisen storyn automaattisesti, ja samat tarkistukset voivat ajaa headless-tilassa CI:ssä, jolloin komponenttirikkomukset kaatavat putken, eivät vain paikallisen käyttöliittymän.
  • Kata tilat, ei vain oletustila. Renderöi ja testaa poistettu tila, virhetila, lataustila sekä avoin ja suljettu tila. Saavutettavuusvirheet rakastavat reunatiloja — virheilmoitus ilman ohjelmallista yhteyttä, modaali, joka ei vangitse kohdistusta.
  • Korjaa kerran, hyödy kaikkialla. Oikein rakennetusta, testatusta komponentista tulee uudelleenkäytettävä takuu. Jokainen sitä käyttävä sivu perii korjauksen. Tämä on korkeimman vipuvaikutuksen paikka investoida, ja se yhdistyy luontevasti laajempaan saavutettavuustyökalupakkiin ja saavutettavuusskannausohjelmistoon, jota tiimisi jo käyttää.

Komponenttitestaus ei korvaa sivutason testausta — kokoonpano tuo ongelmia, joita mikään eristetty komponentti ei voi paljastaa, kuten päällekkäiset landmark-alueet tai rikkinäinen yleinen otsikkorakenne — mutta se vähentää dramaattisesti, kuinka monta vikaa koskaan päätyy sivulle.

Integrointi CI-järjestelmääsi

Integraatiomalli on sama kaikilla alustoilla: asenna tai kutsu skanneri, aja se kohdetta vasten (URL, valmis artefakti tai komponenttistoryt) ja käännä sen paluukoodi ja raportti putken hyväksytty/hylätty-tilaksi ja kehittäjälle näkyväksi artefaktiksi. Koska QualiBooth integroituu CLI:n ja API:n kautta, se sopii käytännössä mihin tahansa järjestelmään. Näin tärkeimmät eroavat käytännössä.

GitHub Actions

Yleisin asetelma. Lisää työnkulku, joka käynnistyy pull_request-tapahtumasta, käynnistä sovelluksesi (tai deployaa preview), aja saavutettavuus-CLI sitä vasten ja julkaise tulokset check runina tai PR-kommenttina. GitHub Actions tekee inline-merkinnöistä ja vaadituista tilatarkistuksista suoraviivaisia, joten kaatuva saavutettavuusportti voi estää yhdistämisen branch protection -sääntöjen kautta. Selainbinäärien ja riippuvuuksien välimuistitus pitää työn nopeana.

GitLab CI

Määrittele accessibility-työ tiedostoon .gitlab-ci.yml, tyypillisesti omaan vaiheeseensa buildin jälkeen. GitLab voi näyttää tulokset merge request -widgetissä, ja voit tallentaa JSON-raportin työartefaktina latausta ja trendiseurantaa varten. Merge requestin hyväksyntäsäännöt antavat sinun tehdä portista estävän.

Jenkins

Lisää Jenkinsfile-tiedostoon vaihe, joka ajaa skannerin ja arkistoi raportin. Jenkins on yleinen enterprise- ja on-prem-ympäristöissä, joissa kyky ajaa kaikki palomuurin takana on tärkeää. Käytä sopivaa publisher-lisäosaa tulosten näyttämiseen ja kaada vaihe nollasta poikkeavalla paluukoodilla estääksesi buildin.

CircleCI

Lisää työ tiedostoon .circleci/config.yml, käytä executoria, jossa on selain saatavilla, ja tallenna raportti store_artifacts-komennolla. CircleCI:n työnkulut antavat sinun ajaa saavutettavuustyön rinnakkain muiden tarkistusten kanssa, jotta se ei pidennä kokonaisputken aikaa, ja voit vaatia sen läpäisemistä ennen kuin deploy-työ ajetaan.

Azure DevOps

Lisää YAML-putkeesi tehtävä, joka ajaa CLI:n, ja julkaise raportti sitten publish-artifacts-tehtävällä. Azure DevOpsin branch-käytännöt voivat vaatia saavutettavuustarkistuksen läpäisemistä ennen kuin pull request voidaan saattaa loppuun, antaen sinulle saman kovan portin kuin muut alustat.

Mitä järjestelmää käytätkin, oikea rajausstrategia on yhdenmukainen: nopeat, muutosrajatut skannaukset pull requesteissa; täydellisempi läpikäynti yöllisellä tai julkaisua edeltävällä aikataululla. Autamme tiimejä rakentamaan tämän alusta loppuun osana CI/CD-saavutettavuusintegraatiota ja neuvomme alustatiimejä, jotka mieluummin toteuttavat sen itse.

Väärien positiivisten vähentäminen

Mikään ei tuhoa tiimin luottamusta saavutettavuusporttiin nopeammin kuin väärät positiiviset. Jos tarkistus merkitsee ei-ongelmia, kehittäjät oppivat sivuuttamaan sen, vaimentamaan sen kokonaan tai kiertämään sen — ja portista tulee teatteria. Signaalin pitäminen korkeana ei ole valinnaista; se tekee koko ponnistuksesta kestävän.

Automaattiset moottorit ovat varovaisia suunnittelultaan ja raportoivat joskus asioita, jotka eivät ole kontekstissa todellisia virheitä. Yleisiä melun lähteitä:

  • Piilotettu tai vielä renderöimätön sisältö. Suljetun valikon tai laiskasti ladatun osion takana olevat elementit voivat tulla merkityiksi kontekstin ulkopuolella. Skannaa todelliset renderöidyt, vuorovaikutetut tilat.
  • Mukautetut komponentit, jotka moottori tulkitsee väärin. Oikein toteutettu mukautettu kontrolli asianmukaisella ARIA:lla voi silti laukaista geneerisen säännön. Nämä ansaitsevat arvioidun, dokumentoidun poikkeuksen — ei koko tarkistuksen poistamista.
  • Dynaaminen ajoitus. Skannaaminen ennen kuin sovellus on hydratoitunut tuottaa haamuvirheitä. Odota vakaata tilaa ennen arviointia.
  • Kolmannen osapuolen upotukset. Hallitsemattomaan iframeen sisältyvät ongelmat tulee seurata erikseen, jotta porttisi mittaa sinun laatuasi.

Käytännön puolustukset ovat sääntöjoukon virittäminen pinoosi, vaimennusten pitäminen kapeina ja arvioitavissa, realististen tilojen skannaaminen ja portitus vain niihin vakavuustasoihin, jotka edustavat todellista käyttäjähaittaa. Tämän kalibroinnin saaminen oikein tietylle koodikannalle on juuri sitä työtä, jota saavutettavuuskonsultointimme kattaa.

Rehellinen raja: automaatio ottaa kiinni vain osan WCAG:stä

Tässä on raja, joka jokaisen insinööritiimin on sisäistettävä ja jota me emme koskaan hämärrä: automaattinen testaus havaitsee luotettavasti vain noin 30–40 % WCAG-onnistumiskriteereistä. Loput 60–70 % vaativat inhimillistä arviointia, eikä mikään määrä putki-insinöörityötä muuta sitä.

Syy on rakenteellinen. Automaatio loistaa koneellisesti tarkistettavissa tosiasioissa: onko tässä kuvassa alt-teksti? Täyttääkö tämä teksti kontrastisuhteen? Onko tällä lomakekentällä ohjelmallinen nimilappu? Onko otsikkomerkintä paikalla? Nämä ovat todellisia, tärkeitä tarkistuksia, ja niiden ottaminen kiinni automaattisesti jokaisessa PR:ssä on aidosti arvokasta.

Mutta hyvin moni WCAG-vaatimus on semanttinen ja kokemuksellinen, eikä kone voi arvioida niitä:

  • Onko alt-teksti merkityksellinen, vai onko se "image123.jpg"? Skanneri vahvistaa, että alt-teksti on olemassa; vain ihminen voi arvioida, välittääkö se oikean tiedon.
  • Onko kohdistusjärjestys järkevä näppäimistöllä navigoivalle, vai onko se teknisesti läsnä mutta epälooginen?
  • Onko sivu todella käytettävissä ruudunlukijalla, alusta loppuun, todellisen tehtävän suorittamiseen?
  • Auttavatko virheilmoitukset hämmentynyttä käyttäjää palautumaan, vai onko ne vain yhdistetty oikein merkintään?
  • Onko sisältö ymmärrettävää, kieli selkeää, vuorovaikutus ennakoitavaa?

Nämä ovat kysymyksiä inhimillisestä kokemuksesta, ja niihin vastaa ihmistestaus — mieluiten vammaisten ihmisten tekemät auditoinnit, jotka käyttävät avustavaa teknologiaa päivittäin ja nostavat esiin ongelmia, joita mikään automaattinen työkalu eikä mikään näkevä kehittäjä koskaan huomaisi. Perusteellinen manuaalinen saavutettavuusauditointi pysyy todellisen vaatimustenmukaisuuden perustana.

Oikea mentaalimalli on siis kerroksellinen, ei joko/tai:

  1. CI/CD-automaatio estää koneellisesti tarkistettavia ongelmia koskaan päätymästä julkaisuun ja suojaa regressiolta — jatkuvasti, edullisesti, jokaisessa muutoksessa.
  2. Manuaalinen ja avustavan teknologian testaus kattaa WCAG:n kokemuksellisen enemmistön, jota automaatio ei voi tavoittaa.
  3. Toistuvat auditoinnit vahvistavat koko kuvan uudelleen tuotteen kehittyessä, koska vaatimustenmukaisuus on liikkuva maali, ei kertaluonteinen sertifikaatti.

Tämä kerroksellisuus on myös sitä, mitä todellisen maailman säädökset odottavat. Tulipa velvoitteesi European Accessibility Actista, ADA:sta tai Section 508:sta, vaatimustenmukaisuutta mitataan koko standardia vasten — ei sitä siivua vasten, jonka skanneri sattuu kattamaan. Vihreä putki on välttämätön, ei riittävä.

Vielä yksi asia, josta on syytä olla suorasanainen: saavutettavuusoverlayt — JavaScript-widgetit, jotka lupaavat välitöntä vaatimustenmukaisuutta — eivät korvaa mitään yllä olevaa kerrosta, eikä QualiBooth tue niitä. Ne eivät korjaa taustalla olevaa koodia, ne häiritsevät usein juuri niitä avustavia teknologioita, joihin käyttäjät luottavat, eivätkä ne tee mitään tärkeimmille kokemuksellisille kriteereille. Todellinen saavutettavuus syntyy sen rakentamisesta osaksi tuotetta, mikä on juuri sitä, mitä CI/CD-integraatio plus ihmistestaus tarjoaa.

Kaiken kokoaminen yhteen

Kypsä saavutettavuusputki ei ole yksi työkalu tai yksi sääntö — se on joukko kerroksia, joista kukin tekee sen, missä on hyvä:

  • Komponenttitason tarkistukset (esim. Storybookissa) ottavat viat kiinni lähteellä.
  • PR-tason tarkistukset antavat nopeaa, inline-, toimintakelpoista palautetta jokaisesta muutoksesta, rajattuna diffiin.
  • Build-portit perustasoineen estävät uudet vakavat regressiot pysäyttämättä työtä vanhojen ongelmien parissa.
  • Aikataulutetut täydet läpikäynnit ottavat kiinni kokoonpanotason ongelmat ja seuraavat koko koodikantaa ajan myötä.
  • Trendikoontinäytöt muuttavat raa’an CI-tulosteen selkeäksi kuvaksi velasta ja edistymisestä.
  • Ihmisauditoinnit kattavat WCAG:n 60–70 %, jota automaatio ei rakenteellisesti voi.

Aloita pienestä. Lisää yksi PR-tarkistus tärkeimmille sivuille tai komponenteille, perustaso olemassa oleville ongelmille, jotta portti on vihreä ensimmäisestä päivästä lähtien, ja ratchetoi siitä eteenpäin. Tavoite on työnkulku, jossa saavutettavuusregressiot tulevat yhtä vaikeiksi yhdistää kuin epäonnistuvat yksikkötestit, ja jossa ongelmat, joita automaatio ei voi ottaa kiinni, ohjataan ihmisille, jotka voivat.

Jos haluat apua tuon putken suunnittelussa tai toteutuksessa, palvelumme CI/CD-saavutettavuusintegraatio tekee juuri tämän — ja voit nähdä sen takana olevan skannausmoottorin ilmaisessa skannauksessa tai live-demossa.

Usein kysytyt kysymykset

Korvaako automaattinen saavutettavuustestaus manuaaliset auditoinnit?

Ei, ja jokainen toimittaja, joka väittää toisin, johtaa sinua harhaan. Automaattiset tarkistukset ottavat luotettavasti kiinni vain noin 30–40 % WCAG-onnistumiskriteereistä — koneellisesti tarkistettavat. Kokemuksellinen enemmistö, kuten onko alt-teksti merkityksellinen tai voiko ruudunlukijan käyttäjä suorittaa tehtävän, vaatii ihmistestausta. CI/CD-automaatio estää regressiot ja ottaa helpot ongelmat kiinni ajoissa; se ei sertifioi vaatimustenmukaisuutta yksinään.

Eivätkö saavutettavuustarkistukset hidasta buildejamme?

Eivät, jos ne on rajattu oikein. Aja nopeat, muutosrajatut skannaukset pull requesteissa ja varaa koko sivuston läpikäynnit yölliselle tai julkaisua edeltävälle aikataululle. Saavutettavuustyöt voivat myös ajaa rinnakkain muiden CI-tarkistustesi kanssa, joten ne lisäävät vähän kokonaisputken aikaan. Selainbinäärien ja riippuvuuksien välimuistitus pitää ajokohtaisen kustannuksen matalana.

Kuinka vältämme portin kaatumisen olemassa olevaan jonoomme?

Perustaso se. Tallenna tilannekuva ongelmista, jotka ovat olemassa, kun kytket portin päälle, ja konfiguroi portti kaatumaan vain uusiin rikkomuksiin suhteessa tuohon perustasoon. Olemassa oleva jonosi tunnustetaan ja seurataan, mutta se ei estä buildeja, joten voit ottaa valvonnan käyttöön välittömästi ja maksaa jonon pois tarkoituksellisella aikataululla.

Mihin CI-järjestelmiin tämä voi integroitua?

Yleisiin — GitHub Actions, GitLab CI, Jenkins, CircleCI ja Azure DevOps — ja käytännössä mihin tahansa muuhun, koska QualiBooth integroituu CLI:n ja API:n kautta. Malli on kaikkialla sama: aja skanneri, käännä sen paluukoodi hyväksytty/hylätty-tilaksi ja tuo raportti esiin siellä, missä kehittäjät sen näkevät.

Mistä meidän tulisi aloittaa?

Lisää yksi PR-tason tarkistus vilkkaimmin liikennöidyille sivuillesi tai jaettuun komponenttikirjastoosi, perustaso nykyisille ongelmille, portita vain uusiin vakaviin regressioihin ja laajenna siitä. Yhdistä se alusta alkaen manuaalisen testauksen suunnitelmaan, koska automaatio kattaa vain osan standardista. Jos et halua rakentaa sitä yksin, keskustele asiantuntijan kanssa sen toteuttamisesta putkeesi, tai vertaile vaihtoehtoja hinnoittelusivullamme.

Liitä saavutettavuus osaksi putkeasi