CAP04 Flashcards

1
Q

Panoramica sulle Tecniche di Test

A

Le tecniche di test sono metodi utilizzati per progettare i test case e verificare che un sistema soddisfi i requisiti funzionali e non funzionali. Queste tecniche si dividono principalmente in tre categorie: tecniche basate su specifica (black-box), tecniche basate su struttura (white-box) e tecniche basate sull’esperienza.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Tecniche di Test Black-Box

A

Le tecniche di testing black-box si concentrano su ciò che il sistema deve fare, ignorando come funziona internamente. Si basano sui requisiti e sulle specifiche funzionali per progettare i test case, senza considerare il codice o la struttura del sistema.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Partizionamento di Equivalenza

A

Il partizionamento di equivalenza è una tecnica di testing black-box che divide i dati di input di un’applicazione in gruppi chiamati partizioni di equivalenza. Ogni partizione rappresenta un insieme di valori che si prevede siano trattati in modo simile dal software. Il test viene progettato scegliendo un valore rappresentativo per ogni partizione.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Analisi ai Valori Limite

A

L’analisi ai valori limite è una tecnica di testing black-box che si concentra sui valori al confine tra le partizioni di equivalenza, dove è più probabile che si verifichino errori. Questa tecnica si basa sull’idea che i difetti spesso si verificano ai bordi delle condizioni.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Testing della Tabella delle Decisioni

A

Il testing della tabella delle decisioni è una tecnica di testing black-box che utilizza tabelle per rappresentare e testare tutte le combinazioni possibili di condizioni e azioni in un sistema. È particolarmente utile per sistemi complessi con molteplici regole decisionali.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Testing delle Transazioni di Stato

A

Il testing delle transizioni di stato è una tecnica Black-box utilizzata per verificare il comportamento di un sistema che può trovarsi in uno di diversi stati

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Tecniche di test White Box

A

Le tecniche di test White Box (nota anche come test strutturale) si concentrano sulla verifica del comportamento interno di un’applicazione, esaminando il codice sorgente, la logica e la struttura del programma. In altre parole, il tester ha accesso al codice e testano la funzionalità e l’affidabilità del software basandosi sulla sua implementazione interna.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Testing delle Istruzioni e Copertura delle Istruzioni

A

La copertura delle istruzioni è una misura che indica la percentuale di istruzioni del codice che vengono effettivamente eseguite durante i test. Una copertura del 100% significa che tutte le righe di codicesono state testate. Questo tipo di test aiuta a garantire che non ci siano parti del codice non testate che potrebbero contenere bug o errori.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Testing dei Rami e Copertura dei Rami

A

Testing dei rami è una tecnica di test white-box che si concentra sull’esecuzione di tutti i rami (o branch) di un programma, ovvero le decisioni che possono portare a percorsi alternativi nel flusso di controllo del codice. L’obiettivo è verificare che tutte le possibili scelte condizionali, come if-else, switch-case, e while loop, vengano testate in modo adeguato.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Il Valore del Testing White-box

A

Il testing white-box è una tecnica di test in cui il tester ha accesso completo al codice sorgente dell’applicazione. Questo tipo di testing permette di esaminare e testare la logica interna del software, piuttosto che concentrarsi solo sugli input e sugli output, come nel testing black-box. Il valore del testing white-box deriva dalla sua capacità di fornire una visibilità approfondita sul funzionamento interno del sistema e di rilevare difetti che potrebbero non essere visibili con altre tecniche di test.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Tecniche di Test basate sull’Esperienza

A

Le tecniche di test basate sull’esperienza si fondano sulla conoscenza, competenza e intuizione del tester per identificare i difetti nel software. Invece di seguire rigorosi piani di test strutturati, queste tecniche si basano sull’esperienza pregressa del tester, che può derivare da precedenti progetti, conoscenza del dominio, o esperienza diretta con il software. Queste tecniche sono utili per scoprire errori difficili da prevedere attraverso metodi formali.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Error Guessing

A

Error Guessing è una tecnica di testing basata sull’esperienza del tester per anticipare dove potrebbero verificarsi degli errori nel software. In pratica, il tester utilizza la propria conoscenza del sistema, della sua architettura e dei difetti comuni per “indovinare” le aree più vulnerabili del software e concentrarsi su di esse durante i test.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Testing Esplorativo

A

