Articoli del meseArticoli del mese

Articoli del mese


Stampa articolo

Articolo del Mese - Marzo 2011

Modelli e processi di User acceptance testing

Randy Rice by Randy Rice

Vi sono molti aspetti da valutare e considerare nel momento in cui si intraprendono attività di User acceptance testing (Uat). In questo articolo vengono esplorate le modalità che consentono di essere coerenti con i progetti utilizzando modelli (pattern) ripetibili mirati a risolvere un problema o raggiungere un risultato prevedibile. Tali modelli possono essere orientati a risolvere problematiche tipiche di attività Uat fornendo agli utenti metodi di testing adatti anche a audience non tecnici.
 
Che cos'è un modello?
L'utilizzo di modelli, schemi, disegni prestabiliti è di grande aiuto in molteplici attività. Io, per esempio, ne faccio un grande uso nel mio hobby che consiste in lavori di falegnameria. Credo che più complesso è il progetto, più si abbia l'esigenza di poter disporre di buoni modelli.
I modelli sono utili perché:
  • forniscono la possibilità di rendere ripetibile un qualcosa;
  • possono adattarsi a una molteplicità di situazioni;
  • si possono avere più pattern per situazioni diverse;
  • possono aiutare a fare una stima delle risorse necessarie.
Qual è il modo migliore per eseguire attività Uat?
Vi sono molti modi per eseguire attività Uat. La cosa essenziale è individuare quelli che possono soddisfare al meglio le proprie esigenze. In molti casi pattern e processi Uat possono essere divisi in due categorie: formali e informali. Non esiste una formula magica per stabilire quanta attività di processo sia corretta per voi, ma credo che sia utile tenere presente quanto segue.
 
  • Il livello di documentazione richiesto dal processo
Più è la documentazione, minore è la possibilità di utilizzare metodi informali. La documentazione può essere ottenuta attraverso approcci di tipo informale, ma se si devono produrre script test e test plan per attività di testing indipendente, sarà difficile rendere coerente la documentazione a metodi di tipo informale. Si consideri, inoltre, che gli script possono essere utilizzati in attività di formazione, documentazione e altre aree di progetto.
 
  • Il livello necessario di ripetibilità del test
Un vantaggio dei test script è fornire un possibile percorso di ripetibilità, un fatto che si dimostra positivo nel momento in cui si vuole pianificare lo scenario in cui verrà effettuato il test. Se esiste una mancanza di conoscenza del processo di business o del sistema, o si vogliono scoprire i difetti invece che confermarne la correttezza, i test informali possono essere la soluzione migliore.
La ripetibilità è necessaria per tre ragioni: 1) essere in grado di confermare
l'insuccesso del software; 2) dire allo sviluppatore cosa si è fatto nel test e 3) essere in grado di testare nuovamente un buco del software.
 
  • Disponibilità di tempo per test design, test performance e test evaluation
Processi di test formali possono assorbire una certa quantità di tempo, soprattutto quando vengono eseguiti per la prima volta. Se si hanno a disposizione soltanto pochi giorni, un approccio meno formale può essere la soluzione migliore. Vi sono tecniche di session-based testing dove ogni singolo test viene eseguito in una o due ore.
A ogni modo considerate sempre che una buona pianificazione può consentire un risparmio di tempo, riducendo o eliminando la necessità di ricercare i risultati ottenuti dal test. Pensate sempre come se foste una persona che dopo un test debba rispondere alla domanda: «È un bug o una funzionalità?».
 
  • Come possono essere guidati gli utenti
Una regola fondamentale è scrivere test coerenti con l'audience. Se quest'ultimo deve per esempio conoscere i comandi esatti (come nel caso di una nuova applicazione) dovrete probabilmente fornire test script dettagliati e/o casi di test. Approcci meno formali dipendono invece dalla conoscenza ed esperienza dei collaudatori.
 
  • Il livello di conoscenza che si deve avere sul sistema su cui è stato pianificato il test
Per pianificare test di accettazione si deve avere conoscenza del sistema e del processo di business. Se manca una delle due, dovrete in qualche modo ottenerla per poter creare rapidamente test documentati. Il test esplorativo è un buon modo per imparare e, nello stesso tempo, eseguire attività di testing.
 
  • Il tasso di rischio a livello di business, tecnico e di progetto
Vi sono opinioni divergenti su questo punto, ma io ritengo che più il rischio è alto, più si abbia bisogno di una maggiore definizione. Immaginate di utilizzare un dispositivo medicale a rischio di sicurezza: cosa avreste preferito che si fosse utilizzato nelle attività di testing: un processo di test formale con casi e script che fossero stati revisionati in base ai requisiti o un'attività di testing informale?
 
  • L'abilità degli utenti di pensare a propri test di produttività
