Lämna dina kontaktuppgifter så skickar vi vårt whitepaper till dig via e-post
Jag samtycker till att mina personuppgifter behandlas för att skicka personligt marknadsföringsmaterial i enlighet med Integritetspolicy. Genom att bekräfta inlämningen samtycker du till att få marknadsföringsmaterial
Tack!

Formuläret har skickats in framgångsrikt.
Ytterligare information finns i din brevlåda.

Innowise är ett internationellt företag som utvecklar mjukvara för hela cykeln som grundades 2007. Vi är ett team på över 1600+ IT-proffs som utvecklar mjukvara för andra företag yrkesverksamma över hela världen.
Om oss
Innowise är ett internationellt företag som utvecklar mjukvara för hela cykeln som grundades 2007. Vi är ett team på över 1600+ IT-proffs som utvecklar mjukvara för andra företag yrkesverksamma över hela världen.

Automatiserad programvarutestning: 2x ökning av funktionalitetens releasehastighet

Innowise utförd automatiserad programvarutestning för att säkerställa att integreringen av nya systemfunktioner inte äventyrar integriteten hos de befintliga funktionerna.

Kund

Industri
Informationsteknik
Region
Schweiz
Kund sedan
2023

Vår kund är en leverantör av molnbaserade ERP-lösningar som är utformade för att stärka den operativa effektiviteten och motståndskraften mot driftstörningar.

Detaljerad information om kunden kan inte lämnas ut enligt villkoren i sekretessavtalet.

Utmaning

Verifiering av ERP-systemets stabilitet efter integrering av nya funktioner

Vår kund introducerade ny funktionalitet i sitt ERP-system och integrerade den med den befintliga byggnaden. De förlitade sig på Innowise för att bedöma stabiliteten i den distribuerade programvaran. Vi tillhandahöll tjänster för automatiserad programvarutestning, som syftar till att identifiera potentiella hinder i systemet och åtgärda dem.

Lösning

Använda automatiserade programvarutestningstjänster för att identifiera och lösa potentiella showstoppers

Innowise förbättrade kundens ERP-system med en mångfacetterad metod för automatiserad programvarutestning. Den omfattade rök-, funktions- och regressionstestning, som alla utfördes i en pipeline för kontinuerlig integration/kontinuerlig leverans (CI/CD). Smoke testing användes för att snabbt verifiera stabiliteten hos viktiga funktioner, medan funktionstestning var avgörande för att undersöka om varje funktion var korrekt. Regressionstestning var avgörande för att säkerställa att nya uppdateringar inte påverkade befintliga funktioner negativt. Integreringen av dessa testmetoder i CI/CD-pipelinen effektiviserade utvecklingsprocessen. Detta tillvägagångssätt möjliggjorde snabb identifiering och lösning av problem, och säkerställde en konsekvent utrullning av robusta, högkvalitativa funktioner i ERP-systemet.

Utvärdering av testfall för automatisering

I början fick vi i uppgift att gå igenom de testfall som skapats av manuella testare. Med hjälp av vår omfattande bakgrund inom programvarutestning fördjupade vi oss i varje fall och utförde manuellt stegen i varje testfall för att bedöma dess komplexitet och automatiseringsmöjlighet. Vårt mål var att hitta det mest effektiva sättet att automatisera repetitiva och tidskrävande uppgifter utan att försämra testresultatens noggrannhet.

Genomförande av röktestning

Våra testare skapade en samling förinspelade röktestfall som sattes igång mot varje ny version. Dessa tester var viktiga för att bekräfta att programvarans viktigaste funktioner fungerade och för att säkerställa konsekvens och noggrannhet. Om ett automatiserat test flaggade för ett problem fick vårt team omedelbart en varning, vilket gjorde det möjligt att snabbt identifiera och åtgärda problemet.

Flexibiliteten i vår process gjorde det möjligt för vårt team att snabbt ta itu med eventuella problem som uppdagades under byggnationen. Vi genomförde omedelbart de justeringar som krävdes och omplacerade byggnaden utan dröjsmål, vilket garanterade minimala störningar.

Integrera funktionell testning i varje sprint

