Løft webapplikasjonen med skreddersydde AQA-løsninger

Innowise har integrertautomatisert testing av webapperfor å sikre raske og feilfrie utviklingssykluser.

Utfordring

The client’s in-house development team had initially set up a custom framework for conducting automated tests on their web application. However, this framework didn’t perform up to the expected standards, resulting in flaky tests. The instability was compounded by a lack of proper integration with the continuous integration (CI) system. This led to delayed feedback loops and increased manual intervention by QA teams.

På bakgrunn av disse utfordringene ga kunden oss i oppdrag å levere en robust løsning som ville effektivisere testprosessene, redusere regresjonsfeil og fremskynde utgivelsessyklusene.

Løsning

In addressing the client’s challenges, we focused on crafting a bespoke solution that would improve their kvalitetssikringsprosesser. Vi erkjente ineffektiviteten og begrensningene i det eksisterende, tilpassede testrammeverket, og satte oss derfor fore å utvikle en mer robust, skalerbar og effektiv teststrategi som var skreddersydd for deres behov.

Tilpasning og integrering av rammeverk

Basert på vår erfaring iautomatisert testing av webapperVi utviklet en strategi med to rammeverk, der vi brukte både Cypress og Playwright for ende-til-ende-testing. Vi valgte disse rammeverkene på grunn av deres unike egenskaper, som er anerkjent for sin stabilitet, robusthet og kompatibilitet på tvers av ulike nettlesere og miljøer.

Cypress-integrasjon

Our AQA engineers selected Cypress for its exceptional end-to-end testing capabilities. One of Cypress’s standout features is its native access to browser APIs without going through intermediary servers. This significantly speeds up test execution and reduces the complexity of end-to-end tests. We customized Cypress to integrate seamlessly with the client’s web applications, enabling real-time test execution and visual testing capabilities. This setup allowed us to simulate actual user interactions more accurately. This assures that all user pathways were tested thoroughly before any code was moved to production. Innowise implemented the launch of Cypress tests within GitLab, demonstrating successful test completions on a remote server following deployment. This further confirms the robustness and reliability of our testing framework in a continuous integration environment.

Integrering av dramatikere

Playwright viste seg derimot å være ideelt for både frontend- og API-testing, fordi det kan kjøre tester i alle de største nettleserne med minimal konfigurasjon. Den støtter testing i hodeløs modus, noe som er avgjørende for CI-miljøer, og tilbyr robuste verktøy for håndtering av asynkrone hendelser og komplekse sideinteraksjoner. Vi utnyttet Playwrights funksjon for parallell testkjøring til å kjøre flere tester samtidig i ulike miljøer, noe som reduserte den totale testtiden dramatisk. Playwrights omfattende sett med API-er gjorde det dessuten mulig for oss å lage tilpassede testskript som etterligner kompleks brukeratferd og -interaksjon. Dette forbedret testdekningen og påliteligheten. I tillegg utførte vi omfattende rapportering ved hjelp av Allure for å spore testresultatene, noe som ga oss tydelig innsikt og analyser fra Playwright-integrasjonene våre.

Strategisk tilpasning

We configured each framework to align with the client’s existing infrastructure. Innowise team introduced plugins and extensions that enhanced the frameworks’ functionality and enabled integration with other tools in the client’s tech stack. For instance, we integrated Cypress with the client’s authentication services to handle secure login during tests. We also configured Playwright to automatically capture screenshots and videos for review in case of test failures.

CI-integrasjon

AQA-ingeniørene integrerte Cypress og Playwright i CI-pipelinen på Gitlab. Denne integrasjonen gjorde det mulig for oss å sette opp automatiserte testkjøringer som ble utløst av hver kodecommit. Ved å automatisere disse kjøringene sørget vi for at all ny eller endret kode ble grundig testet før den gikk videre i utviklingssyklusen. Dette oppsettet gjorde ikke bare testprosessen raskere, men bidro også til å fange opp feil og problemer på et så tidlig stadium som mulig. Dette bidro til å redusere risikoen for at feil skulle nå produksjonen. Den sømløse sammensmeltingen av disse rammeverkene med Gitlab CI bidro også til en smidigere arbeidsflyt, slik at utviklerne kunne fokusere mer på funksjonsutvikling og mindre på repetitive testoppgaver.

