Verkkosovellusten testausautomaatio: 50% vähemmän tuotantovirheitä

Innowise:ssä on integroitu automatisoitu web-sovelluksen testaus tarjota nopeat ja virheettömät ohjelmistokehityssyklit.

Asiakas

Teollisuus
Telecom
Alue
Belgia
Asiakas vuodesta
2023

Asiakkaamme on merkittävä viestintäpalvelujen tarjoaja, joka on erikoistunut internet-yhteysratkaisuihin, modeemien myyntiin, SIM-korttien tarjoamiseen ja televisiopakettien asentamiseen.

Yksityiskohtaisia tietoja asiakkaasta ei voida luovuttaa NDA:n ehtojen mukaisesti.

Haaste

Testausprosessien parantaminen korkealaatuisten ohjelmistojulkaisujen nopeuttamiseksi.

Asiakkaan sisäinen kehitystiimi oli alun perin luonut mukautetun kehyksen automaattisten testien suorittamiseksi heidän verkkosovellukselleen. Tämä kehys ei kuitenkaan toiminut odotettujen standardien mukaisesti, mikä johti virheellisiin testeihin. Epävakautta pahensi se, että jatkuvan integroinnin (CI) järjestelmään ei ollut integroitu kunnolla. Tämä johti viivästyneisiin palautesilmukoihin ja QA-tiimien lisääntyneisiin manuaalisiin toimiin.

Näiden haasteiden edessä asiakas tilasi meiltä vankan ratkaisun, joka virtaviivaistaisi testausprosesseja, vähentäisi regressiovirheitä ja nopeuttaisi julkaisusykliä.

Ratkaisu

QA-valmiuksien parantaminen strategisen testausautomaation avulla

Asiakkaan haasteisiin vastaamisessa keskityimme räätälöimään räätälöidyn ratkaisun, joka parantaisi heidän laadunvarmistusprosessit. Koska tunnistimme heidän nykyisen mukautetun testausjärjestelmänsä tehottomuuden ja rajoitukset, lähdimme kehittämään vankempaa, skaalautuvampaa ja tehokkaampaa testausstrategiaa, joka oli räätälöity erityisesti heidän tarpeisiinsa.

Kehyksen räätälöinti ja integrointi

Kokemuksemme perusteella automatisoitu web-sovelluksen testaussuunnittelimme kaksoiskehysstrategian, jossa käytimme sekä Cypressiä että Playwrightia päästä päähän -testaukseen. Valitsimme nämä kehykset niiden ainutlaatuisten ominaisuuksien vuoksi, sillä niiden vakautta, kestävyyttä ja yhteensopivuutta eri selaimissa ja ympäristöissä arvostetaan.

Cypressin integrointi

AQA:n insinöörit valitsivat Cypressin sen poikkeuksellisten kokonaisvaltaisten testausominaisuuksien vuoksi. Yksi Cypressin merkittävimmistä ominaisuuksista on sen natiivit käyttöoikeudet selainten API-rajapintoihin ilman välipalvelimia. Tämä nopeuttaa testien suorittamista merkittävästi ja vähentää päästä päähän -testien monimutkaisuutta. Räätälöimme Cypressin integroitavaksi saumattomasti asiakkaan verkkosovelluksiin, mikä mahdollistaa reaaliaikaisen testien suorittamisen ja visuaaliset testausominaisuudet. Tämän asennuksen ansiosta pystyimme simuloimaan todellisia käyttäjien vuorovaikutustilanteita tarkemmin. Näin varmistettiin, että kaikki käyttäjäpolut testattiin perusteellisesti ennen kuin mitään koodia siirrettiin tuotantoon. Innowise toteutti Cypressin testien käynnistämisen GitLabissa ja osoitti testien onnistuneen suorittamisen etäpalvelimella käyttöönoton jälkeen. Tämä vahvistaa entisestään testauskehyksemme vankkuutta ja luotettavuutta jatkuvassa integrointiympäristössä.

Näytelmäkirjailijan integrointi

