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.

Automazione dei test delle applicazioni web: 50% meno bug di produzione

Innowise ha integrato test automatizzati delle applicazioni web per garantire cicli di sviluppo del software rapidi e privi di bug.

Cliente

Industria
Telecomunicazioni
Regione
Belgio
Cliente da
2023

Il nostro cliente è un importante fornitore di servizi di comunicazione specializzato in soluzioni di connettività Internet, vendita di modem, fornitura di schede SIM e configurazione di pacchetti televisivi.

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

Sfida

Migliorare i processi di test per accelerare i rilasci di software di alta qualità

Il team di sviluppo interno del cliente aveva inizialmente creato un framework personalizzato per la conduzione di test automatizzati sulla propria applicazione web. Tuttavia, questo framework non era all'altezza degli standard previsti, con il risultato che i test non funzionavano. L'instabilità era aggravata dalla mancanza di una corretta integrazione con il sistema di integrazione continua (CI). Questo ha portato a ritardi nei cicli di feedback e a un aumento degli interventi manuali da parte dei team QA.

Di fronte a queste sfide, il cliente ci ha incaricato di fornire una soluzione solida in grado di snellire i processi di test, ridurre i bug di regressione e accelerare i cicli di rilascio.

Soluzione

Miglioramento delle capacità di QA attraverso l'automazione strategica dei test

Nell'affrontare le sfide del cliente, ci siamo concentrati sulla creazione di una soluzione su misura che avrebbe migliorato la loro processi di garanzia della qualità. Riconoscendo le inefficienze e i limiti della struttura di testing personalizzata esistente, ci siamo proposti di sviluppare una strategia di testing più robusta, scalabile ed efficiente, adattata specificamente alle loro esigenze.

Personalizzazione e integrazione del framework

Sulla base della nostra esperienza in test automatizzati delle applicazioni webPer questo motivo abbiamo adottato una strategia a doppio framework, impiegando sia Cypress che Playwright per i test end-to-end. Abbiamo scelto questi framework per le loro caratteristiche uniche, che sono ben note per la loro stabilità, robustezza e compatibilità con vari browser e ambienti.

Integrazione Cypress

I nostri ingegneri GLP hanno scelto Cypress per le sue eccezionali capacità di test end-to-end. Una delle caratteristiche principali di Cypress è l'accesso nativo alle API del browser senza passare attraverso server intermedi. Questo accelera notevolmente l'esecuzione dei test e riduce la complessità dei test end-to-end. Abbiamo personalizzato Cypress in modo che si integrasse perfettamente con le applicazioni web del cliente, consentendo l'esecuzione dei test in tempo reale e le funzionalità di test visivo. Questa configurazione ci ha permesso di simulare con maggiore precisione le interazioni reali degli utenti. In questo modo abbiamo garantito che tutti i percorsi dell'utente venissero testati a fondo prima che il codice venisse trasferito in produzione. Innowise ha implementato il lancio dei test Cypress all'interno di GitLab, dimostrando che i test sono stati completati con successo su un server remoto dopo la distribuzione. Questo conferma ulteriormente la solidità e l'affidabilità del nostro framework di test in un ambiente di integrazione continua.

Integrazione del drammaturgo

D'altra parte, Playwright si è rivelato ideale per i test front-end e API, grazie alla sua capacità di eseguire test su tutti i principali browser con una configurazione minima. Supporta i test in modalità headless, che è fondamentale per gli ambienti CI, e offre strumenti robusti per gestire eventi asincroni e interazioni complesse con le pagine. Abbiamo sfruttato la funzione di esecuzione parallela dei test di Playwright per eseguire più test simultaneamente in ambienti diversi, riducendo drasticamente il tempo complessivo di test. Inoltre, la ricca serie di API di Playwright ci ha permesso di creare script di test personalizzati che riproducono comportamenti e interazioni complesse degli utenti. Questo ha migliorato la copertura e l'affidabilità dei test. Inoltre, abbiamo realizzato una reportistica completa utilizzando Allure per tenere traccia dei risultati dei test, fornendo chiari approfondimenti e analisi dalle nostre integrazioni con Playwright.

Personalizzazione strategica