Vi övergick sömlöst från den breda verifieringen av röktester till den målinriktade och noggranna funktionstestningen. Detta säkerställde att varje ny uppdatering var effektiv i sig och smälte in sömlöst i de etablerade programvarukomponenterna. Vi utförde funktionstester varje sprint så att varje stegvis utveckling utvärderades noggrant, vilket upprätthöll programvarans övergripande kvalitet och sammanhållning.

Regressionstestning av programvara

Vi följde en strömlinjeformad men ändå grundlig process för att implementera automatiserad regressionstestning. Vårt team skapade en testmiljö som speglade de faktiska produktionsförhållandena och säkerställde att våra resultat var så exakta som möjligt. Med Selenium automatiserade vi regressionstestskript, vilket avsevärt ökade effektiviteten, en avgörande faktor för komplexa system.

Efter automatiseringen körde vi skripten mot den senaste versionen för att kontrollera om det fanns några inkonsekvenser eller fel. När testerna hade körts analyserade vi resultaten noggrant för att hitta eventuella buggar eller problem.

Om vi upptäckte några problem tog vi omedelbart itu med dem genom att justera koden och köra testerna igen för att bekräfta att våra korrigeringar var effektiva. Denna cykel av testning, analys och förfining var konstant för varje ny programuppdatering och säkerställde programvarans stabilitet och avsedda funktionalitet. Denna effektiva metod för regressionstestning var avgörande för att upprätthålla programvarans tillförlitlighet och prestanda, vilket minskade risken för buggar och gav en smidig användarupplevelse.

Pipeline för kontinuerlig integration/kontinuerlig leverans (CI/CD)

Utöver vår rigorösa testprocess har vi även integrerat våra tester i vår CI/CD-pipeline (Continuous Integration/Continuous Delivery), vilket har gjort vår utvecklingscykel effektivare och mer responsiv. Vi använde Allure-verktyget för detaljerad rapportering, vilket gav tydliga insikter i testresultaten. Tack vare integrationen kunde vi skapa ett automatiserat system där testerna startades varje natt. Denna nattliga testrutin säkerställde att alla nya ändringar omedelbart utvärderades, vilket gjorde det möjligt att snabbt identifiera och lösa problem. Genom att integrera Allure-rapporter i vår CI/CD-pipeline fick vårt team tillgång till omfattande testdata varje morgon, vilket effektiviserade beslutsfattandet och upprätthöll ett konstant fokus på kvalitet och stabilitet. Denna integration påskyndade vår testprocess och stärkte tillförlitligheten i varje programvarubyggnad som vi levererade.

Detaljerade steg i vår CI/CD-pipeline:

  • Kod: Utvecklare skrev och förfinade kod och såg till att den uppfyllde våra standarder för funktionalitet och design.
  • Åtagande: Vi överförde sedan den uppdaterade koden till vårt versionskontrollsystem, vilket markerar den första kontrollpunkten i pipelinen.
  • Bygga: Denna kod genomgick en byggprocess, där den omvandlades till en körbar form, redo för testning.
  • Enhetstest: Vi genomförde enhetstester av byggnaden, där enskilda komponenter testades för korrekthet. Detta gjordes för att garantera att varje komponent fungerade felfritt.
  • Rökprov: Efter enhetstesterna genomförde vi röktester på byggnaden för att snabbt fastställa om kritiska funktioner fungerade som förväntat.
  • Åtagande: Efter röktesterna överförde vi koden till versionshanteringssystemet igen och införlivade alla ändringar som gjorts efter testerna.
  • Granskning: Vi granskade varje åtagande noggrant och säkerställde att ändringarna uppfyllde våra kvalitetsstandarder och låg i linje med projektmålen.
  • Uppställning: Bygget flyttades till en staging-miljö, som nära speglade produktionsinställningen, för ytterligare testning.
  • Systemtest: I staging utförde vi omfattande systemtester för att validera byggnaden i en miljö som simulerade verklig användning.
  • Produktion: När byggnaden klarat alla teststeg distribuerades den till produktionsmiljön och blev tillgänglig för slutanvändarna.

Teknik

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, Docker Compose

