Lasciate i vostri contatti, vi invieremo la nostra panoramica via email
Acconsento al trattamento dei miei dati personali per l'invio di materiale di marketing personalizzato in conformità con la normativa vigente. Informativa sulla privacy. Confermando l'invio, l'utente accetta di ricevere materiale di marketing
Grazie!

Il modulo è stato inviato con successo.
Ulteriori informazioni sono contenute nella vostra casella di posta elettronica.

Innowise è una società internazionale di sviluppo software a ciclo completo fondata nel 2007. Siamo un team di oltre 1800+ professionisti IT che sviluppano software per altri professionisti in tutto il mondo.
Chi siamo
Innowise è una società internazionale di sviluppo software a ciclo completo fondata nel 2007. Siamo un team di oltre 1600+ professionisti IT che sviluppano software per altri professionisti in tutto il mondo.

Test automatizzati del software: aumento di 2 volte della velocità di rilascio delle funzionalità

Innowise eseguito test automatizzati del software per garantire che l'integrazione di nuove funzionalità del sistema non compromettesse l'integrità di quelle esistenti.

Cliente

Industria
Tecnologia dell'informazione
Regione
Svizzera
Cliente da
2023

Il nostro cliente è un fornitore di soluzioni ERP in cloud progettate per rafforzare l'efficienza operativa e la resilienza contro le interruzioni operative.

Le informazioni dettagliate sul cliente non possono essere divulgate in base ai termini NDA.

Sfida

Verifica della stabilità del sistema ERP dopo l'integrazione di nuove funzionalità

Il nostro cliente ha introdotto nuove funzionalità nel suo sistema ERP e le ha integrate con la build esistente. Si è affidato a Innowise per valutare la stabilità del software implementato. Abbiamo fornito servizi di collaudo automatico del software, con l'obiettivo di identificare i potenziali ostacoli nel sistema e di risolverli.

Soluzione

Impiegare servizi di test automatizzati del software per identificare e risolvere i potenziali ostacoli.

Innowise ha migliorato il sistema ERP del cliente con un approccio multiforme ai test software automatizzati. Ha incorporato test di fumo, funzionali e di regressione, tutti eseguiti all'interno di una pipeline di integrazione continua/consegna continua (CI/CD). Lo smoke test è stato impiegato per verificare rapidamente la stabilità delle funzionalità chiave, mentre il test funzionale è stato fondamentale per esaminare la correttezza di ciascuna funzionalità. I test di regressione sono stati fondamentali per garantire che i nuovi aggiornamenti non influissero negativamente sulle funzionalità esistenti. L'integrazione di questi metodi di test nella pipeline CI/CD ha semplificato il processo di sviluppo. Questo approccio ha permesso di identificare e risolvere rapidamente i problemi e di garantire un'implementazione coerente di funzionalità robuste e di alta qualità nel sistema ERP.

Valutazione dei casi di test per l'automazione

All'inizio ci è stato affidato il compito di esaminare i casi di test realizzati dai tester manuali. Grazie al nostro ampio bagaglio di esperienza nel testing del software, abbiamo approfondito ogni caso, eseguendo manualmente le fasi di ciascun caso di test per valutarne la complessità e la fattibilità dell'automazione. Il nostro obiettivo era quello di determinare il modo più efficiente per automatizzare le attività ripetitive e dispendiose in termini di tempo senza compromettere l'accuratezza dei risultati dei test.

Implementazione del test del fumo

I nostri tester hanno creato una raccolta di casi di smoke test preregistrati che sono entrati in azione con ogni nuova build. Questi test erano essenziali per confermare il funzionamento delle principali funzionalità del software, assicurando coerenza e completezza. Se un test automatico segnalava un problema, avvisava immediatamente il nostro team, consentendo una rapida identificazione e azione sul problema.

La flessibilità del nostro processo ha permesso al nostro team di affrontare rapidamente qualsiasi problema emerso durante la costruzione. Abbiamo implementato tempestivamente le modifiche richieste e abbiamo ripristinato la build senza ritardi, assicurando un'interruzione minima.

Integrare i test funzionali in ogni sprint