Abbiamo configurato ogni framework per allinearlo all'infrastruttura esistente del cliente. Il team di Innowise ha introdotto plugin ed estensioni che hanno migliorato le funzionalità dei framework e permesso l'integrazione con altri strumenti dello stack tecnologico del cliente. Ad esempio, abbiamo integrato Cypress con i servizi di autenticazione del cliente per gestire il login sicuro durante i test. Abbiamo anche configurato Playwright per catturare automaticamente schermate e video da rivedere in caso di fallimento dei test.

Integrazione CI

Gli ingegneri di AQA hanno integrato Cypress e Playwright nella pipeline CI su Gitlab. Questa integrazione ci ha permesso di impostare esecuzioni di test automatizzate che venivano attivate da ogni commit di codice. Automatizzando queste esecuzioni, ci siamo assicurati che ogni codice nuovo o modificato fosse sottoposto a test approfonditi prima di avanzare nel ciclo di sviluppo. Questa impostazione non solo ha accelerato il processo di test, ma ha anche contribuito a individuare bug e problemi nella fase più precoce possibile. Ciò ha contribuito a ridurre il rischio che i difetti arrivino in produzione. La perfetta fusione di questi framework con Gitlab CI ha anche facilitato un flusso di lavoro più fluido, consentendo agli sviluppatori di concentrarsi maggiormente sullo sviluppo delle funzionalità e meno sulle attività di test ripetitive.

Segnalazione su GitLab

Per rafforzare ulteriormente i processi di QA, abbiamo sfruttato gli strumenti di reporting avanzati di Gitlab, concentrandoci in particolare sul miglioramento della trasparenza e della responsabilità tra il team AQA e il personale direttivo. Adattando questi strumenti per generare report dettagliati e in tempo reale, abbiamo fornito a entrambi i team una risorsa preziosa per accedere a dati aggiornati sullo stato dei vari test.

Questi report sono stati progettati per essere completi ma facilmente interpretabili, includendo metriche chiave come la copertura dei test, i tassi di fallimento e i tempi di esecuzione. Questo livello di dettaglio assicurava che i manager potessero comprendere rapidamente l'efficacia degli sforzi di testing e identificare le aree che necessitavano di attenzione, senza richiedere conoscenze tecniche approfondite. Per il team di GLP, questi report sono stati uno strumento fondamentale per monitorare i progressi, individuare i problemi ricorrenti e convalidare la qualità della base di codice.

Sviluppo dell'architettura

Innowise ha sviluppato un'architettura di test scalabile, adatta ad accogliere una vasta gamma di test, tra cui smoke test, test di regressione e test end-to-end completi. Questa architettura è stata progettata per supportare le esigenze immediate del progetto e fornire una base per le iniziative di test future. La natura modulare dell'architettura ha permesso di adattarla e scalarla facilmente. Così, con l'evolversi dei requisiti del cliente, anche il framework di testing poteva evolversi senza richiedere modifiche significative.

Il nostro approccio prevedeva la creazione di un sistema centralizzato di gestione dei test che facilitasse l'organizzazione e il monitoraggio dei casi di test, dei risultati e delle metriche. Questo sistema è stato fondamentale per gestire la complessità di più tipi di test e per fornire un flusso di lavoro coeso attraverso i cicli di test. Grazie all'implementazione di solide funzioni di registrazione dei dati e di analisi dei risultati, abbiamo fornito al team di QA gli strumenti necessari per eseguire valutazioni dettagliate di ciascun ciclo di test, un aspetto fondamentale per mantenere elevati gli standard di qualità del software.

Avvio di test nello strumento Xray Jira

Per migliorare ulteriormente i processi di QA, abbiamo lanciato i test utilizzando lo strumento Xray Jira. Questa integrazione ci ha permesso di tenere traccia e gestire i casi di test direttamente all'interno di Jira, semplificando la comunicazione e la collaborazione tra i team di QA e di sviluppo. Sfruttando le potenti funzionalità di gestione dei test di Xray, abbiamo mantenuto una panoramica completa delle attività di test. Il team QA ha anche tracciato la tracciabilità dai requisiti ai difetti e ha generato rapporti dettagliati sulla copertura e l'esecuzione dei test. Questa integrazione ha migliorato in modo significativo la nostra capacità di individuare e risolvere tempestivamente i problemi, garantendo una consegna del software di alta qualità.

Formazione e responsabilizzazione

Riconoscendo il ruolo critico del trasferimento delle conoscenze nel successo di qualsiasi implementazione tecnologica, abbiamo condotto sessioni di formazione approfondita specificamente adattate a Cypress, dato il suo ruolo centrale nella strategia di testing del cliente. Queste sessioni sono state strutturate in modo da conferire ai team interni del cliente le competenze necessarie per utilizzare, mantenere ed estendere efficacemente i framework di testing in modo indipendente.

