SnapLogic è una piattaforma di integrazione come servizio (iPaaS) che risolve i complessi problemi di integrazione di molte aziende. La piattaforma supporta un'ampia gamma di esigenze di integrazione, tra cui l'integrazione delle applicazioni, l'integrazione dei dati, il supporto di modelli ibridi, i big data, la gestione delle API, l'integrazione B2B e altro ancora, il tutto con un'interfaccia utente self-service facile da usare e potenziata dall'intelligenza artificiale.
La piattaforma di integrazione SnapLogic supporta oltre 500 applicazioni. Testare l'integrazione di queste applicazioni significa testare numerose combinazioni di esse, il che significa anche testare tutte le interazioni della piattaforma SnapLogic con le tecnologie sottostanti di queste varie applicazioni. Per testare questi vasti set di requisiti, l'approccio deve essere intelligente e non esaustivo, utilizzando il giusto set di strumenti di automazione e una pianificazione accurata dei test per raggiungere la qualità desiderata.
Inoltre, ciò che differenzia SnapLogic da altre piattaforme di integrazione è il supporto del modello ibrido, che include un livello aggiuntivo del piano dati in cui i clienti hanno la possibilità di scegliere tra i modelli cloud e on-prem. Questo aggiunge ulteriore complessità al nostro processo di test, in cui il QE (Quality Engineering) deve simulare gli ambienti dei clienti e testare varie configurazioni dei clienti, sia che si tratti di proxy o di configurazioni a livello di sistema operativo, per coprire tutti gli scenari di test.
Un focus laser sulla qualità
Una piattaforma ricca di funzionalità, scalabile e stabile è ciò che i nostri clienti aziendali ci chiedono. Prima che qualsiasi nuova funzionalità venga introdotta, vengono eseguiti test rigorosi per garantire che sia conforme agli standard di qualità di SnapLogic.
Come definisce SnapLogic un prodotto di qualità?
La qualità consiste nel fornire ai clienti il miglior software che sia facile da usare, privo di difetti e che li aiuti a raggiungere i risultati desiderati. In SnapLogic, il collaudo è preso molto sul serio e lo otteniamo grazie a un team dedicato di collaudatori software esperti che esplorano e valutano l'applicazione in modo coerente e creativo per garantire che la qualità del software sia di alto livello prima della spedizione.
Test con metodologia agile
Nell'industria del software sono disponibili molti modelli di test diversi. Alcune organizzazioni seguono i tradizionali modelli a cascata e altre quelli agili. In SnapLogic, seguiamo le pratiche di testing agili per la loro natura adattativa e la migliore prevedibilità. Gli sviluppatori, il team QE e il team Prodotto lavorano insieme per garantire che la piattaforma SnapLogic sia la migliore della categoria. Il team QE è coinvolto fin dall'inizio del ciclo di rilascio e continua a testare in modo iterativo insieme al team di sviluppo. Crediamo che coinvolgendo il QE fin dalle prime fasi del processo, qualsiasi problema o difetto venga identificato e risolto tempestivamente ed entro il ciclo di rilascio. Attraverso gli scrum giornalieri, i product owner si confrontano costantemente con gli sviluppatori e i QE per monitorare i progressi e identificare i rischi. rischi. Quando i rischi o i ritardi del prodotto vengono identificati tempestivamente, è facile risolverli senza compromettere la qualità e la consegna del prodotto. Una volta che il team di collaudo ha completato il processo di certificazione, il prodotto viene approvato e rilasciato per il beta testing e infine per la produzione.
Un approccio sistematico e multilivello ai test
Il processo di test QE di SnapLogic impiega un approccio sistematico e multilivello. Ogni nuova funzionalità sviluppata segue questo modello. Qualsiasi cambiamento nel comportamento introdotto nel codice può influenzare la funzionalità esistente e far regredire l'applicazione. Per identificare i problemi di regressione, eseguiamo costantemente una serie di casi di test esistenti rispetto alla build in evoluzione durante il ciclo di rilascio. Tutti i difetti che si aprono come risultato di questa operazione vengono costantemente gestiti e classificati come prioritari, mantenendo sempre aggiornata la scheda di rilascio. Una volta che l'applicazione ha raggiunto un certo livello di stabilità, continuiamo a testare altre parti dell'applicazione, come le prestazioni e i test end-to-end per i clienti. Questi test assicurano ulteriormente che non vi siano degradi in altre parti del sistema.
In SnapLogic conduciamo diversi tipi di test:
- Test unitari
- Test di integrazione
- Test del fumo
- Test funzionali
- Test esplorativi
- Test delle prestazioni
- Test di scenario end-to-end per i clienti
Test unitari
Questa è la parte più critica dei test, poiché è la parte più vicina al codice sorgente dell'applicazione. Gli sviluppatori sono responsabili della scrittura dei propri test unitari, che devono essere superati prima di consegnare la build al QE. Si tratta di test leggeri che vengono eseguiti molto frequentemente come parte del ciclo di rilascio.
Test di integrazione
I test di integrazione convalidano le interazioni tra i vari servizi all'interno del codice dell'applicazione. Interagiscono a livello di API, il che li rende molto più veloci da eseguire rispetto ai test dell'interfaccia utente. Questi test servono a convalidare rapidamente la salute e la stabilità del sistema distribuito. Se un test di integrazione fallisce, il test dell'applicazione viene interrotto.
Test del fumo
Gli smooth test includono i flussi critici dell'applicazione. Si tratta di test di base che confermano l'assenza di blocchi per i QE prima di procedere con i test. Questi test sono progettati per individuare i principali blocchi dell'applicazione. Sono completamente automatizzati da QE ed eseguiti ogni volta che viene distribuita una nuova build in qualsiasi ambiente per il test di correttezza.
Test funzionali
I test funzionali verificano la logica di business dell'applicazione a livello di interfaccia utente. Questi casi di test sono automatizzati utilizzando il nostro framework interno sviluppato su WebDriver che automatizza tutte le azioni dell'utente che si interfacciano con il browser. Questi test sono completamente automatizzati dal QE, lasciando gli sforzi manuali solo per i test esplorativi e i casi limite. I test di automazione dell'interfaccia utente sono molto vicini all'utilizzo dell'applicazione da parte dei clienti e garantiscono il corretto funzionamento delle funzionalità. Tuttavia, è molto importante non testare in modo esaustivo l'applicazione attraverso i test dell'interfaccia utente, perché questi test tendono a essere un po' fragili e costosi da mantenere. Questi test vengono scelti con parsimonia e abbinati in modo appropriato ai test API per ottenere risultati di qualità ottimale.
Test esplorativi
Come suggerisce il nome, i test esplorativi sono un tipo di test in cui si esplora l'applicazione per imparare e indagare i requisiti aziendali. Eseguiamo questi test prima di creare i casi di test all'inizio del ciclo di test o per catturare i casi limite più tardi nel ciclo. Si tratta di test manuali che richiedono molte risorse e vengono eseguiti solo poche volte in una release, in genere all'inizio o talvolta verso la fine del ciclo. I test esplorativi sono eseguiti dai QE o talvolta al di fuori dell'organizzazione QE e questi test catturano difetti complessi che non possono essere catturati attraverso script automatizzati.
Test delle prestazioni
L'obiettivo del test delle prestazioni è quello di identificare qualsiasi degrado delle prestazioni all'interno dell'applicazione. Per verificarlo, stressiamo alcuni componenti del back-end e monitoriamo i risultati dell'applicazione sotto carico. Confrontiamo i risultati con le linee di base precedenti. Qualsiasi aumento del tempo di risposta viene segnalato come un difetto di prestazioni. I test sulle prestazioni sono completamente automatizzati e gestiti da QE e vengono eseguiti dopo che le caratteristiche sono funzionalmente stabili e possono sostenere una certa quantità di carico per il test.
Test di scenario end-to-end per i clienti
Si tratta di casi d'uso aziendali che testano il sistema dall'inizio alla fine. A differenza dei test unitari e dei test funzionali, che testano componenti specifici dell'applicazione, questi test richiedono che tutti i sistemi dipendenti siano attivi e funzionanti e che scorrano attraverso vari sistemi e componenti. In SnapLogic, il QE è responsabile della creazione di questi casi di test simulando gli scenari dei clienti. La maggior parte di questi casi sono pipeline automatizzate in cui utilizziamo il nostro prodotto per convalidare i nostri test.
Il criterio per la certificazione è che tutti questi test devono essere superati. Tutti i casi di test falliti che corrispondono a difetti vengono documentati come difetti noti o gestiti per le versioni future. Una volta soddisfatti i criteri di certificazione, inviamo i bit per il beta testing in un ambiente UAT (User Acceptance Testing) per il test e il feedback dei clienti. Tutti i feedback ricevuti vengono implementati e i problemi previsti per il rilascio vengono risolti, testati e rilasciati. Una volta soddisfatti tutti i criteri, il prodotto viene inviato in produzione. Tutti i problemi che i nostri clienti possono incontrare in produzione vengono esaminati molto seriamente, analizzati e risolti dal team di test. Vengono quindi rilasciati e incorporati nella suite di test, in modo che non compaiano più nel prodotto.
Conclusione
Garantire un prodotto stabile, di qualità e ad alte prestazioni è stata e rimane una priorità assoluta per noi di SnapLogic. Nel corso degli anni, abbiamo continuamente valutato e perfezionato i nostri processi di QE, abbiamo abbracciato l'automazione e le nuove tecniche e, soprattutto, ci siamo assicurati che il QE lavorasse fianco a fianco con i nostri colleghi di sviluppo e di prodotto, dalla concezione alla consegna.
SnapLogic è orgogliosa dell'innovazione che inserisce regolarmente nei suoi prodotti. Ogni trimestre vengono fornite ai clienti nuove funzioni e funzionalità migliorate. Ma nulla va in produzione e nelle mani dei nostri clienti se non soddisfa i severi standard di qualità di SnapLogic. I nostri clienti se lo meritano.