Siamo passati senza soluzione di continuità dalla verifica ad ampio raggio degli smoke test all'approccio mirato e meticoloso dei test funzionali. In questo modo abbiamo garantito che ogni nuovo aggiornamento fosse efficace in modo isolato e si integrasse perfettamente con i componenti del software già esistenti. Abbiamo eseguito test funzionali a ogni sprint, in modo che ogni sviluppo incrementale venisse valutato in modo rigoroso, per garantire la qualità e la coerenza complessiva del software.

Test di regressione del software

Abbiamo seguito un processo snello ma completo per implementare test di regressione automatizzati. Il nostro team ha creato un ambiente di test che rispecchia le condizioni reali di produzione, assicurando che i risultati fossero il più possibile accurati. Con Selenium abbiamo automatizzato gli script dei test di regressione, aumentando significativamente l'efficienza, un fattore cruciale per i sistemi complessi.

Una volta automatizzati, abbiamo eseguito questi script con l'ultima build per verificare eventuali incongruenze o malfunzionamenti. Dopo aver eseguito i test, abbiamo analizzato a fondo i risultati, individuando eventuali bug o problemi emergenti.

Se rilevavamo dei problemi, li affrontavamo prontamente modificando il codice e ripetendo i test per confermare l'efficacia delle nostre correzioni. Questo ciclo di test, analisi e perfezionamento è stato costante con ogni nuovo aggiornamento del software, assicurandone la stabilità e la funzionalità prevista. Questo approccio efficiente ai test di regressione è stato fondamentale per mantenere l'affidabilità e le prestazioni del software, riducendo così il rischio di bug e fornendo un'esperienza utente fluida.

Pipeline di integrazione continua/consegna continua (CI/CD)

Oltre al nostro rigoroso processo di test, abbiamo anche integrato i nostri test nella pipeline di continuous integration/continuous delivery (CI/CD), migliorando l'efficienza e la reattività del nostro ciclo di sviluppo. Abbiamo utilizzato lo strumento Allure per la creazione di report dettagliati, che ci hanno fornito una visione chiara dei risultati dei test. Questa integrazione ci ha permesso di impostare un sistema automatizzato in cui i test venivano lanciati ogni notte. Questa routine di test notturni assicurava che ogni nuova modifica fosse immediatamente valutata, consentendo una rapida identificazione e risoluzione dei problemi. L'integrazione dei report di Allure nella nostra pipeline CI/CD ha fatto sì che il nostro team avesse accesso a dati di test completi ogni mattina, semplificando il processo decisionale e mantenendo una costante attenzione alla qualità e alla stabilità. Questa integrazione ha accelerato il nostro processo di test e ha rafforzato l'affidabilità di ogni build del software che abbiamo consegnato.

Fasi dettagliate della nostra pipeline CI/CD:

  • Codice: Gli sviluppatori hanno scritto e perfezionato il codice, assicurandosi che fosse conforme ai nostri standard di funzionalità e design.
  • Impegno: Abbiamo quindi effettuato il commit del codice aggiornato nel nostro sistema di controllo delle versioni, segnando il primo checkpoint della pipeline.
  • Crea: Questo codice impegnato è stato sottoposto a un processo di compilazione, dove è stato convertito in una forma eseguibile, pronta per essere testata.
  • Test unitari: Abbiamo sottoposto la build a test unitari, in cui i singoli componenti sono stati testati per verificarne la correttezza. Questo è stato fatto per garantire che ogni componente funzionasse perfettamente.
  • Test sul fumo: Dopo i test unitari, abbiamo condotto degli smoke test sulla build per verificare rapidamente se le funzionalità critiche funzionavano come previsto.
  • Impegno: Dopo i test di fumo, il codice è stato reinserito nel sistema di controllo della versione, incorporando tutte le modifiche apportate in seguito ai test.
  • Recensione: Abbiamo esaminato a fondo ogni commit, assicurandoci che le modifiche fossero conformi ai nostri standard di qualità e allineate agli obiettivi del progetto.
  • Messa in scena: La build è stata spostata in un ambiente di staging, che rispecchia fedelmente la configurazione di produzione, per ulteriori test.
  • Test di sistema: In fase di staging, abbiamo condotto test di sistema completi per convalidare la build in un ambiente che simulava l'utilizzo reale.
  • Produzione: Una volta che la build ha superato con successo tutte le fasi di test, è stata distribuita nell'ambiente di produzione, rendendola disponibile per gli utenti finali.

Tecnologie

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

Processo

Metodologia agile e struttura degli sprint