La formazione ha coperto una serie di argomenti essenziali, dall'impostazione e configurazione di base degli strumenti di test a funzionalità avanzate come lo scripting per l'automazione dei test e la gestione dell'ambiente. Abbiamo anche incluso esercizi pratici progettati per affrontare gli scenari del mondo reale che il team potrebbe trovarsi ad affrontare, migliorando le loro capacità di risoluzione dei problemi e la fiducia nell'utilizzo degli strumenti.

Oltre alla formazione tecnica, abbiamo sottolineato l'importanza di una mentalità strategica nelle pratiche di assicurazione della qualità. Abbiamo guidato il team su come pianificare ed eseguire test in linea con gli obiettivi aziendali più ampi. Questo approccio ha fatto sì che il team non fosse solo esperto nell'uso della tecnologia, ma anche abile nell'integrare i processi di QA nei loro flussi di lavoro quotidiani.

Tecnologie

Backend

REST API, JSON, Java

Design

Figma, Sketch, Zeplin

Servizi

Firebase (Analytics, Crashlytics, Cloud Messaging, App Distribution), GitLab, Jira, Confluence, Strapi, Slack

AQA

Test unitario + integrazione CI/CD tramite SonarQube, Cypress, Playwright

Processo

Scoperta e pianificazione

Il progetto ha preso il via con incontri di scoperta per comprendere a fondo le esigenze e le sfide specifiche del cliente. Questa fase è stata fondamentale per configurare Cypress e Playwright, assicurare la compatibilità con i sistemi esistenti del cliente e preparare le basi per un’integrazione perfetta.

Sviluppo e integrazione

Abbiamo personalizzato Cypress e Playwright per soddisfare i requisiti di testing unici del cliente e abbiamo integrato questi framework nella pipeline CI di GitLab. Questa integrazione ha automatizzato il processo di testing, consentendo di individuare e risolvere tempestivamente i problemi e di accelerare il ciclo di sviluppo.

Formazione e passaggio di consegne

Il nostro specialista GLP ha condotto sessioni di formazione complete su Cypress per dotare il team del cliente delle competenze necessarie per gestire e ottimizzare i framework di testing in modo indipendente. Inoltre, ha fornito una documentazione dettagliata e le migliori pratiche per supportare la manutenzione e il miglioramento continuo dei.

Comunicazione e gestione dei progetti

Per tutta la durata del progetto, abbiamo mantenuto una comunicazione trasparente tramite Slack e gestito le attività e i progressi attraverso Jira. Questo approccio ha garantito che tutte le parti interessate fossero allineate e il progetto fosse ben coordinato e in linea.

Team

1

Responsabile di progetto

1

Team Lead

1

Ingegnere di automazione QA principale

1

Analista dei dati di test

4

Ingegneri di automazione QA / Esperti SDET

Risultati

Ciclo di rilascio del software più rapido e 2 volte meno bug di produzione

Dopo il successo dell'implementazione dei framework di test automatizzati, il cliente è passato a un solido ambiente di automazione dei test che offre significativi miglioramenti operativi.

  • Maggiore efficienza di rilascio: Sfruttando l'automazione, si è ridotta drasticamente la dipendenza dai test manuali che richiedono molto tempo, consentendo un ciclo di rilascio del software più rapido.
  • Riduzione degli errori: Il miglioramento delle capacità di test ha portato a una diminuzione di 50% dei bug di regressione, dimostrando l'efficacia dei processi di automazione dei test.
  • Maggiore stabilità dell'ambiente di test: Grazie alla messa a punto e all'ottimizzazione delle configurazioni dei test, abbiamo ridotto significativamente il numero di test difettosi, ottenendo risultati più coerenti e affidabili.

Questa revisione strategica ha affrontato le sfide iniziali del cliente con un approccio tecnologico su misura e una guida esperta. Dotando il loro team di strumenti all'avanguardia e di conoscenze approfondite, abbiamo gettato le basi per una scalabilità continua e per continui miglioramenti operativi.

Durata del progetto
  • Agosto 2023 - In corso

3x

distribuzione più rapida delle release

50%

meno bug di 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. 

    We’ll process your request and contact you back as soon as possible.

    freccia