Un ambiente comprendente hardware, strumentazione, simulatori, strumento software ed altri elementi di supporto necessari per condurre un test.
Una tecnica statistica nel processo decisionale che viene utilizzata per la selezione di un numero limitato di fattori che producono un significativo effetto globale. Nel caso di miglioramento della qualità, la grande maggioranza dei problemi (80%) sono prodotti da un ristretto numero di cause (20%).
Analisi del codice sorgente condotta senza l’esecuzione del software stesso.
Uno strumento che effettua l’analisi statica.
Ogni condizione che devia dalle aspettative basate sulle specifiche dei requisiti, documenti di progetto, documenti utente, standards, etc. o dalla percezione o esperienza di qualcuno. Le anomalie possono essere trovate durante, ma non solo, revisioni, testing, analisi, compilazione, uso di prodotti software
La percentuale di difetti che sono stati rimossi nella stessa fase (del ciclo di vita del software) in cui sono stati introdotti.
Una valutazione disciplinata dei processi software di un'organizzazione con riferimento ad un modello.
L’uso di software, ad esempio strumento di cattura/riproduzione, per controllare l’esecuzione dei test, per confrontare i risultati effettivi con quelli attesi, per descrivere le precondizioni e gli altri controlli dei test e per rediger rapporti.
Un metodo o una pratica innovativa che contribuisce a migliorare le performance di una organizzazione in un dato contesto. Eessi sono normalmente considerati il metodo o la pratica ‘migliore’ da altre organizzazione che operano nel medesimo contesto.
Un modello che descrive gli elementi chiave di un efficace sviluppo di prodotto e di un efficace processo di manutenzione. Il Capability Maturity Model Integration copre le best practice per la pianificazione, l’ingegnerizzazione e la gestione dello sviluppo del prodotto e per la sua manutenzione.
Un attributo di un componente o sistema specificato (o derivante) dalla documentazione dei requisiti. (per esempio affidabilità, usabilità o vincoli di progettazione)
Una sorgente di un difetto tale per cui la sua rimozione riduce od annulla il verificarsi di quel tipo di difetto.
Il processo di conferma che un componente, sistema o persona soddisfi suoi requisiti specifici ad es. passando un esame.
Durante la fase di chiusura di un processo di test vengono documentati i dati raccolti dalle attività completate per consolidare l’esperienza, il testware, i fatti ed i numeri. La fase di chiusura del test consiste nella finalizzazione e nell’archiviazione del testware e nella valutazione del processo di test, comprendente la preparazione di un report di valutazione del testing.
Esecuzione del processo di test rispetto ad un singolo ed identificabile rilascio dell’oggetto del testing.
Il periodo di tempo che inizia quando un prodotto software viene concepito e termina quando non è più disponibile per essere utilizzato. Il ciclo di vita del software tipicamente include le fasi: concettuale, requisiti, progettazione, implementazione, test, installazione, operativa, manutenzione e, a volte, il ritiro del software. Si noti che queste fasi posso sovrapporsi o essere svolte in modo iterativo.
Attività svolte in ciascuna fase di un progetto di sviluppo del software e come le attività si relazionano tra loro in modo logico e cronologico
Un team inter-funzionale di stakeholders che gestisce il difetti segnalati, dalla rilevazione iniziale alla risoluzione definitiva (rimozione, differimento o cancellazione del difetto). In alcuni casi è lo stesso team del comitato di controllo configurazione.
Il grado con cui un componente o sistema ha una progettazione e/o una struttura interna che è difficile da comprendere, mantenere e verificare.
L'eccessiva dipendenza emotiva o psicologica da un'altra persona, in particolare nel cercare di modificare il comportamento corrente (indesiderato), di quella persona, mentre si continua a sostenerla nel mantenere quel comportamento. Ad esempio nel software testing , lamentarsi del ritardo nella consegna del test e contemporaneamente gloriarsi dell’"eroico" lavoro straordinario per recuperare il ritardo, che in realtà aggrava il ritardo stesso.
La composizione di un componente o di un sistema come definito dal numero, dalle caratteristiche e dalle interrelazioni delle sue parti (SW, HW o altro) costituenti.
Misure di copertura basate sulla struttura interna di un componente o di un sistema.
Il costo totale delle attività relative alla Qualità. Esso è di norma suddiviso in: costi di prevenzione, costi di verifica, costi di difettosità interna e di difettosità esterna.
Un modello, basato sui contenuti, di miglioramento del processo di test, focalizzato su dodici processi aziendali critici. Essi includono processi di alta visibilità, in base ai quali il management ed altri interlocutori giudicano le competenze, e processi fondamentali, le cui prestazioni impattano il profitto e la visibilità aziendale.
Un dirigente senior a cui riferiscono i responsabili del testing.
Una azione umana che produce un risultato scorretto.
Le percezioni e le risposte di una persona derivanti dall'utilizzo o dall'utilizzo previsto di un prodotto software.
Una regola empirica generalmente accettata, che aiuta a raggiungere un certo obiettivo.
Una metodologia di ingegneria del software utilizzata all'interno dello sviluppo software “agile” , le cui pratiche fondamentali sono: la programmazione a coppie, le revisioni estese del codice, lo unit test di tutte le parti di codice e la semplicità e la chiarezza nella codifica.
Un approccio sistematico di identificazione del rischio e di analisi all’identificazione delle diverse modalità di failure e delle relative attività di prevenzione.
Un elemento che è necessario ad un'organizzazione o ad un progetto per realizzare la sua missione. Essi sono gli elementi o le attività critiche richieste per garantire il loro successo.
Una tecnica usata per analizzare le cause dei guasti (difetti). La tecnica modellizza visivamente in che modo le relazioni logiche tra le failure, gli errori umani e gli eventi esterni si possono combinare per causare specifici guasti con l’obiettivo di renderle visibili.
(1) un approccio strutturato per gestire le transizioni di individui, team ed organizzazioni da uno stato corrente ad uno desiderato stato futuro. (2) una modalità controllata per effettuare una modifica, od una proposta di modifica, ad un prodotto o servizio.
Una rappresentazione grafica di input e/o stimoli (cause) con i loro associati output (effetti), che può essere usata per la progettazione di casi di test.
Una tecnica utilizzata per caratterizzare gli elementi di rischio. I risultati di una hazard analysis guideranno i metodi usati per lo sviluppo ed il testing di un sistema.
Un modello di miglioramento organizzativo, che serve come una guida per l'avvio, la pianificazione e l'implementazione di azioni di miglioramento. Il modello IDEAL è così chiamato per le iniziali (inglesi) delle sue 5 fasi: inizio, diagnosi, definizione, azione, apprendimento.
Separazione delle responsabilità, che incoraggia il raggiungimento del testing imparziale.
I dati ricevuti da una sorgente esterna all’oggetto del testing durante l’esecuzione. La sorgente esterna può essere hardware, software od umana.
Il processo di combinazione di componenti o sistemi in aggregati più grandi
Tutti i componenti di un sistema che forniscono informazioni e controlli per l'utente per svolgere specifich e attivitàcon il sistema stesso.
Una entità in un linguaggio di programmazione, la quale è tipicamente la più piccola indivisibile unità di esecuzione.
Il grado di miglioramento dei processi misurato su un insieme predefinito di aree di processo, per le quali vengono raggiunti tutti i rispettivi obiettivi.
Una tabella bidimensionale, che correla due entità (es, requisiti e casi di test). La tabella viene utilizzata per tracciare (in avanti e indietro) i legami fra una entità e l’altra, permettendo così di determinare la copertura raggiunta e di valutare l'impatto delle modifiche proposte
La media aritmetica (media) del tempo intercorso fra i guasti di un sistema. Il MTBF è in genere un indicatore di un modello di crescita dell’affidabilità, che prevede che un guasto del sistema sia immediatamente riparato, come risultato di un processo di riparazione dei difetti.
Una scala di misurazione e il metodo usato per la misurazione.
Un programma di attività progettato per migliorare le performance e la maturità dei processi delle organizzazioni e il risultato di tale programma.
Un momento temporale in un progetto in corrispondenza del quale dovrebbero essere effettuati dei rilasci (anche intermedi) e/o dovrebbero essere ottenuti particolari risultati.
Il numero o la categoria assegnata ad un attributo di una entità ottenuto da una misurazione.
Il processo di assegnazione di un numero o categoria ad una entità per quantificare un suo attributo.
Una raccolta strutturata di elementi che descrivono alcuni aspetti della maturità di una organizzazione ed un supporto nella definizione e nella comprensione dei processi di una organizzazione. Un modello di maturità fornisce spesso un linguaggio comune, una visione condivisa ed un quadro di priorità per le azioni di miglioramento.
Uno schema in cui processi della stessa natura sono classificati, ad esempio un modello di miglioramento dei test.
Un modello di processo che fornisce un elenco di “best practices” su come migliorarlo in modo graduale.
La attività di redazione o modifica di un piano di test.
Un documento che descrive l'approccio, le risorse e il calendario delle attività di revisione previste. Esso identica, tra gli altri: la tipologia di revisione da utilizzare,i documenti e il codice da sottoporre a revisione, i partecipanti, nonché i criteri di ingresso e di uscita da applicare in caso di revisioni formali e le motivazioni per la loro scelta. Si tratta di una registrazione del processo di pianificazione della revisione.
Un piano di test che indirizza un tipico livello di test.
Un documento di alto livello che descrive i principi, l’approccio ed i maggiori obiettivi dell’organizzazione relativa al testing.
Il livello di importanza (di business) assegnato ad un elemento, ad esempio un difetto.
Un approccio sistematico al testing basato sul rischio che utilizza l’identificazione e l’analisi dei rischi di prodotto per creare una matrice di rischio che comprende la sua probabilità ed il suo impatto. Il termine è derivato dalla Gestione del rischio di prodotto
Una sequenza di casi di test in ordine di esecuzione e ogni altra azioe associata che puà essere richiesta per settare le precondizioni iniziali e ogni attività di riepilogo post esecuzione
Un insieme di attività correlate tra loro, le quali trasformano un input in output.
Il processo di sviluppo e implementazione di un profilo operativo.
Una tecnica di progettazione di test black-box nella quale i casi di test sono progettati a partire dai grafi causa-effetto.
Un insieme di attività coordinate e controllate con date di inizio e di fine, intraprese per realizzare un obiettivo che sia conforme ai requisiti specificati, compresi i vincoli temporali, di costo e di risorse.
Il processo di dimostrazione della capacità di soddisfare specifici requisiti. Notare che il termine ‘qualificato’ viene usato per designare lo stato corrispondente.
Un metodo per trasformare le richieste dell'utente in ualità progettuale, per implementare le funzionalità che formano la qualità, per applicare le metodologie volte a conseguire la qualità nei sottosistemi, nelle componenti e in definitiva negli specifici elementi del processo di sviluppo.
Raccolta e analisi di dati provenienti dalle attività di test e successivo loro consolidamento in un report per informare le parti interessate.
Un requisito sull'usabilità di un componente o di un sistema.
Un approccio strutturato per capitalizzare le esperienze (lesson learned) e per definire specifici piani d'azione volti a migliorare il prossimo progetto od una sua prossima fase
Una valutazione sistematica dei processi di acquisizione, fornitura, sviluppo, manutenzione o erogazione SW, svolto da (o per conto di) una funzione manageriale, che: conferma i requisiti del sistema e la loro realizzazione nel sistema controlla lo stato di avanzamento del processo, determina lo stato dei piani e delle schedulazioni, valuta l’efficacia dell’operato rispetto agli obbiettivi del processo stesso.
Un fattore che potrebbe avere negative conseguenze future, generalmente espresso come impatto e probabilità.
Il comportamento osservato quando un componente o un sistema viene testato.
Un risultato del testing che non riesce a identificare la presenza di un difetto effettivamente presente nell'oggetto di test.
Un risultato di un test nel quale viene riportato un difetto nonostante non esista nessun difetto nell’oggetto del test.
Una riunione alla fine di un progetto, durante la quale i membri del team valutano lo svolgimento ed i risultati del progetto e ne deducono degli insegnamenti che possono essere applicati ai progetti successivi.
La capacità del prodotto software di essere esteso per adattarsi a carichi crescenti.
Una metodologia incrementale ed iterativa per la gestione di progetti comunemente utilizzata nello sviluppo software “agile”.
Un periodo di tempo ininterrotto trascorso nell’esecuzione di test. Nel testing esplorativo, ogni sessione di test è focalizzata su una dichiarazione di test, ma i tester possono anche esplorare nuove opportunità durante una sessione. Il tester crea ed esegue i casi di test al volo e registra il loro avanzamento.
Il grado dell’impatto che un difetto ha sullo sviluppo o l’operatività di un componente o di un sistema.
Sistemi multipli, eterogenei e distribuiti, che sono inseriti in reti a livelli multipli ed in domini multipli interconnessi, che gestiscono problemi (e/o perseguono obiettivi) comuni ed interdisciplinari su larga scala, di solito senza una struttura di gestione comune.
Programmi, procedure, possibilmente con associata documentazione e dati pertinenti all’operatività del sistema informatico.
Un documento che specifica (auspicabilmente in maniera completa, precisa e verificabile) i requisiti, la progettazione, il comportamento od altre caratteristiche di un componente o sistema e, spesso, le relative procedure per determinare se queste clausole sono state soddisfatte.
Un insieme di requisiti, formali ed a volte obbligatori, sviluppati e utilizzati per prescrivere approcci coerenti al modo di lavorare o per fornire linee guida (ad esempio, norme ISO / IEC, standard IEEE e standard organizzativi).
Una strategia di testing in cui il team di test utilizza diverse tecniche per gestire il rischio di regressione, quali l’automazione dei test di regressione funzionali e/o non-funzionali ad uno o più livelli.
Uno strumento software sviluppato per uno specifico insieme di utenti o clienti
Uno strumento che supporta le attività di progettazione dei test, generando input di test da una specifica, che può essere mantenuta in un archivio ( per esempio in uno strumento di gestione dei requisiti), partendo da condizioni di test detenute nello strumento stesso o dal codice.
Uno strumento che fornisce il supporto al processo di revisione. Caratteristiche tipiche includono la pianificazione ed il monitoraggio, la comunicazione, le revisioni di collaborazione ed un archivio per la raccolta e la registrazione di metriche.
Uno strumento software che è disponibile per tutti gli utenti potenziali in forma di codice sorgente, di solito via internet. I suoi utenti, solitamente sotto licenza, possono studiare, modificare, migliorare e, a volte, distribuire il software..
Un test è considerato superato se il suo risultato effettivo corrisponde al suo risultato atteso
Un metodo di analisi strutturato, usato anche come un modello basato sui contenuti per migliorare il processo di test. Non richiede che i miglioramenti avvengano in un ordine specifico.
Un insieme di uno o più casi di test.
Test basati sull'esperienza, sulla conoscenza e sull'intuito del tester.
Un insieme di test automatizzati che convalida l'integrità della compilazione di ogni nuova build e ne verifica la funzionalità, la stabilità e la testabilità. È una pratica comune di fronte ad un'alta frequenza di creazione di nuove build (ad es., progetti agile) che viene eseguita su ogni nuova build prima di essere rilasciata per ulteriori test.
In grandi progetti, la persona che riporta al responsabile del test ed è responsabile per il project management di un particolare livello di test o un particolare insieme di attività di test.
Una registrazione cronologica dei dettagli rilevanti relativi all’esecuzione dei test.
Un framework a cinque livelli per il miglioramento del processo di test, correlato al Capability Maturity Model Integration (CMMI), che descrive gli elementi chiave di un efficace processo di test.
Gli obiettivi del testing di un’organizzazione, spesso documentati come parte della politica del testing.
Testing eseguito da persone che non sono colleghi e non lavorano nello stesso luogo del team dei progetto.
Una tecnica black-box di progettazione del testing nella quale i casi di test vengono selezionati, possibilmente usando un algoritmo di generazione pseudo-casuale, per corrispondere ad un profilo operativo. Questa tecnica può essere usata per il testing di attributi non-funzionali, come ad esempio affidabilità e performance,
Test eseguito per esporre i difetti di interfaccia e di interazione tra componenti hardware e software.
Il processo di testing per determinare l’interoperabilità di un prodotto software.
Testing delle modifiche ad un sistema in produzione o dell’impatto di un ambiente modificato ad un sistema in produzione.
Testing atto a determinare la sicurezza del prodotto software.
Testing svolto da persone che collaborano con il gruppo di test, ma che non sono dipendenti dell’azienda.
Testing basato su un’analisi della struttura interna del componente o sistema.
Un modello orientato al business per il miglioramento del processo di test, che descrive gli elementi chiave di un processo efficace ed efficiente.
Il tracciamento dei requisiti di un certo livello di test attraverso gli strati della documentazione disponibile (ad esempio, piano di test, specifica di progettazione dei test, specifica dei test case, specifica della procedura di test o script di test).
Conferma per esame (e attraverso la fornitura di evidenze obiettive) che i requisiti, per un uso specifico e predefinito o per una applicazione, sono stati soddisfatti.
Un elemento di memorizzazione in un computer che è accessibile da un programma software tramite un nome di riferimento.
Conferma per esame (e attraverso la fornitura di evidenze obiettive) che specifici requisiti sono stati soddisfatti.
Una tecnica di stima basata sul contributo collettivo di un gruppo di esperti.