Il Testing Esplorativo è un approccio di testing in cui il tester esplora attivamente il software senza seguire uno script o un piano di test predefinito. Invece di eseguire test specifici in base a requisiti dettagliati, il tester utilizza la propria esperienza, curiosità e intuizione per scoprire bug, difetti o comportamenti imprevisti.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Testing Checklist-Based

A

Il Testing Checklist-Based è una tecnica di testing in cui il tester utilizza una lista di controllo (checklist) per assicurarsi che tutte le condizioni importanti vengano verificate durante i test. La checklist contiene elementi che il tester deve controllare, che possono essere basati su esperienze passate, conoscenze dei requisiti o tipici difetti del software.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Approcci del Test basati sulla Collaborazione

A

Gli approcci del test basati sulla collaborazione sono tecniche in cui il team di sviluppo, tester, e altre parti interessate (come i clienti o gli utenti) lavorano insieme per progettare, eseguire e valutare i test. L’obiettivo principale di questi approcci è ottenere una comprensione condivisa dei requisiti e delle aspettative per il software, migliorando così l’efficacia del processo di testing e garantendo che il prodotto soddisfi le esigenze reali.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Scrittura Collaborativa delle User Story

A

La scrittura collaborativa delle user story è un processo in cui membri di diversi team (come sviluppatori, tester, product owner, e altre parti interessate) lavorano insieme per definire e scrivere le user story in modo chiaro e condiviso. Le user story sono brevi descrizioni di funzionalità o requisiti che il sistema deve soddisfare, scritte dal punto di vista dell’utente finale.

17
Q

Criteri di Accettazione

A

I criteri di accettazione sono le condizioni specifiche che una funzionalità o una user story deve soddisfare affinché sia considerata completata e accettata dagli stakeholder (ad esempio, clienti, product owner, o team di testing). Questi criteri definiscono cosa deve essere fatto affinché una parte del software risponda correttamente alle aspettative e ai requisiti richiesti.

18
Q

Acceptance Test-Driven Development (ATDD)

A

L’Acceptance Test-Driven Development (ATDD) è una pratica di sviluppo software che coinvolge lo sviluppo di applicazioni guidato dalla definizione e dall’esecuzione dei test di accettazione. Si tratta di un approccio collaborativo in cui sviluppatori, tester e stakeholder aziendali lavorano insieme per definire i criteri di accettazione prima di iniziare la scrittura del codice.

19
Q

acceptance test-driven development

A

Acceptance Test-Driven Development (ATDD) è un approccio di sviluppo software in cui i test di accettazione vengono scritti prima che il codice venga sviluppato. L’obiettivo è garantire che il software soddisfi i requisiti e le aspettative degli stakeholder (clienti, utenti, etc.) prima di iniziare a scrivere il codice.

20
Q

analisi ai valori limite

A

L’analisi ai valori limite è una tecnica di testing utilizzata per identificare e testare i punti critici di un sistema che si trovano ai confini di un intervallo di valori accettabili. Si basa sull’idea che gli errori spesso si verificano proprio nei limiti estremi degli input, quindi è fondamentale concentrarsi su questi valori durante il processo di test.

21
Q

approccio del test basato sulla collaborazione

A

L’approccio del test basato sulla collaborazione si concentra sul coinvolgere diversi membri del team, provenienti da ruoli diversi, durante il processo di testing. Questo approccio promuove una comunicazione continua e la condivisione di conoscenze tra sviluppatori, tester, clienti e altri stakeholder, per migliorare la qualità del software e per garantire che tutte le prospettive siano prese in considerazione.

22
Q

copertura

A

La copertura nel contesto del testing del software si riferisce alla misura in cui il processo di testing esplora il codice, le funzionalità o i requisiti di un sistema. Più alta è la copertura, maggiore è la probabilità che il software venga testato in modo completo, riducendo il rischio di errori o malfunzionamenti non rilevati.

23
Q

copertura dei rami

A

La copertura dei rami è una tecnica di test white-box che misura quanto del codice condizionale di un programma è stato eseguito durante i test. In altre parole, si concentra sul verificare se tutte le possibili diramazioni (rami) di una struttura condizionale (come if, else, switch, ecc.) sono state esplorate durante il testing.

24
Q

copertura delle istruzioni

A

La copertura delle istruzioni è una tecnica di test white-box che misura quanto del codice sorgente di un programma è stato effettivamente eseguito durante i test. In pratica, si tratta di verificare che ogni singola istruzione del codice sia stata eseguita almeno una volta durante il processo di testing.

25
Q

criteri di accettazione

A