Process

Agil metodik och sprintstruktur

I vårt projekt följde vi strikt Agile-metoden och strukturerade vår utvecklingsprocess i tvåveckorssprintar. På så sätt kunde vi dela upp projektet i hanterbara delar och säkerställa konsekvens och effektivitet i varje fas.

Uppgiftshantering och teamsamarbete

I början av varje sprint fastställde vi tydliga mål och uppgifter, som spårades med hjälp av Jira. Det här verktyget höll vårt team uppdaterat och på rätt spår. Vi använde det inte bara som en uppgiftsspårare utan som ett centralt nav för samarbete och kommunikation, så att varje teammedlem alltid var uppdaterad med den senaste utvecklingen och de senaste prioriteringarna.

Sprintgranskning och detaljerad rapportering

När vi närmade oss slutet av varje sprint skiftade vårt fokus till att konsolidera vårt arbete och förbereda sprintgenomgången. Vi sammanställde noggrant detaljerade rapporter som belyste vår testtäckning och våra resultat. Rapporterna var mer än bara en sammanfattning av slutförda uppgifter, de innehöll en djupgående analys av vad vi hade uppnått, vilka utmaningar vi stod inför och hur vi löste dem. De innehöll också feedback från våra testprocesser och eventuella lärdomar som kunde tas med in i nästa sprint.

Team

3

AQA Ingenjörer

1

DevOps-ingenjör

Resultat

Snabbare utrullning av funktioner och 50% färre produktionsbuggar

Implementeringen av automatiserad testning för vår kunds ERP-system resulterade i betydande förbättringar och effektiviseringar:

  • Snabbare lansering av nya funktioner: med automatiserad testning kunde nya funktioner lanseras dubbelt så snabbt jämfört med den tidigare manuella processen.
  • Minskning av antalet buggar: Integreringen av CI/CD ledde till en minskning med 50% av antalet buggar som nådde produktionen, vilket avsevärt förbättrade programvarans tillförlitlighet.

Med tanke på detta positiva resultat har vår kund uttryckt sin entusiasm för vårt samarbete. De är medvetna om det värde som vår expertis och implementeringen av den senaste tekniken tillför deras verksamhet. Framöver kommer vi att ha ett nära samarbete med vår kund för att bygga vidare på de framgångar som uppnåtts och utforska ytterligare möjligheter att förbättra deras system och processer.

Projektets löptid
  • September 2023 - Pågående

2x

ökad funktionalitet releasehastighet

50%

Färre buggar når produktionen

Kontakta oss!

Boka ett samtal eller fyll i formuläret nedan så återkommer vi till dig när vi har behandlat din förfrågan.

    Vänligen inkludera projektinformation, varaktighet, teknologistack, IT-proffs som behövs och annan relevant information
    Spela in ett röstmeddelande om ditt projekt för att hjälpa oss att förstå det bättre
     
    Bifoga ytterligare dokument vid behov
    Ladda upp filen

    Du kan bifoga upp till 1 fil på totalt 2 MB. Giltiga filer: pdf, jpg, jpeg, png

    Observera att när du klickar på knappen Skicka kommer Innowise att behandla dina personuppgifter i enlighet med vår Integritetspolicy för att ge dig lämplig information.

    Vad händer härnäst?

    1

    Efter att ha mottagit och behandlat din begäran kommer vi att återkomma till dig inom kort för att specificera dina projektbehov och underteckna en NDA för att säkerställa konfidentialitet av information.

    2

    Efter att ha undersökt kraven utarbetar våra analytiker och utvecklare en projektförslag med arbetets omfattning, lagets storlek, tid och kostnad uppskattningar.

    3

    Vi ordnar ett möte med dig för att diskutera erbjudandet och komma överens.

    4

    Vi skriver på ett kontrakt och börjar arbeta med ditt projekt så snabbt som möjligt.

    Tack!

    Ditt meddelande har skickats.
    Vi behandlar din begäran och kontaktar dig så snart som möjligt.

    Tack!

    Ditt meddelande har skickats.
    Vi behandlar din begäran och kontaktar dig så snart som möjligt.

    pil