Auto-testing for å validere den nye funksjonaliteten i ERP-systemet

Innowise utførtautomatisert programvaretestingfor å sikre at integreringen av nye systemfunksjoner ikke gikk på bekostning av integriteten til de eksisterende funksjonene.

Utfordring

Kunden vår introduserte ny funksjonalitet i ERP-systemet og integrerte den med den eksisterende versjonen. De brukte Innowise til å vurdere stabiliteten til den implementerte programvaren. Vi leverteautomatiserte tjenester for programvaretesting, Målet er å identifisere potensielle problemer i systemet og løse dem.

Løsning

Innowise elevated the client’s ERP system with a multi-faceted approach to automated software testing. It incorporated smoke, functional, and regression testing, all executed within a continuous integration/continuous delivery (CI/CD) pipeline. Smoke testing was employed to quickly verify the stability of key functionalities, while functional testing was vital in examining each feature for correctness. Regression testing was crucial in ensuring that new updates did not adversely affect existing functionalities. The integration of these testing methods into the CI/CD pipeline streamlined the development process. This approach enabled rapid identification and resolution of issues, and ensured a consistent rollout of robust, high-quality features in the ERP system.

Evaluering av testtilfeller for automatisering

Innledningsvis fikk vi i oppgave å gå gjennom testtilfellene som var utarbeidet av manuelle testere. Med utgangspunkt i vår omfattende bakgrunn innen programvaretesting gikk vi i dybden på hvert enkelt testtilfelle og utførte trinnene manuelt for å vurdere kompleksiteten og muligheten for automatisering. Målet var å finne den mest effektive måten å automatisere repeterende og tidkrevende oppgaver på uten at det gikk ut over nøyaktigheten i testresultatene.

Implementering av røyktesting

Our testers set up a collection of pre-recorded smoke test cases that sprang into action against each new build. These tests were essential for confirming that the software’s major functionalities were running, assuring consistency and thoroughness. If an automated test flagged an issue, it immediately alerted our team, allowing for swift identification and action on the problem.

Our process’s flexibility empowered our team to swiftly address any issues uncovered in the build. We promptly implemented the required adjustments and redeployed the build without delay, ensuring minimal disruption.

Integrere funksjonell testing i hver sprint

We seamlessly transitioned from the broad-scope verification of smoke tests to the targeted and meticulous functional testing approach. This ensured that every new update was effective in isolation and blended seamlessly with the established software components. We performed functional tests every sprint so that each incremental development was rigorously evaluated, upholding the software’s overall quality and cohesiveness.

Regresjonstesting av programvare

Vi fulgte en strømlinjeformet, men likevel grundig prosess for å implementereautomatisert regresjonstesting. Teamet vårt satte opp et testmiljø som speilet de faktiske produksjonsforholdene, slik at resultatene ble så nøyaktige som mulig. Ved hjelp av Selenium automatiserte vi regresjonstestskript, noe som økte effektiviteten betydelig – en avgjørende faktor for komplekse systemer.

Etter at testene var automatisert, kjørte vi skriptene mot den nyeste versjonen for å se etter inkonsekvenser eller feil. Etter at vi hadde kjørt testene, analyserte vi resultatene grundig og fant eventuelle feil eller problemer.

If we detected any problems, we promptly addressed them by tweaking the code and re-running the tests to confirm the effectiveness of our fixes. This cycle of testing, analyzing, and refining was a constant with each new software update, ensuring the software’s stability and intended functionality. This efficient approach to regression testing was key in maintaining the software’s reliability and performance, thereby reducing the risk of bugs and providing a smooth user experience.

Pipeline for kontinuerlig integrasjon/kontinuerlig levering (CI/CD)

In addition to our rigorous testing process, we’ve also integrated our tests into the continuous integration/continuous delivery (CI/CD) pipeline, enhancing our development cycle efficiency and responsiveness. We utilized the Allure tool for detailed reporting, which provided clear insights into the test results. This integration allowed us to set up an automated system where tests were launched each night. This nightly testing routine ensured that any new changes were immediately evaluated, allowing for swift identification and resolution of issues. Incorporating Allure reports into our CI/CD pipeline meant that our team had access to comprehensive test data every morning, streamlining decision-making and maintaining a constant focus on quality and stability. This integration accelerated our testing process and reinforced the reliability of each software build we delivered.