Credo che per essere un buon collaudatore per una qualunque attività di test del software sia indispensabile pensare in modo critico e creativo. Questo è un requisito essenziale sia per test esplorativi sia per processi di test formali.
 
  • L'ampiezza del testing
I processi formali possono presentare delle difficoltà in termini di scalabilità relativamente a un ampio numero di test, soprattutto se devono essere creati ed eseguiti in tempi brevi. I processi informali sono spesso utilizzati quando si deve affrontare un volume elevato di attività senza avere a disposizione molto tempo.
 
Approcci informali
Ricordate che il fine di un'attività Uat è la determinazione dell'accettazione del software. Una decisione importante che deve essere presa alla fine del processo dovrebbe essere la seguente: accettiamo il sistema così com'è o vi sono alcune cose che devono essere messe a posto o cambiate? Una cosa è infatti eseguire un test allo scopo di trovare dei difetti, altra cosa è eseguire il test in funzione di una sua accettazione e approvazione.
 
  • Test esplorativi
Per test esplorativo si intende un test che viene creato nel momento stesso in cui viene eseguito. È una forma rapida di testing utile quando non si sa molto dell'applicazione che si sta testando. I test esplorativi non sono soluzioni ad hoc o casuali, basate su ipotesi o assunzioni. Possono essere utilizzati soltanto se gestiti in modo corretto e in modo tale che gli utenti abbiano la presunzione di stare eseguendo un vero test.
 
  • Test agile
Se nei casi in cui è richiesta agilità è preferibile usare il test esplorativo è bene tenere presente che non sempre questo tipo di test può essere eseguito dagli utenti stessi. Qualche volta si deve infatti ricorrere a un qualche automatismo. In contesti di questo tipo, una vera attività di accettazione del software non deve quindi essere creata soltanto in un'ottica funzionale da parte di tester e sviluppatori.
 
  • Beta testing
Nella fase di beta testing si chiede agli utenti finali di provare software in pre-produzione per riscontrare possibili problemi. Nonostante questo approccio permetta di riscontrare una serie di difetti, esistono alcuni problemi: 1) non vi è nessuna garanzia che gli utenti testino alcunché, 2) il test può essere debole e 3) gli utenti possono non essere capaci di descrivere cosa è avvenuto e perché si è verificato un certo problema.
 
Processi formali
I processi formali vengono creati per indirizzare la maggior parte delle sfide proprie di un'attività Uat come complessità, ampiezza, scarsità di tempo e forti curve di apprendimento. Potrebbe sembrare che questi processi siano pesanti e time-consuming, ma spesso è vero il contrario. Il processo che utilizzo è stato creato per pianificare, eseguire e valutare velocemente una rigorosa attività di testing. Utilizzando questo processo in molti progetti ho capito che può essere impiegato velocemente e in modo efficace. Pattern e processi Uat strutturati:
  • sono basati su ciò che accade nel business o nell'organizzazione, non sono né requisiti né specifiche;
  • scompongono i processi di business più importanti, non i processi di sistema, in uno scenario reale;
  • possono testare una persona o una cosa dall'inizio alla fine del suo ciclo di vita all'interno del sistema.
Conclusioni
Il modello Uat che viene selezionato deve essere coerente con il progetto e le esigenze dell'organizzazione. Il modello Uat strutturato è un metodo efficace e organizzato per creare un test di accettazione basato su processi di business. Questo modello permette a un utente non tecnico di iniziare a comprendere il business e il sistema per creare un rigoroso test di accettazione.

Modelli e processi di User acceptance testing - Technology Transfer

Enterprise information catalog. I requisiti per fare la scelta giusta
Mike Ferguson

La nuova era dell’analisi predittiva - Le aziende alla prova del Machine Learning
Frank Greco

Uno sguardo Agile - Per capire il passato e progettare il futuro
Arie van Bennekum

Trasformazione Agile
Se il product owner diventa un collo di bottiglia

Sander Hoogendoorn

Una Fiat o una Ferrari?
Qual è la più adatta per il business digitale?

Barry Devlin

Vincere la complessità dei dati. È l’ora dello smart data management
Mike Ferguson

Big Data e Analytics - Se il machine learning accelera anche la data science
Mike Ferguson

I dati al centro del business
Christopher Bradley

