Legg igjen kontaktinformasjon, så sender vi deg oversikten vår på e-post
Jeg samtykker i å behandle personopplysningene mine for å sende personlig tilpasset markedsføringsmateriell i samsvar med Retningslinjer for personvern. Ved å bekrefte innsendingen samtykker du i å motta markedsføringsmateriell.
Takk skal du ha!

Skjemaet har blitt sendt inn.
Mer informasjon finner du i postkassen din.

Innowise er et internasjonalt selskap som utvikler programvare for hele syklusen. selskap grunnlagt i 2007. Vi er et team på 1800+ IT-profesjonelle som utvikler programvare for andre fagfolk over hele verden.
Om oss
Innowise er et internasjonalt selskap som utvikler programvare for hele syklusen selskap grunnlagt i 2007. Vi er et team på mer enn 1600+ IT-profesjonelle som utvikler programvare for andre fagfolk over hele verden.

Automatisert programvaretesting: to ganger raskere utgivelse av funksjonalitet

Innowise utført automatisert programvaretesting for å sikre at integreringen av nye systemfunksjoner ikke gikk på bekostning av integriteten til de eksisterende funksjonene.

Kunde

Industri
Informasjonsteknologi
Region
Sveits
Kunde siden
2023

Vår kunde er en leverandør av skybaserte ERP-løsninger som er utviklet for å øke effektiviteten og motstå driftsforstyrrelser.

Detaljert informasjon om kunden kan ikke utleveres i henhold til vilkårene i taushetserklæringen.

Utfordring

Verifisere stabiliteten i ERP-systemet etter integrering av ny funksjonalitet.

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 leverte automatiserte tjenester for programvaretesting, med sikte på å identifisere og utbedre potensielle "showstoppere" i systemet.

Løsning

Bruk av automatiserte programvaretestingstjenester for å identifisere og løse potensielle problemområder.

Innowise løftet kundens ERP-system med en mangesidig tilnærming til automatisert programvaretesting. Den omfattet røyk-, funksjons- og regresjonstesting, som alle ble utført i en kontinuerlig integrasjon/kontinuerlig leveranse (CI/CD). Røyktesting ble brukt for raskt å verifisere stabiliteten til viktige funksjoner, mens funksjonstesting var avgjørende for å undersøke om hver enkelt funksjon var korrekt. Regresjonstesting var avgjørende for å sikre at nye oppdateringer ikke påvirket eksisterende funksjoner negativt. Integreringen av disse testmetodene i CI/CD-pipelinen effektiviserte utviklingsprosessen. Denne tilnærmingen gjorde det mulig å identifisere og løse problemer raskt, og sikret en konsekvent utrulling av robuste funksjoner av høy kvalitet i ERP-systemet.

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

Testerne våre satte opp en samling forhåndsinnspilte røyktester som ble iverksatt for hver nye versjon. Disse testene var avgjørende for å bekrefte at de viktigste funksjonene i programvaren fungerte, og for å sikre konsistens og grundighet. Hvis en automatisk test avdekket et problem, ble teamet vårt umiddelbart varslet, slik at problemet raskt kunne identifiseres og løses.

Fleksibiliteten i prosessen gjorde at teamet vårt raskt kunne løse eventuelle problemer som ble avdekket under oppbyggingen. Vi implementerte raskt de nødvendige justeringene og implementerte bygget på nytt uten forsinkelse, noe som sørget for minimale forstyrrelser.

Integrere funksjonell testing i hver sprint

Vi gikk sømløst over fra omfattende verifisering av røyktester til målrettet og grundig funksjonstesting. Dette sikret at alle nye oppdateringer var effektive hver for seg og passet sømløst sammen med de etablerte programvarekomponentene. Vi utførte funksjonstester i hver sprint, slik at hver inkrementell utvikling ble grundig evaluert og opprettholdt programvarens overordnede kvalitet og sammenheng.

Regresjonstesting av programvare

Vi fulgte en strømlinjeformet, men likevel grundig prosess for å implementere automatisert 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.