Toisaalta Playwright osoittautui ihanteelliseksi sekä front-end- että API-testaukseen, koska se pystyy suorittamaan testejä kaikilla yleisimmillä selaimilla minimaalisella konfiguroinnilla. Se tukee testausta headless-tilassa, mikä on ratkaisevan tärkeää CI-ympäristöissä, ja tarjoaa vankat työkalut asynkronisten tapahtumien ja monimutkaisten sivuvuorovaikutusten käsittelyyn. Hyödynsimme Playwrightin rinnakkaista testien suoritusominaisuutta useiden testien suorittamiseen samanaikaisesti eri ympäristöissä, mikä lyhensi huomattavasti testauksen kokonaisaikaa. Lisäksi Playwrightin runsaiden API-rajapintojen ansiosta pystyimme luomaan räätälöityjä testiskriptejä, jotka jäljittelevät monimutkaisia käyttäjäkäyttäytymisiä ja vuorovaikutusta. Tämä paransi testauksen kattavuutta ja luotettavuutta. Lisäksi toteutimme kattavan raportoinnin Allure-ohjelmalla testitulosten seuraamiseksi, jolloin Playwright-integraatioistamme saatiin selkeää tietoa ja analytiikkaa.

Strateginen räätälöinti

Konfiguroimme kunkin kehyksen asiakkaan olemassa olevan infrastruktuurin mukaiseksi. Innowise:n tiimi otti käyttöön liitännäisiä ja laajennuksia, jotka paransivat kehysten toiminnallisuutta ja mahdollistivat integroinnin asiakkaan teknisen pinon muihin työkaluihin. Integroimme esimerkiksi Cypressin asiakkaan todennuspalveluihin, jotta voimme hoitaa turvallisen kirjautumisen testien aikana. Määritimme myös Playwrightin niin, että se ottaa automaattisesti kuvakaappauksia ja videoita tarkastelua varten, jos testit epäonnistuvat.

CI-integraatio

AQA:n insinöörit integroivat Cypressin ja Playwrightin CI-putkeen Gitlabissa. Integroinnin ansiosta pystyimme luomaan automaattisia testisuorituksia, jotka käynnistyivät jokaisesta koodin sitoutumisesta. Automatisoimalla nämä suoritukset varmistimme, että kaikki uusi tai muutettu koodi testattiin perusteellisesti ennen kehityssyklin etenemistä. Tämä asetus ei ainoastaan nopeuttanut testausprosessia, vaan auttoi myös havaitsemaan virheet ja ongelmat mahdollisimman varhaisessa vaiheessa. Tämä auttoi vähentämään riskiä, että virheet päätyisivät tuotantoon. Näiden kehysten saumaton yhdistäminen Gitlab CI:n kanssa mahdollisti myös sujuvamman työnkulun, jolloin kehittäjät pystyivät keskittymään enemmän ominaisuuksien kehittämiseen ja vähemmän toistuviin testaustehtäviin.

Raportointi GitLabissa

Vahvistaaksemme laadunvarmistusprosesseja entisestään hyödynsimme Gitlabin kehittyneitä raportointityökaluja ja keskityimme erityisesti avoimuuden ja vastuullisuuden lisäämiseen AQA-tiimin ja johtohenkilöstön välillä. Räätälöimällä nämä työkalut tuottamaan yksityiskohtaisia, reaaliaikaisia raportteja tarjosimme molemmille tiimeille korvaamattoman arvokkaan resurssin, jonka avulla he voivat saada ajantasaista tietoa eri testien tilasta.

Raportit on suunniteltu kattaviksi mutta helposti tulkittaviksi, ja ne sisältävät keskeisiä mittareita, kuten testien kattavuus, epäonnistumisasteet ja suoritusajat. Tämä yksityiskohtaisuus varmisti, että johtajat pystyivät nopeasti hahmottamaan testauksen tehokkuuden ja tunnistamaan huomiota vaativat alueet ilman syvällistä teknistä osaamista. AQA:n tiimille nämä raportit olivat tärkeä väline edistymisen seuraamisessa, toistuvien ongelmien paikantamisessa ja koodipohjan laadun validoinnissa.

Arkkitehtuurin kehittäminen

Innowise kehitti skaalautuvan testiarkkitehtuurin, joka on räätälöity erilaisiin testeihin, kuten savutesteihin, regressiotesteihin ja kattavaan päästä päähän -testaukseen. Arkkitehtuuri suunniteltiin tukemaan hankkeen välittömiä tarpeita ja tarjoamaan perusta tuleville testausaloitteille. Arkkitehtuurin modulaarinen luonne mahdollisti helpon mukauttamisen ja skaalaamisen. Kun asiakkaan vaatimukset kehittyivät, myös testauskehys kehittyi ilman merkittäviä muutoksia.

