Nei moderni ambienti di sviluppo software, come quelli che applicano i paradigmi Agile/DevOps, i tool per l’automazione dei test diventano strumenti insostituibili per eseguire e reiterare molte operazioni, casi di test e cicli di collaudo, altrimenti impraticabili in modalità manuale. Ecco i vantaggi dei test automatici per i team di controllo della qualità del software
Leggi la guida completa su ZeroUno
Come qualunque altro prodotto esistente sul mercato, anche un programma software non è mai perfetto: una volta sviluppato, prima di essere distribuito, commercializzato o messo in produzione all’interno di un’organizzazione, richiede una meticolosa fase di collaudo. Questa affermazione è ancora più attuale in un momento, come quello che stiamo attraversando, dove ogni azienda sta diventando una impresa digitale, dove la parte di software è preponderante e i sistemi software based sono sempre più complessi.
Cos’è il software testing
La fase di collaudo, nei modelli di sviluppo tradizionali, viene pianificata al termine dello sviluppo del codice, e può servire, ad esempio, a verificare la corrispondenza delle funzionalità del software rispetto ai requisiti richiesti dall’utente, oppure se ci sono difetti in grado di pregiudicare la correttezza del funzionamento, o anche a controllare se il livello di usabilità del programma è basso, al punto da compromettere la produttività dell’utilizzatore a cui è indirizzato.
Valutare la qualità del software: diverse metriche automatizzabili
Il software testing funzionale si può definire un’attività per valutare le funzionalità di un programma software, con l’obiettivo primario di identificare bug e malfunzionamenti che possono verificarsi in determinate condizioni di utilizzo.
È tuttavia importante precisare, come emerge dagli esempi indicati, che non tutte le metriche di collaudo sono destinate a misurare e verificare unicamente le caratteristiche e i requisiti funzionali del software, perché esistono anche metriche per valutare la qualità strutturale del codice: i suoi requisiti, cosiddetti, ‘non funzionali’, come le prestazioni, la scalabilità, la manutenibilità, l’usabilità, la sicurezza del programma software.
Ancora, la definizione di software testing è inevitabilmente e indissolubilmente connessa alle modalità di esecuzione del collaudo che, a seconda del ciclo di vita del Software adottato (SDLC) – waterfall o Agile/DevOps – può avvenire attraverso processi, team di tester e tool di automazione differenti.
In generale, pur esistendo diverse tipologie e metodologie di testing del software, eseguibili in modalità manuale o automatica, si possono distinguere due principali approcci di analisi di test, entrambi automatizzabili:
*i metodi di analisi statica, che esaminano il codice del programma (analisi del codice, ispezione, revisione) e la documentazione ad esso associata,
*i metodi di analisi dinamica, che valutano il comportamento del codice mentre è in esecuzione, ad esempio fornendo degli input e osservando i risultati di output.
Continua a leggere la guida su ZeroUno
Leggi la guida completa su ZeroUno
Come qualunque altro prodotto esistente sul mercato, anche un programma software non è mai perfetto: una volta sviluppato, prima di essere distribuito, commercializzato o messo in produzione all’interno di un’organizzazione, richiede una meticolosa fase di collaudo. Questa affermazione è ancora più attuale in un momento, come quello che stiamo attraversando, dove ogni azienda sta diventando una impresa digitale, dove la parte di software è preponderante e i sistemi software based sono sempre più complessi.
Cos’è il software testing
La fase di collaudo, nei modelli di sviluppo tradizionali, viene pianificata al termine dello sviluppo del codice, e può servire, ad esempio, a verificare la corrispondenza delle funzionalità del software rispetto ai requisiti richiesti dall’utente, oppure se ci sono difetti in grado di pregiudicare la correttezza del funzionamento, o anche a controllare se il livello di usabilità del programma è basso, al punto da compromettere la produttività dell’utilizzatore a cui è indirizzato.
Valutare la qualità del software: diverse metriche automatizzabili
Il software testing funzionale si può definire un’attività per valutare le funzionalità di un programma software, con l’obiettivo primario di identificare bug e malfunzionamenti che possono verificarsi in determinate condizioni di utilizzo.
È tuttavia importante precisare, come emerge dagli esempi indicati, che non tutte le metriche di collaudo sono destinate a misurare e verificare unicamente le caratteristiche e i requisiti funzionali del software, perché esistono anche metriche per valutare la qualità strutturale del codice: i suoi requisiti, cosiddetti, ‘non funzionali’, come le prestazioni, la scalabilità, la manutenibilità, l’usabilità, la sicurezza del programma software.
Ancora, la definizione di software testing è inevitabilmente e indissolubilmente connessa alle modalità di esecuzione del collaudo che, a seconda del ciclo di vita del Software adottato (SDLC) – waterfall o Agile/DevOps – può avvenire attraverso processi, team di tester e tool di automazione differenti.
In generale, pur esistendo diverse tipologie e metodologie di testing del software, eseguibili in modalità manuale o automatica, si possono distinguere due principali approcci di analisi di test, entrambi automatizzabili:
*i metodi di analisi statica, che esaminano il codice del programma (analisi del codice, ispezione, revisione) e la documentazione ad esso associata,
*i metodi di analisi dinamica, che valutano il comportamento del codice mentre è in esecuzione, ad esempio fornendo degli input e osservando i risultati di output.
Continua a leggere la guida su ZeroUno
