Verkkosovellus AQA:n testaus: 6 kertaa lyhyempi regressioaika

Innowise on integroinut kattavan automaatiotestausratkaisun palveluna kehitysprosessin jokaiseen vaiheeseen.

Asiakas

Teollisuus
Alue
Uusi-Seelanti
Asiakas vuodesta
2022
Asiakkaamme on eturintamassa luomassa transformatiivisia koulutusmatkoja, jotka kohottavat ja voimaannuttavat yksilöitä ja yrityksiä. Integroimalla huippuluokan oppimisteknologioita ja -strategioita he edistävät muutosta keskittymällä ihmiskeskeisiin ratkaisuihin ja tuovat organisaatioille ja niiden jäsenille vertaansa vailla olevaa arvoa.Yksityiskohtaisia tietoja asiakkaasta ei voida luovuttaa NDA:n ehtojen mukaisesti.

Haaste

Verkkosovellusten tehokkuuden parantaminen

Asiakkaallamme oli erityinen haaste. He tarvitsivat perusteellista käyttöliittymätestausta eri selaimilla eri testiskenaarioita varten web-sovellustensa auditointipalvelua varten. Lisäksi heidän tavoitteenaan oli parantaa sovelluksen suorituskykyä sekä asiakas- että palvelinpuolella. Näiden ensisijaisten huolenaiheiden lisäksi he halusivat myös yksityiskohtaisen raportointijärjestelmän ja hyvin perustetun testausinfrastruktuurin, joka tukee monenlaisia testausympäristöjä.

Ratkaisu

Kattavan verkkosovelluksen laadunvarmistustestauksen suorittaminen

Innowise tarjosi kattavan ja jatkuvan testaussyklin kaikissa ohjelmistokehitysprosessin vaiheissa. AQA:n tiimi muotoili testausvaatimukset ja laati testaussuunnitelman ja -strategian. Aktiivinen osallistumisemme ja syvällinen asiantuntemuksemme varmistivat, että hakemus QA testaus prosessi oli tiukka ja asiakkaan ainutlaatuisten tarpeiden ja tavoitteiden mukainen.

Tehokkuus rinnakkaisen testauksen avulla

Pyrkiessämme optimoimaan web-sovelluksen QA testauskäytimme erittäin tehokasta lähestymistapaa - rinnakkaista testausta. Tässä strategiassa suoritimme kaksitoista erillistä testikokonaisuutta samanaikaisesti, jolloin eliminoimme kaiken mahdollisen ajanhukan, jota peräkkäinen testaus saattaisi aiheuttaa. 

Rinnakkaistoteutuksessa testisarjat suoritettiin itsenäisesti. Tämä virtaviivaistettu ja ketterä testausmenetelmä nopeutti merkittävästi koko testausprosessia ja lisäsi tuottavuutta ja tehokkuutta samalla kun säilytettiin korkeimmat laadunvarmistusstandardit.

Playwright kattavaa käyttöliittymän testausta varten

Nykyaikaisten verkkosovellusten monimutkaisuuden lisääntyessä vankan käyttöliittymätestauskehyksen tarve on ensiarvoisen tärkeä. Playwright ei ollut pelkkä työkalu, vaan se muutti pelin. Playwright tukee useita selaimia, ja se mahdollistaa natiivit vuorovaikutukset, mikä takaa testit, jotka jäljittelevät todellista käyttäjäkäyttäytymistä. 

Sen kyky kaapata kuvakaappauksia, tallentaa videoita ja seurata verkkotoimintoja teki siitä kattavan ratkaisun. Tiimimme laati monimutkaiset testiskriptit, joissa hyödynnettiin Playwrightin ominaisuuksia täysimääräisesti ja varmistettiin, ettei mitään jätetty kääntämättä.

Sovellusten suorituskyvyn testaus: Lighthouse ja k6