I Big Data forniscono il contesto e la ricchezza predittiva attorno alle transazioni di business Avere dati coerenti e di qualità resta fondamentale per il processo decisionale
Barry Devlin

Cosa c’è dietro l’angolo? Cinque mosse per diventare un digital leader
Jeroen Derynck

Managing information technology Gestire l’IT come un business nel business
Mitchell Weisberg

Data integration self-service Miglioramento della produttività o caos totale?
Mike Ferguson

Project manager vecchi miti e nuove realtà
Aaron Shenhar

La catena alimentare dei requisiti
Suzanne Robertson

Come diventare un’azienda data-centric
Lindy Ryan

Enterprise analytical ecosystem - Come comprendere il comportamento online dei clienti e capitalizzare il valore dei dati nell’era Big Data
Mike Ferguson

Agilità? Basta Volere
Suzanne Robertson

Ma la vostra architettura è efficace?
Mike Rosen

Se il NoSQL diventa SQL
Rick van der Lans

La data quality e l’impatto sul business
Danette McGilvray

Business analysis e regole di business By Ronald G. Ross con Gladys S.W. Lam
Ronald Ross

Usare Scrum su larga scala: cosa cambia?
Craig Larman

Le architetture per ridurre il debito tecnico
Mike Rosen

Conversando con un marziano
Suzanne Robertson

Cosa c’è di nuovo nel project management?
Aaron Shenhar

Reinventare la Business Intelligence
Barry Devlin

Il nuovo volto della business intelligence
Shaku Atre

Alla ricerca del valore tra i pomodori nell'orto
John Favaro

I big data cambiano il mercato dei Database Server
Rick van der Lans

Un “superstorm” di informazioni
Barry Devlin

I dieci step per la qualità dei dati
Danette McGilvray

Perché è meglio evitare il private cloud?
Jason Bloomberg

Leonardo da Vinci aveva ragione!
Chris Date

Mobile user experience: Come adottare una strategia sostenibile
James Hobart

Cosa significa occuparsi di architettura?
Mike Rosen

Virtualizzazione dei dati e sistemi di Business Intelligence Agili
Rick van der Lans

Modelli e linguaggi naturali, quale il modo migliore per definire i requisiti?
James Robertson

Extreme Scoping: un approccio Agile all'Edw e alla BI
Larissa Moss

BI², la Business Intelligence al quadrato
Barry Devlin

I test di regressione in ambienti legacy
Randy Rice

Le conseguenze della consumerizzazione e del Cloud
Chris Potts

Come vanno gli affari? Chiedetelo al vostro cruscotto
Shaku Atre

Organizzare team di progetto efficienti in ambienti DW/BI
Larissa Moss

Big Data, come e perché
Colin White

Business Capabilities e l'allineamento del business all'IT
Mike Rosen

Il valore della tassonomia nella ricerca delle informazioni
Zach Wahl

BI, ma il Data Warehouse è ancora necessario?
Colin White

Reinventare la Business Intelligence
Barry Devlin

Il cruscotto delle prestazioni: il nuovo volto della Business Intelligence
Shaku Atre

Modelli e processi di User acceptance testing
Randy Rice

I limiti nel gestire l'IT come un Business
Chris Potts

Le componenti fondamentali del Cloud
George Reese

Metadati e DW 2.0
Derek Strauss

BI Open Source: basso costo e alto valore?
Jos van Dongen

Semplicità e requisiti
Suzanne Robertson

Business intelligence e analisi testuale
Bill Inmon

Extreme Scoping™: approcci agili al DW e alla BI
Larissa Moss

Dalla BI a un'architettura IT di livello Enterprise
Barry Devlin

Ambiente efficiente di ricerca di informazioni
James Hobart

Il Business deve trainare la Strategia IT
Chris Potts

Web database: la questione MapReduce (seconda parte)
Colin White

Web database: la questione MapReduce
Colin White

Misura delle prestazioni. I sette comandamenti
Harry Chapman

Le dieci cose che un architetto deve fare per creare valore
Mike Rosen

Sviluppare applicazioni a prova di sicurezza
Ken van Wyk

The ECM Landscape in 2008
Alan Pelz-Sharpe

Ma chi sono gli operatori dell’informazione?
Colin White

Qualità dell’informazione e trasformazione del management
Larry English

Classificazione sistematica delle informazioni
Zach Wahl

L’uso intensivo del Web nelle applicazioni di Bi
Colin White

Enterprise Search
Theresa Regli

La forza dell'astrazione
Steve Hoberman

La strada verso una BI pervasiva
Cindi Howson

Soa, una strategia di test
Randy Rice