Detaljerte trinn i vår CI/CD-pipeline:

  • Kode: Utviklerne skrev og finpusset koden og sørget for at den oppfylte våre standarder for funksjonalitet og design.
  • Forplikte: Deretter la vi den oppdaterte koden inn i versjonskontrollsystemet vårt, noe som markerte det første kontrollpunktet i pipelinen.
  • Bygg: Denne koden gjennomgikk en byggeprosess, der den ble konvertert til en kjørbar form, klar for testing.
  • Enhetstester: Vi gjennomgikk enhetstester, der de enkelte komponentene ble testet for korrekthet. Dette ble gjort for å garantere at hver enkelt komponent fungerte feilfritt.
  • Røyktester: Etter enhetstestene gjennomførte vi røyktester for å raskt finne ut om kritiske funksjoner fungerte som forventet.
  • Forplikte: Etter røyktestene har vi overført koden til versjonskontrollsystemet på nytt, med eventuelle endringer som er gjort etter testene.
  • Anmeldelse: Vi gjennomgikk hver enkelt endring grundig for å sikre at endringene fulgte våre kvalitetsstandarder og var i tråd med prosjektmålene.
  • Iscenesettelse: Byggingen ble flyttet til et staging-miljø, som var svært likt produksjonsoppsettet, for videre testing.
  • Systemtester: I staging gjennomførte vi omfattende systemtester for å validere bygget i et miljø som simulerte reell bruk.
  • Produksjon: Når bygget hadde bestått alle testfasene, ble det distribuert til produksjonsmiljøet, slik at det ble tilgjengelig for sluttbrukerne.

Teknologier

Python, Pytest, Selenium, Allure
Java, Spring, Dvalemodus

VSC

Git, Gitlab

AWS Grafana IAM, SNS, SQS, KMS, RDS(PostgreSQL), S3, SES

Gitlab, Docker og Docker Compose

Prosess

Agile metodikk og sprintstruktur

I prosjektet vårt fulgte vi Agile-metodikken til punkt og prikke, og strukturerte utviklingsprosessen i sprinter på to uker. Denne tilnærmingen gjorde det mulig for oss å dele opp prosjektet i håndterbare biter og sikre konsistens og effektivitet i hver fase.

Oppgavestyring og teamsamarbeid

Ved starten av hver sprint satte vi opp klare mål og oppgaver, som ble fulgt opp ved hjelp av Jira. Dette verktøyet sørget for at teamet var samkjørt og på rett spor. Vi brukte det ikke bare til å spore oppgaver, men også som et sentralt knutepunkt for samarbeid og kommunikasjon, slik at alle teammedlemmene alltid var oppdatert på den siste utviklingen og prioriteringene.

Sprintgjennomgang og detaljert rapportering

Etter hvert som vi nærmet oss slutten av hver sprint, fokuserte vi på å konsolidere arbeidet og forberede sprintgjennomgangen. Vi utarbeidet detaljerte rapporter som belyste testdekningen og resultatene våre. Disse rapportene var mer enn bare en oppsummering av utførte oppgaver, de ga en grundig analyse av hva vi hadde oppnådd, hvilke utfordringer vi sto overfor og hvordan vi hadde løst dem. De inneholdt også tilbakemeldinger fra testprosessene våre og eventuelle erfaringer som kunne tas med videre til neste sprint.

Team kreves

3

AQA-ingeniører

1

DevOps-ingeniør

Resultater

Implementing automated testing for our client’s ERP system resulted in notable enhancements and efficiencies:

  • Raskere lansering av nye funksjoner: Med automatisert testing ble nye funksjoner lansert dobbelt så raskt som i den tidligere manuelle prosessen.
  • Reduction in bugs: The integration of CI/CD led to a reduction in bugs reaching production, significantly enhancing the software’s reliability.

På bakgrunn av dette positive resultatet har kunden vår uttrykt sin begeistring for samarbeidet vårt. De anerkjenner verdien som vår ekspertise og implementeringen av banebrytende teknologi tilfører virksomheten. I tiden fremover vil vi jobbe tett sammen med kunden for å bygge videre på det vi har oppnådd, og utforske ytterligere muligheter for å forbedre systemene og prosessene deres.

    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