I criteri di accettazione sono le condizioni specifiche che una user story o una funzionalità di un software deve soddisfare affinché possa essere considerata completa e accettata dagli stakeholder (clienti, utenti, sviluppatori, ecc.).

26
Q

elemento di copertura

A

Un elemento di copertura è un aspetto o una parte di un software che viene testato per verificare se il codice o la funzionalità soddisfa determinati requisiti. In altre parole, rappresenta un “pezzo” del programma che è stato effettivamente esercitato durante il testing.

27
Q

error guessing

A

Error Guessing è una tecnica di testing basata sull’esperienza, in cui il tester cerca di prevedere dove potrebbero verificarsi errori nel software, utilizzando la propria conoscenza del sistema, degli errori comuni o dei difetti già riscontrati in passato.

28
Q

partizionamento di equivalenza

A

Partizionamento di Equivalenza è una tecnica di test utilizzata per ridurre il numero di test necessari, suddividendo l’intero insieme di dati di input in “partizioni” o “classi di equivalenza”. L’idea è che, se un test eseguito su un valore rappresentante di una partizione è valido, allora anche tutti gli altri valori della stessa partizione dovrebbero essere trattati allo stesso modo dal sistema.

29
Q

tecnica di test

A

Le tecniche di test sono metodi utilizzati per progettare, eseguire e analizzare i test di un software al fine di verificarne il funzionamento, identificare difetti e assicurare che soddisfi i requisiti specificati. Le tecniche possono essere suddivise in diverse categorie, ciascuna con un focus e un approccio specifico.

30
Q

tecnica di test basata sull’esperienza

A

La tecnica di test basata sull’esperienza si riferisce all’approccio in cui il tester utilizza il proprio know-how, intuizione e conoscenza del dominio per progettare e condurre i test. Questa metodologia si basa principalmente sulla competenza del tester e sulla sua comprensione del comportamento del sistema e dei tipi di difetti che possono emergere. A differenza delle tecniche di test formali, che si basano strettamente sulle specifiche e sui requisiti del software, questa tecnica si focalizza sull’anticipare e identificare i difetti attraverso l’esperienza e le conoscenze acquisite in passato.

31
Q

tecnica di test black-box

A

La tecnica di test black-box è un metodo di testing in cui il tester non ha accesso al codice sorgente o alla struttura interna del sistema. L’obiettivo è testare il software esclusivamente in base ai suoi comportamenti esterni e ai requisiti funzionali. In altre parole, il tester verifica che il sistema funzioni come previsto, senza preoccuparsi di come il software esegue le operazioni internamente.

32
Q

tecnica di test white-box

A

La tecnica di test white-box (o test strutturale) è un metodo di testing in cui il tester ha accesso al codice sorgente del software e può verificarne il funzionamento interno. L’obiettivo di questa tecnica è testare le singole parti del codice, le strutture logiche e i flussi di controllo, per assicurarsi che tutto funzioni correttamente.

33
Q

testing checklist-based

A

Il testing checklist-based è una tecnica di test in cui vengono utilizzate delle checklist (liste di controllo) per garantire che tutte le condizioni importanti siano verificate durante il processo di testing. Queste checklist vengono create in base all’esperienza del team, ai requisiti del software e ai possibili scenari di errore.

34
Q

testing della tabella delle decisioni

A

Il testing della tabella delle decisioni è una tecnica di test utilizzata per verificare il comportamento di un sistema o applicazione quando sono presenti combinazioni di condizioni complesse. Si basa sull’uso di una tabella delle decisioni, che mappa tutte le possibili combinazioni di condizioni (entrate) a un set di azioni (uscite).

35
Q

testing delle transazioni di stato

A

Il testing delle transizioni di stato è una tecnica di test utilizzata per verificare il comportamento di un sistema che cambia il suo stato in base agli input ricevuti. Questo tipo di test è particolarmente utile per le applicazioni che seguono un modello a stati finiti (Finite State Machine, FSM), dove il sistema può trovarsi in uno stato specifico e può transitare in altri stati in base agli eventi o alle azioni.

36
Q

testing esplorativo

A

Il testing esplorativo è un approccio di testing in cui il tester esplora attivamente il software senza seguire un piano di test predefinito, ma utilizzando la propria conoscenza del dominio e la propria creatività per individuare errori e problemi. In questo tipo di test, progettazione, esecuzione e valutazione dei test avvengono simultaneamente, permettendo di scoprire difetti in modo più dinamico e intuitivo.