Rapportering på GitLab

To further bolster the QA processes, we capitalized on Gitlab’s advanced reporting tools, focusing specifically on enhancing transparency and accountability between the AQA team and managerial staff. By tailoring these tools to generate detailed, real-time reports, we provided an invaluable resource for both teams to access up-to-the-minute data on the status of various tests.

Rapportene var utformet for å være omfattende, men likevel lett å tolke, og inneholdt nøkkeltall som testdekning, feilprosent og kjøretid. Denne detaljrikdommen gjorde at lederne raskt kunne forstå effektiviteten av testarbeidet og identifisere områder som trengte oppmerksomhet, uten at det krevde dyp teknisk kunnskap. For AQA-teamet var disse rapportene et viktig verktøy for å spore fremdriften, finne tilbakevendende problemer og validere kvaliteten på kodebasen.

Arkitekturutvikling

Innowise utviklet en skalerbar testarkitektur som er skreddersydd for å kunne håndtere et bredt spekter av tester, inkludert røyktester, regresjonstester og omfattende ende-til-ende-tester. Arkitekturen ble utformet for å støtte de umiddelbare behovene i prosjektet og danne et grunnlag for fremtidige testinitiativer. Arkitekturens modulære natur gjorde det enkelt å tilpasse og skalere den. Etter hvert som kundens krav utviklet seg, kunne testrammeverket tilpasses uten at det krevde vesentlige endringer.

Vår tilnærming inkluderte etablering av et sentralisert testadministrasjonssystem som gjorde det enklere å organisere og spore testtilfeller, resultater og måleparametere. Dette systemet var avgjørende for å håndtere kompleksiteten i flere testtyper og sikre en sammenhengende arbeidsflyt på tvers av testsyklusene. Ved å implementere robuste dataloggings- og resultatanalysefunksjoner ga vi QA-teamet de nødvendige verktøyene for å utføre detaljerte evalueringer av hver testsyklus, noe som er avgjørende for å opprettholde høye standarder for programvarekvalitet.

Starte tester i Xray Jira-verktøyet

For å forbedre QA-prosessene ytterligere lanserte vi tester ved hjelp av Xray Jira-verktøyet. Denne integrasjonen gjorde det mulig for oss å holde oversikt over og administrere testtilfeller direkte i Jira, noe som effektiviserte kommunikasjonen og samarbeidet mellom QA- og utviklingsteamene. Ved å utnytte Xrays kraftige testadministrasjonsfunksjoner fikk vi en omfattende oversikt over testaktivitetene. QA-teamet sporet også sporbarheten fra krav til feil, og genererte detaljerte rapporter om testdekning og -gjennomføring. Denne integrasjonen bidro til at vi ble i stand til å finne og løse problemer raskt, noe som igjen bidro til levering av programvare av høy kvalitet.

Opplæring og myndiggjøring

Recognizing the critical role of knowledge transfer in the success of any technology implementation, we conducted in-depth training sessions specifically tailored to Cypress, given its pivotal role in the client’s testing strategy. These sessions were structured to empower the client’s in-house teams with the expertise required to effectively use, maintain, and extend the testing frameworks independently.

Opplæringen dekket en rekke viktige emner, fra grunnleggende oppsett og konfigurasjon av testverktøy til avanserte funksjoner som skripting for testautomatisering og miljøadministrasjon. Vi inkluderte også praktiske øvelser som var utformet for å ta for seg virkelige scenarier som teamet kunne komme til å møte, slik at de fikk bedre problemløsningsferdigheter og økt selvtillit i håndteringen av verktøyene.

I tillegg til teknisk opplæring la vi vekt på viktigheten av et strategisk tankesett i kvalitetssikringspraksisen. Vi veiledet teamet i hvordan de skulle planlegge og utføre tester som var i tråd med de overordnede forretningsmålene. Denne tilnærmingen sørget for at teamet ikke bare var dyktige til å bruke teknologien, men også til å integrere kvalitetssikringsprosessene i den daglige arbeidsflyten.

Teknologier

REST API, JSON, Java

Design

Figma, Sketch, Zeplin

Tjenester

