Il modulo è stato inviato con successo.
Ulteriori informazioni sono contenute nella vostra casella di posta elettronica.
Selezionare la lingua
Innowise ha integrato test automatizzati delle applicazioni web per garantire cicli di sviluppo del software rapidi e privi di bug.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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à.
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.
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
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.
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.
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.
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.
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
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.
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.
3x
distribuzione più rapida delle release
50%
meno bug di produzione
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.
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.
Organizziamo un incontro con voi per discutere l'offerta e giungere a un accordo.
Firmiamo un contratto e iniziamo a lavorare sul vostro progetto il prima possibile.
© 2007-2024 Innowise. Tutti i diritti riservati.
Informativa sulla privacy. Politica sui cookie.
Innowise Sp. z o.o Ul. Rondo Ignacego Daszyńskiego, 2B-22P, 00-843 Varsavia, Polonia
Iscrivendosi si accetta il nostro Informativa sulla privacy, compreso l'uso dei cookie e il trasferimento dei vostri dati personali.
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.