Quante volte abbiamo desiderato farci piccoli piccoli per vedere il dietro le quinte di un evento, di un’attività o della realizzazione di un prodotto? Abbiamo sete di conoscenza, ma non è solo questo… cerchiamo in fondo anche rassicurazioni.
La serenità e la soddisfazione dei nostri clienti è tutto, ecco perché ci piace raccontare nei nostri post cosa significa per gli atonpeople fare innovazione, come affrontiamo i progetti e quali strumenti utilizziamo per sviluppare applicazioni performanti e di qualità.
La scelta delle metodologie di lavoro influisce prima di tutto sui processi interni all’azienda, aumentando la produttività e l’efficienza, ma si riflette positivamente anche sui clienti.
Rilasciare un nuovo aggiornamento su un’applicazione di vendita o un e-commerce B2B testando solo la nuova funzionalità e non il sistema completo potrebbe rappresentare una minaccia alla continuità operativa dell’agente che opera sul campo o del titolare di un bar o ristorante che deve effettuare un riordino urgente di alcuni prodotti.
I test cosiddetti unitari e di integrazione sono strutturati per prendere un particolare aspetto dell’applicazione e la valutano in modo isolato. Anche se questi pezzi funzionano bene da soli, non si ha la certezza che funzioneranno bene insieme. Per esempio, se vengono fatti degli aggiornamenti al filtro “categoria”, questi potrebbero avere delle ripercussioni anche sul filtro “brand” e sfuggirebbero a queste tipologie di test: sarebbe direttamente l’utente a riscontrarle.
I test end-to-end verificano in modo automatico che l’intero flusso di un’applicazione funzioni come progettato.
Come? Simulano scenari reali, testando essenzialmente come un utente utilizzerebbe l’applicazione. Individuate le anomalie, correggerle (per chi è del mestiere) è un gioco da ragazzi!
Qui sotto un esempio, in cui il nostro test percorre la “storia delle azioni” che un utente potrebbe fare nella creazione dell’ordine nel nostro e-commerce B2B, verificando che ogni passo si inserisca bene nel flow complessivo. Ogni azione è ovviamente simulata, ma lo è in modo totalmente trasparente al sistema: un’ attenzione da tenere nella progettazione del sistema stesso è quindi che sia testabile, ossia progettato in modo da rendere possibile questa simulazione trasparente. E’ un piccolo onere in più, ma paga tantissimo in termini di controllo sul processo di sviluppo!
Una metodologia, quella dei test end-to-end, che si sposa perfettamente con la Continuous Integration: ogni volta che vengono apportate modifiche, dopo averle testate ed essersi assicurati che siano funzionanti, vengono integrate in un repository condiviso. In questo modo il sistema rileva le modifiche fatte al repository, esegue dei test automatici sul codice e identifica l’origine di eventuali problemi di integrazione così da permetterne l’immediata correzione. In questo modo i programmatori si interfacciano in modo continuativo e strutturato durante lo sviluppo di un’app, e diventa più difficile… fare errori!
Al centro dei nostri pensieri sempre il cliente e le migliaia di utenti che utilizzano le nostre applicazioni: garantire loro un servizio e un prodotto di qualità nel minor tempo possibile è la nostra missione. In questo ed in successivi articoli abbiamo intenzione di condividere come lo facciamo!