Lähestymistapaan kuului keskitetyn testienhallintajärjestelmän perustaminen, joka helpotti testitapausten, tulosten ja mittareiden organisointia ja seurantaa. Järjestelmä oli keskeinen useiden testityyppien monimutkaisuuden hallinnassa ja yhtenäisen työnkulun tarjoamisessa koko testausjaksojen ajan. Toteuttamalla vankat tietojen kirjaamis- ja tulosanalyysiominaisuudet annoimme QA-tiimille tarvittavat työkalut, jotta se voi tehdä yksityiskohtaisia arviointeja kustakin testisyklistä, mikä on ratkaisevan tärkeää ohjelmistojen korkeiden laatuvaatimusten ylläpitämiseksi.

Testien käynnistäminen Xray Jira -työkalussa

Tehostaaksemme laadunvarmistusprosesseja entisestään käynnistimme testit Xray Jira -työkalun avulla. Tämän integraation ansiosta pystyimme seuraamaan ja hallitsemaan testitapauksia suoraan Jirassa, mikä tehosti QA- ja kehitystiimien välistä viestintää ja yhteistyötä. Hyödyntämällä Xrayn tehokkaita testienhallintaominaisuuksia säilytimme kattavan yleiskuvan testaustoiminnoista. QA-tiimi seurasi myös jäljitettävyyttä vaatimuksista vikoihin ja tuotti yksityiskohtaisia testien kattavuus- ja suoritusraportteja. Tämä integraatio paransi merkittävästi kykyämme havaita ja ratkaista ongelmat nopeasti, mikä edisti laadukkaan ohjelmiston toimittamista.

Koulutus ja valtuuttaminen

Koska tiedonsiirto on ratkaisevan tärkeä tekijä minkä tahansa teknologian käyttöönoton onnistumisen kannalta, toteutimme syvällisiä koulutustilaisuuksia, jotka oli räätälöity erityisesti Cypressille, koska sillä oli keskeinen rooli asiakkaan testausstrategiassa. Näiden istuntojen tarkoituksena oli antaa asiakkaan sisäisille tiimeille tarvittava asiantuntemus, jotta he voivat käyttää, ylläpitää ja laajentaa testauskehyksiä tehokkaasti ja itsenäisesti.

Koulutuksessa käsiteltiin useita keskeisiä aiheita, kuten testaustyökalujen perusasennukset ja -määritykset sekä edistyneet ominaisuudet, kuten testiautomaation skriptaaminen ja ympäristönhallinta. Koulutukseen sisältyi myös käytännön harjoituksia, joiden tarkoituksena oli käsitellä tiimin kohtaamia todellisia skenaarioita ja parantaa heidän ongelmanratkaisutaitojaan ja varmuuttaan työkalujen käsittelyssä.

Teknisen koulutuksen lisäksi korostimme strategisen ajattelutavan merkitystä laadunvarmistuskäytännöissä. Opastimme tiimiä suunnittelemaan ja toteuttamaan testejä, jotka ovat linjassa laajempien liiketoimintatavoitteiden kanssa. Tällä lähestymistavalla varmistimme, että tiimi ei vain osannut käyttää teknologiaa vaan myös integroida laadunvarmistusprosessit päivittäisiin työnkulkuihinsa.

Teknologiat

REST API, JSON, Java

Suunnittelu

Figma, Sketch, Zeplin

Palvelut

Firebase (analytiikka, Crashlytics, Cloud-viestintä, sovellusten jakelu), GitLab, Jira, Confluence, Strapi, Slack...
Yksikkötestaus + CI/CD-integraatio SonarQuben, Cypressin ja Playwrightin avulla.

Prosessi

Löytäminen ja suunnittelu

Projekti aloitettiin tutustumiskokouksilla, joiden tarkoituksena oli ymmärtää syvällisesti asiakkaan tarpeita. erityistarpeet ja haasteet. Tämä vaihe oli ratkaisevan tärkeä Cypressin ja yrityksen perustamisessa. Playwrightin perustaminen, niiden yhteensopivuuden varmistaminen asiakkaan nykyisten järjestelmien kanssa ja saumattoman integroinnin pohjatyön valmistelu.

Kehittäminen ja integrointi

Räätälöimme Cypressin ja Playwrightin vastaamaan asiakkaan ainutlaatuisia testausvaatimuksia. ja integroimme nämä kehykset Gitlabin CI-putkeen. Tämä integrointi automatisoi testausprosessin, mikä mahdollistaa ongelmien varhaisen havaitsemisen ja ratkaisemisen sekä nopeuttaa kehityssykliä.