Vaikka käyttöliittymällä on keskeinen rooli käyttäjien sitouttamisessa, suorituskyky toimii hiljaisena vartijana, joka varmistaa saumattoman käyttäjäkokemuksen. LightHousesta ja k6:sta tuli valintatyökalumme. LightHouse, avoimen lähdekoodin automatisoitu työkalu, paransi saavutettavuutta merkittävästi 69:stä vaikuttavaan 95:een. LightHousen tuloksena saatiin runsaasti suosituksia, jotka toimivat arvokkaana oppaana parannuksia varten. Front-end-kehittäjät hyödynsivät näitä näkemyksiä ja käyttivät LightHousen kohdennettuja ehdotuksia suunnitelmina parannuksia varten. Tämä lähestymistapa ei ainoastaan tehostanut kehitysprosessia vaan myös nosti merkittävästi sovelluksen laatua ja helppokäyttöisyyttä.

Nykyaikaisen arkkitehtuurinsa ansiosta k6 puolestaan antoi meille mahdollisuuden luoda palvelinpuolelle suuren kuormituksen ja simuloida todellisia olosuhteita kokonaisvaltaisen arvioinnin aikaansaamiseksi. Tunnistamalla pullonkauloja ja muita mahdollisia sudenkuoppia varmistimme, että sovellus pysyi ketteränä myös paineen alla.

API E2E -testien avulla puutteiden korjaaminen

Vaikka käyttöliittymätesteissämme keskityttiin ensisijaisesti käyttäjän vuorovaikutukseen, huomasimme tiedonkulun ja palvelimen vastausten ratkaisevan tärkeän roolin. Saumattoman käyttäjäkokemuksen varmistamiseksi otimme käyttöön API end-to-end -testit, jotka ulottuvat syvälle sovelluksen ytimeen.

Nämä testit toimivat elintärkeänä linkkinä, joka yhdenmukaistaa etupään käyttäjän vuorovaikutuksen ja back-end tietoprosessit. He tutkivat tietojen eheyttä ja vasteaikoja jäljittelemällä todellisia skenaarioita. Arvioimme huolellisesti tietojen luotettavuutta, havaitsimme nopeasti poikkeamat ja validoimme vasteajat varmistaaksemme erittäin nopean käyttäjäkokemuksen.

Kokonaisvaltainen lähestymistapamme tarjosi web-sovelluksen kokonaisvaltaisen arvioinnin, jonka avulla pystyimme tunnistamaan ja ratkaisemaan mahdolliset pullonkaulat ja varmistamaan sovelluksen keskeytymättömän toiminnan sekä säilyttämään tietojen eheyden ja reagointikyvyn.

Kattava raportointi ja koulutus

Vankka testausstrategia on epätäydellinen ilman selkeää raportointimekanismia. Jokaisen testiajon vivahteiden ymmärtäminen, toistuvien ongelmien tunnistaminen ja toimintastrategioiden laatiminen on elintärkeää. Playwrightin HTML-raportit, jotka ovat tunnettuja yksityiskohtaisuudestaan, antoivat mikrokatsauksen yksittäisiin testiskenaarioihin. Yhdistettynä raporttiportaalin laajaan yleiskatsaukseen nämä muuttivat raakadatan käyttökelpoiseksi älykkyydeksi. 

Pyrkimyksemme jatkui kuitenkin muutenkin kuin vain näkemysten tarjoamisena. Järjestimme laajoja koulutustilaisuuksia, joilla varmistimme, että asiakkaan testausryhmä tuntee AQA:n tehtävät ja hallitsee ne. Tähän kuului virheitä havaitsevien testien suorittaminen ja virheiden elinkaaren hallinta erityisesti automatisoinnin yhteydessä. Työpajojen, käytännön istuntojen ja kysymys- ja vastauskierrosten avulla annoimme asiakkaalle valtuudet ottaa ohjakset haltuunsa ja edetä luottavaisin mielin.

AI-pohjainen raportointimekanismi