Hvis vi oppdaget problemer, løste vi dem umiddelbart ved å justere koden og kjøre testene på nytt for å bekrefte at løsningene var effektive. Denne syklusen med testing, analyse og forbedring var konstant for hver nye programvareoppdatering, noe som sikret programvarens stabilitet og tiltenkte funksjonalitet. Denne effektive tilnærmingen til regresjonstesting var avgjørende for å opprettholde programvarens pålitelighet og ytelse, og dermed redusere risikoen for feil og gi en smidig brukeropplevelse.

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

I tillegg til en grundig testprosess har vi også integrert testene våre i pipelinen for kontinuerlig integrasjon/kontinuerlig levering (CI/CD), noe som gjør utviklingssyklusen vår mer effektiv og responsiv. Vi brukte Allure-verktøyet til detaljert rapportering, noe som ga oss tydelig innsikt i testresultatene. Denne integrasjonen gjorde det mulig for oss å sette opp et automatisert system der testene ble lansert hver natt. Denne nattlige testrutinen sørget for at alle nye endringer ble evaluert umiddelbart, slik at vi raskt kunne identifisere og løse problemer. Ved å integrere Allure-rapporter i CI/CD-pipelinen vår fikk teamet tilgang til omfattende testdata hver morgen, noe som gjorde det enklere å ta beslutninger og opprettholde et konstant fokus på kvalitet og stabilitet. Denne integrasjonen satte fart på testprosessen og styrket påliteligheten til hver programvareversjon vi leverte.

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

AQA

Python, Pytest, Selenium, Allure

Back-end

Java, Spring, Hibernate

VSC

Git, Gitlab

Cloud

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

DevOps

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

3

AQA-ingeniører

1

DevOps-ingeniør

Resultater

Raskere utrulling av funksjoner og 50% reduksjon i antall produksjonsfeil

Implementeringen av automatiserte tester i kundens ERP-system resulterte i betydelige forbedringer og effektivitetsgevinster:

  • Raskere lansering av nye funksjoner: Med automatisert testing ble nye funksjoner lansert dobbelt så raskt som i den tidligere manuelle prosessen.
  • Reduksjon i antall feil: Integreringen av CI/CD førte til en reduksjon på 50% i antall feil som nådde produksjonen, noe som økte programvarens pålitelighet betraktelig.

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.

Prosjektets varighet
  • September 2023 - Løpende

2x

økt utgivelseshastighet for funksjonalitet

50%

færre feil når produksjonen

Ta kontakt med oss!

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

    Ta med prosjektdetaljer, varighet, teknisk stack, behov for IT-fagfolk og annen relevant informasjon.
    Spill inn en talemelding om din
    prosjektet for å hjelpe oss å forstå det bedre
    Legg ved ytterligere dokumenter om nødvendig
    Last opp fil

    Du kan legge ved opptil 1 fil på totalt 2 MB. Gyldige filer: pdf, jpg, jpeg, png

    Vær oppmerksom på at når du klikker på Send-knappen, vil Innowise behandle personopplysningene dine i samsvar med vår Personvernerklæring for å gi deg relevant informasjon.

    Hva skjer videre?

    1

    Etter at vi har mottatt og behandlet forespørselen din, vil vi komme tilbake til deg innen kort tid for å beskrive prosjektbehovene dine og undertegne en taushetserklæring for å sikre informasjonens konfidensialitet.

    2

    Etter å ha undersøkt kravene, utarbeider våre analytikere og utviklere en prosjektforslag med arbeidsomfang, teamstørrelse, tid og kostnader estimater.

    3

    Vi arrangerer et møte med deg for å diskutere tilbudet og komme til en avtale.

    4

    Vi signerer en kontrakt og begynner å jobbe med prosjektet ditt så raskt som mulig.

    Спасибо!

    Cообщение отправлено.
    Мы обработаем ваш запрос и свяжемся с вами в кратчайшие сроки.

    Takk skal du ha!

    Meldingen din er sendt.
    Vi behandler forespørselen din og kontakter deg så snart som mulig.

    Takk skal du ha!

    Meldingen din er sendt. 

    Vi behandler forespørselen din og kontakter deg så snart som mulig.

    pil