Nel nostro progetto ci siamo attenuti rigorosamente alla metodologia Agile, strutturando il processo di sviluppo in sprint di due settimane. Questo approccio ci ha permesso di suddividere il progetto in parti gestibili, garantendo coerenza ed efficienza in ogni fase.

Gestione dei compiti e collaborazione di gruppo

All'inizio di ogni sprint, abbiamo definito obiettivi e compiti chiari, che sono stati monitorati utilizzando Jira. Questo strumento ha mantenuto il nostro team allineato e in linea con i tempi. Lo abbiamo utilizzato non solo come un tracker di attività, ma come un hub centrale per la collaborazione e la comunicazione, in modo che ogni membro del team fosse sempre aggiornato sugli ultimi sviluppi e sulle priorità.

Revisione dello sprint e reportistica dettagliata

Quando ci siamo avvicinati alla fine di ogni sprint, la nostra attenzione si è spostata sul consolidamento del lavoro e sulla preparazione della revisione dello sprint. Abbiamo compilato con cura rapporti dettagliati che evidenziavano la copertura e i risultati dei test. Questi rapporti non erano solo un riassunto delle attività completate, ma fornivano un'analisi approfondita dei risultati ottenuti, delle sfide affrontate e del modo in cui le avevamo superate. Includevano anche il feedback dei nostri processi di test e tutti gli insegnamenti che potevano essere portati avanti nello sprint successivo.

Team

3

Ingegneri AQA

1

Ingegnere DevOps

Risultati

Distribuzione accelerata delle funzionalità e riduzione dei bug di produzione 50%

L'implementazione di test automatizzati per il sistema ERP del nostro cliente ha portato a notevoli miglioramenti ed efficienze:

  • Rilascio più rapido di nuove funzionalità: con i test automatizzati, le nuove funzionalità sono state rilasciate due volte più velocemente rispetto al precedente processo manuale.
  • Riduzione dei bug: L'integrazione del CI/CD ha portato a una riduzione di 50% dei bug che raggiungono la produzione, migliorando in modo significativo l'affidabilità del software.

Alla luce di questo risultato positivo, il nostro cliente ha espresso il proprio entusiasmo per la nostra collaborazione. Riconosce il valore che la nostra esperienza e l'implementazione di tecnologie all'avanguardia apportano alla sua attività. In futuro, lavoreremo a stretto contatto con il nostro cliente per costruire sui successi ottenuti ed esplorare ulteriori opportunità per migliorare i suoi sistemi e processi.

Durata del progetto
  • Settembre 2023 - In corso

2x

aumento della velocità di rilascio delle funzionalità

50%

meno bug che raggiungono la produzione

Contattateci!

Prenota una chiamata oppure compilate il modulo sottostante e sarete ricontattati una volta elaborata la vostra richiesta.

    Si prega di includere i dettagli del progetto, la durata, lo stack tecnologico, i professionisti IT necessari e altre informazioni pertinenti
    Registra un messaggio vocale sul tuo
    progetto per aiutarci a capirlo meglio
    Allega ulteriori documenti se necessario
    Caricare il file

    È possibile allegare fino a 1 file di 2 MB complessivi. File validi: pdf, jpg, jpeg, png

    Vi informiamo che cliccando sul pulsante Invia, Innowise tratterà i vostri dati personali in conformità con la nostra Informativa sulla privacy allo scopo di fornirvi informazioni adeguate.

    Cosa succede dopo?

    1

    Dopo aver ricevuto ed elaborato la vostra richiesta, vi ricontatteremo a breve per illustrare le esigenze del progetto e firmare un NDA per garantire la riservatezza delle informazioni.

    2

    Dopo aver esaminato i requisiti, i nostri analisti e sviluppatori elaborano una proposta di progetto con l'ambito di lavoro, le dimensioni del team, i tempi e i costi stimati.

    3

    Organizziamo un incontro con voi per discutere l'offerta e giungere a un accordo.

    4

    Firmiamo un contratto e iniziamo a lavorare sul vostro progetto il prima possibile.

    Grazie!

    Il tuo messaggio è stato inviato.
    Elaboreremo la vostra richiesta e vi ricontatteremo al più presto.

    Grazie!

    Il tuo messaggio è stato inviato.
    Elaboreremo la vostra richiesta e vi ricontatteremo al più presto.

    freccia