Koulutus ja luovutus

AQA-asiantuntijamme järjesti kattavat koulutustilaisuudet Cypress-ohjelmasta varustamaan asiakkaan tiimille taidot hallita ja optimoida testauskehyksiä itsenäisesti. Hän toimitti myös yksityiskohtaista dokumentaatiota ja parhaita käytäntöjä tukemaan jatkuvaa järjestelmien ylläpitoa ja parantamista.

Viestintä ja projektinhallinta

Koko projektin ajan pidimme yllä avointa viestintää Slackin kautta ja hoidimme tehtäviä ja edistymistä Jiran avulla. Tällä lähestymistavalla varmistettiin, että kaikki sidosryhmät johdonmukaisesti linjassa ja hanke oli hyvin koordinoitu ja aikataulussa.

Joukkue

1

Projektipäällikkö

1

Tiimin johtaja

1

Johtava automaation laadunvarmistus Engineer

1

Testidatan analyytikko

4

Automaation laadunvarmistus Engineers / SDET-asiantuntijat

Tulokset

Nopeampi ohjelmistojen julkaisusykli ja 2x vähemmän tuotantovirheitä.

Automatisoitujen testauskehysten onnistuneen käyttöönoton jälkeen asiakas on siirtynyt käyttämään vankkaa testiautomaatioympäristöä, joka tarjoaa merkittäviä toiminnallisia parannuksia.

  • Lisääntynyt vapautumisen tehokkuus: Automaation avulla aikaa vievän manuaalisen testauksen tarve väheni huomattavasti, mikä nopeutti ohjelmistojen julkaisusykliä.
  • Vikojen vähentäminen: Paremmat testausvalmiudet johtivat 50% regressiovikojen vähenemiseen, mikä osoittaa testausautomaatioprosessien tehokkuuden.
  • Parannettu testiympäristön vakaus: Hienosäätämällä ja optimoimalla testausasetuksia minimoimme merkittävästi virheellisten testien esiintymisen, mikä johti johdonmukaisempiin ja luotettavampiin testituloksiin.

Tämä strateginen uudistus vastasi asiakkaan alkuperäisiin haasteisiin räätälöidyllä teknologisella lähestymistavalla ja asiantuntevalla ohjauksella. Varustamalla heidän tiiminsä uusimmilla työkaluilla ja syvällisellä tietämyksellä loimme perustan jatkuvalle skaalautuvuudelle ja jatkuville toiminnallisille parannuksille.

Hankkeen kesto
  • Elokuu 2023 - Jatkuva

3x

nopeampi julkaisujen käyttöönotto

50%

vähemmän tuotantovirheitä

    Ota yhteyttä

    Varaa puhelu tai täytä alla oleva lomake, niin otamme sinuun yhteyttä, kun olemme käsitelleet pyyntösi.

    Lähetä meille ääniviesti
    Liitä asiakirjoja
    Lataa tiedosto

    Voit liittää 1 enintään 2 Mt:n tiedoston. Hyväksytyt tiedostomuodot: pdf, jpg, jpeg, png.

    Klikkaamalla Lähetä, annat suostumuksesi siihen, että Innowise käsittelee henkilötietojasi meidän Tietosuojakäytäntö antaa sinulle asiaankuuluvia tietoja. Antamalla puhelinnumerosi suostut siihen, että voimme ottaa sinuun yhteyttä puheluiden, tekstiviestien ja viestisovellusten kautta. Puhelu-, viesti- ja datahintoja voidaan soveltaa.

    Voit myös lähettää meille pyyntösi
    osoitteeseen contact@innowise.com

    Mitä tapahtuu seuraavaksi?

    1

    Kun olemme vastaanottaneet ja käsitelleet pyyntösi, otamme sinuun yhteyttä ja kerromme yksityiskohtaisesti projektin tarpeet ja allekirjoitamme NDA-sopimuksen luottamuksellisuuden varmistamiseksi.

    2

    Tutkittuaan toiveesi, tarpeesi ja odotuksesi tiimimme suunnittelee projektin ehdotuksen, jossa esitetään työn laajuus, tiimin koko, aika- ja kustannusarviot.

    3

    Järjestämme kanssasi tapaamisen, jossa keskustellaan tarjouksesta ja sovitaan yksityiskohdista.

    4

    Lopuksi allekirjoitamme sopimuksen ja aloitamme projektisi toteuttamisen heti.

    nuoli