Paransimme raportointiprosessia integroimalla AI-ohjattu ratkaisu tunnistamaan ja luokittelemaan testivirheet ja epäjohdonmukaisuudet. Ensimmäisessä vaiheessa AI-järjestelmä koulutettiin huolellisesti käyttäen aiempien testivirheiden tietoja, joissa statukset annettiin manuaalisesti. Tämän perustavanlaatuisen vaiheen ansiosta AI oppi erilaisista tuotoksista ja ymmärsi tarkasti erilaisten testitulosten vivahteet. 

Toisessa vaiheessa, harjoittelun jälkeen, järjestelmä ehdotti mahdollisia statuksia uusille epäonnistuneille testeille. Näitä kentällä toimivalle AQA:lle toimitettuja ehdotuksia voitiin tarvittaessa tarkistaa ja hyväksyä. AI:tä koulutettiin tunnistamaan erilaisia statuksia, kuten vika, automaatio-ongelma ja infrastruktuuriongelma, mikä nopeutti testianalyysiprosessia ja lisäsi raportointimekanismien tehokkuutta ja tarkkuutta.

Teknologiat

TypeScript, React Native, Redux, react-navigointi

Python, Django, Celery, Celery beat

TypeScript/JavaScript, Playwright, Lighthouse, K6, Grafana, Raporttiportaali

VCS

Git, Bitbucket

Elastic Beanstalk, DynamoDB, AWS Grafana IAM, SNS, SQS, KMS, RDS(PostgreSQL), S3, Lambda, SES, KVS.

Bitbucket Pipelines, DataDog, Nginx, Docker, Docker Compose

Prosessi

AQA:n tiimi käytti Agile Scrum -lähestymistapaa seuraavissa vaiheissa. sovelluksen QA testaus, mikä oli välttämätöntä asiakkaan muuttuviin tarpeisiin sopeutumisen kannalta. Tämän lähestymistavan ansiosta pystyimme toimittamaan nopeasti Vision:n ja Scope-asiakirjan kaltaisia elintärkeitä elementtejä selvityksen jälkeen ja esittämään asiakaspolun kartan interaktiivisen prototyypin avulla. UI/UX-suunnittelu vaihe.

Käytimme Bitbucket CI:tä tehtävien tehokkaaseen hallintaan ja keskityimme avoimeen viestintään, jotta kaikki olisivat samalla sivulla. Tämä suoraviivainen strategia paransi tiimityötämme, vähensi esteitä ja varmisti, että täytimme aina asiakkaan odotukset tai ylitimme ne.

Joukkue

1
Toimituspäällikkö
3
Back-end-kehittäjät
2
Front-end-kehittäjät
2
AQA
1
Manuaalinen laadunvarmistus

Tulokset

6-kertainen vähennys regressioajassa ja 3-kertainen lisäys vikojen tunnistamisessa sprinttiä kohden.

Loimme kattavan testauskehyksen käyttöliittymälle, API:lle sekä web-sovelluksen suorituskyvyn testaus, jolloin 100% kattaa jo käytettävissä olevat ominaisuudet. Laadun ylläpitämiseksi otimme käyttöön yölliset end-to-end- ja käyttöönottopohjaiset regressiotestit, joiden avulla saimme 2000 testiä valmiiksi vain 25 minuutissa.

Lisäksi yksinkertaistimme raportointia käyttämällä AI:tä epäonnistuneiden ja epäjohdonmukaisten testien tunnistamiseen. Otimme käyttöön yksinkertaisen sähköpostipohjaisen raporttien jakelujärjestelmän, jotta kaikki pysyvät ajan tasalla. Lisäksi otimme käyttöön visuaalisen regressiotestauksen kriittisiä skenaarioita varten, mikä lisäsi luottamusta testausprosessiin. 

Hankkeen kesto
  • toukokuu 2022 - joulukuu 2022

6x

regressioajan lyheneminen

3x

vikojen tunnistamisen lisääminen sprinttiä kohden

    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