Firebase (Analytics, Crashlytics, Cloud Messaging, App Distribution), GitLab, Jira, Confluence, Strapi, Slack
Enhetstesting + CI/CD-integrasjon via SonarQube, Cypress, Playwright

Prosess

Oppdagelse og planlegging

Prosjektet startet med oppdagelsesmøter for å få en dypere forståelse av kundens spesifikke behov og utfordringer. Denne fasen var avgjørende for å sette opp Cypress og Playwright, sikre at de var kompatible med kundens eksisterende systemer, og og legge grunnlaget for en sømløs integrering.

Utvikling og integrering

Vi tilpasset Cypress og Playwright slik at de passet kundens unike testkrav, og integrerte og integrerte disse rammeverkene i Gitlabs CI-pipeline. Denne integrasjonen automatiserte automatiserte testprosessen, noe som gjorde det mulig å oppdage og løse problemer tidlig og utviklingssyklusen.

Opplæring og overlevering

AQA-spesialisten vår gjennomførte omfattende opplæringsøkter i Cypress for å utstyre kundens team med ferdighetene til å administrere og optimalisere testrammeverk på egen hånd. De leverte også detaljert dokumentasjon og beste praksis for å støtte løpende vedlikehold og forbedring av systemene.

Kommunikasjon og prosjektledelse

Gjennom hele prosjektet opprettholdt vi en åpen kommunikasjon via Slack, og vi administrerte oppgaver og fremdrift gjennom Jira. Denne tilnærmingen sørget for at alle interessenter var prosjektet var godt koordinert og i rute.

Team kreves

1

Prosjekt-leder

1

Teamleder

1

Lead Automation QA Engineer

1

Analytiker av testdata

4

Automatiseringsingeniører / SDET-eksperter

Resultater

Etter den vellykkede implementeringen av rammeverkene for automatisert testing har kunden gått over til et robust testautomatiseringsmiljø som gir betydelige driftsforbedringer.

  • Økt frigjøringseffektivitet:Ved å utnytte automatisering ble avhengigheten av tidkrevende manuell testing drastisk redusert, noe som muliggjorde en raskere utgivelsessyklus for programvaren.
  • Reduksjon av feil:Forbedrede testmuligheter resulterte i en nedgang på 50% i antall regresjonsfeil, noe som viser at testautomatiseringsprosessene er effektive.
  • Forbedret stabilitet i testmiljøet:Ved å finjustere og optimalisere testoppsettene har vi minimert forekomsten av ustabile tester betydelig, noe som har ført til mer konsistente og pålitelige testresultater.

This strategic overhaul addressed the client’s initial challenges with a tailored technological approach and expert guidance. By equipping their team with state-of-the-art tools and in-depth knowledge, we’ve set a foundation for ongoing scalability and continuous operational improvements.

    Kontakt oss

    Bestill en samtale eller fyll ut skjemaet nedenfor, så vil vi kontakte deg så snart vi har behandlet forespørselen din.

    Send oss en talemelding
    Legg ved dokumenter
    Last opp fil

    Du kan legge ved én fil opptil 2MB. Gyldige filformater: pdf, jpg, jpeg, png.

    Ved å klikke Send, samtykker du til at Innowise behandler dine personopplysninger i henhold til vår Personvernerklæring for å gi deg relevant informasjon. Ved å oppgi telefonnummeret ditt, godtar du at vi kan kontakte deg via talesamtaler, SMS og meldingsapper. Samtale-, meldings- og datakostnader kan påløpe.

    Du kan også sende oss forespørselen din
    til contact@innowise.com
    Hva skjer videre?
    1

    Når vi har mottatt og behandlet forespørselen din, vil vi kontakte deg for å diskutere prosjektbehovene dine og signere en NDA for å sikre konfidensialitet.

    2

    Etter å ha undersøkt dine ønsker, behov og forventninger, vil teamet vårt utarbeide et prosjektforslag med omfang av arbeid, teamstørrelse, tids- og kostnadsestimater.

    3

    Vi vil arrangere et møte med deg for å diskutere tilbudet og fastsette detaljene.

    4

    Til slutt vil vi signere en kontrakt og starte arbeidet med prosjektet ditt umiddelbart.

    arrow