Verso una BI più semplice e a minor costo
Colin White

I contenuti “Killer” del Web
Gerry McGovern

Sviluppo iterativo del software per i Dw
Larissa Moss

Qualità delle Informazioni e Datawarehousing
Larry English

Lo scenario Ecm 2008
Alan Pelz-Sharpe

La nascita del Web 3.0
John Kneiling

Documentazione: il dossier del crimine
Suzanne Robertson

L’impatto del Web 2.0 sui portali delle imprese
Colin White

Le tecniche vincenti di IT Management
Ken Rau

Web 2.0
Ed Yourdon

Web di successo se si conosce il cliente
Gerry McGovern

Un approccio alla BI incentrato sui processi
Colin White

Integrare Master Data Management e BI (Parte Seconda)
Mike Ferguson

Integrare Master Data Management e BI (Parte Prima)
Mike Ferguson

Il Project Manager è una Tata
Suzanne Robertson

Web di successo se si conosce il cliente
Gerry McGovern

L'informazione personalizzata
Colin White

La Tassonomia dell'Impresa
Zach Wahl

Managed Meta Data Environment (II parte)
David Marco

Managed Meta Data Environment
David Marco

Migliorare le applicazioni dell'impresa con Web 2.0
James Hobart

La Balanced Scorecard migliora la Performance dell'IT
Harry Chapman

La fusione dei processi dell'impresa grazie a Soa (II parte)
Max Dolgicer

La fusione dei processi dell'impresa grazie a SOA (I parte)
Max Dolgicer

Volere è Potere, in Ogni Senso
Suzanne Robertson

Dimostrate con i numeri il valore dei contenuti del web
Gerry McGovern

Il Back-end della pianificazione strategica dell'It
Ken Rau

L'audit delle prescrizioni di progetto (II parte)
Suzanne Robertson

L'audit delle prescrizioni di progetto (I parte)
Suzanne Robertson

Il Processo di gestione delle informazioni
Ted Lewis

I requisiti come strumento di gestione dei progetti
Suzanne Robertson

Il futuro è nel contenuto killer del web
Gerry McGovern

Alla ricerca del valore tra i pomodori nell'orto
John Favaro

Rilevare i costi sulla base delle attività
Ken Rau

Un percorso verso l'impresa intelligente (II parte)
Mike Ferguson

Un percorso verso l'impresa intelligente (I parte)
Mike Ferguson

Il Data Store Operativo: un lavoro di martello
Claudia Imhoff

Il data warehouse orientato all'impresa
Michael Schmitz

Dieci punti chiave per realizzare balanced scorecard di successo
Harry Chapman

Content management: i contenuti al primo posto
Gerry McGovern

Applicazioni Web ad alta disponibilità
John Kneiling

Il 2004, sarà l'anno in cui abbandoneremo html?
James Hobart

La tecnologia EII ripropone il data warehousing virtuale?
Colin White

Misurare per Gestire
Ken Rau

Volere è Potere, in Ogni Senso
Suzanne Robertson

Realizzare il CPM e l'integrazione della BI
Mike Ferguson

Tutti i punti della FPA
Koni Thompson

Requiem per il Portale?
Colin White

Business Intelligence: dalla teoria alla realtà (II parte)
Shaku Atre

Business Intelligence: dalla teoria alla realtà (I parte)
Shaku Atre

I portali Corporate e di E-business: la nuova generazione del posto di lavoro
Mike Ferguson

I 10 errori da evitare nella realizzazione di un Meta Data Repository (II Parte)
David Marco

I 10 errori da evitare nella realizzazione di un Meta Data Repository (I parte)
David Marco

Usare i modelli per acquisire l'esperienza di progettazione
James Hobart

Realizzare l'Impresa Intelligente
Colin White

.NET or J2EE - Choosing the Right Web Services Framework
John Kneiling

Progettare Applicazioni Mobili di Successo
James Hobart

La Sociologia del Progetto: Identificare e Coinvolgere tutti i Partecipanti
Suzanne Robertson

Integrare la Business Intelligence nell'Impresa (II parte)
Mike Ferguson

Integrare la Business Intelligence nell'Impresa (I parte)
Mike Ferguson

L'Evoluzione del Portale di e-Business (II parte)
Colin White

L'Evoluzione del Portale di e-Business (I parte)
Colin White

Il Consulente WebEAI: Servizi Web, XML e l'Impresa
John Kneiling

Data Mining: Come Gestire le Relazioni con i Clienti Secondo i Principi del CRM
Weaver James

Articoli del mese - Technology Transfer