ISTQB Foundation Level - 1 Fondamenti del Testing Flashcards

(148 cards)

1
Q

1.1 Cos’è il Testing

Cos’è il testing del software?

A

Il testing del software è un modo per valutare la qualità del software e ridurre il rischio di failure software in produzione. Include diverse attività come pianificazione, analisi, progettazione, implementazione, reporting e valutazione della qualità.

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

1.1 Cos’è il Testing

Cosa significa testing statico?

A

Il testing statico non richiede l’esecuzione del componente o sistema da verificare ed è un tipo di testing che si riferisce alla revisione di prodotti di lavoro, come i requisiti, le user story e il codice sorgente.

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

1.1 Cos’è il Testing

Qual è la differenza tra testing e debugging ?

A

Il testing è un processo di valutazione della qualità del software, mentre il debugging è l’attività di sviluppo che trova, analizza e corregge i difetti rilevati durante il testing.

In alcuni casi, i tester sono responsabili sia del test iniziale che del test confermativo finale, mentre gli sviluppatori svolgono il debugging, il testing di componente associato e il testing di integrazione dei componenti.

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

1.1 Cos’è il Testing

Che cos’è la verifica e la validazione nel testing del software?

A

La verifica si concentra sulla conformità ai requisiti, alle user story o ad altre specifiche, mentre la validazione si concentra su come il sistema soddisfa le necessità dell’utente e degli altri stakeholder nel suo ambiente operativo.

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

1.1 Cos’è il Testing

Che cosa è il testing dinamico?

A) Il testing che comporta l’esecuzione del componente o sistema sotto test

B) Il testing che non richiede l’esecuzione del componente o sistema da verificare

C) La review di prodotti di lavoro, come i requisiti, le user story e il codice sorgente

D) L’implementazione dei test

A

A) Il testing che comporta l’esecuzione del componente o sistema sotto test

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

1.1 Cos’è il Testing

Come gli obiettivi del testing variano in base al contesto e al livello di testing?

A

Gli obiettivi del testing possono variare a seconda del contesto del componente o sistema sotto test, del livello di test e del modello del ciclo di vita dello sviluppo software.

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

1.1 Cos’è il Testing

Come il testing del software si adatta ai diversi cicli di vita del software?

A

Le attività di test sono organizzate e svolte in modo diverso nei diversi cicli di vita del software.

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

1.1 Cos’è il Testing

Cos’è il testing del software?

A

Il testing del software è un processo che include molte attività differenti, tra cui la pianificazione, l’analisi, la progettazione e l’implementazione dei test, il reporting dell’avanzamento e dei risultati dei test, e la valutazione della qualità di un oggetto di test.

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

1.1 Cos’è il Testing

Cosa significa testing dinamico?

A

Il testing dinamico comporta l’esecuzione del componente o sistema sotto test e si riferisce ai test in cui si controllano i risultati ottenuti dal software.

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

1.1 Cos’è il Testing

Cosa sono le attività di testing dinamico?

A) Il testing che comporta l’esecuzione del componente o sistema sotto test

B) Il testing che non richiede l’esecuzione del componente o sistema da verificare

C) La review di prodotti di lavoro, come i requisiti, le user story e il codice sorgente

D) L’implementazione dei test

A

A) Il testing che comporta l’esecuzione del componente o sistema sotto test

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

1.1 Cos’è il Testing

Perché il testing del software è importante?

A

Il testing del software è importante perché aiuta a prevenire problemi quali perdita di denaro, tempo, reputazione aziendale e persino infortuni o morte causati da software difettosi.

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

1.1 Cos’è il Testing

Qual è l’obiettivo del testing?

A) Sviluppare funzionalità aggiuntive per il software

B) Verificare se il software è privo di bug

C) Valutare la qualità del software e ridurre il rischio di failure software in produzione

D) Incrementare le prestazioni del software

A

C) Valutare la qualità del software e ridurre il rischio di failure software in produzione

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

1.1 Cos’è il Testing

Qual è la differenza tra testing dinamico e statico?

A

Il testing dinamico comporta l’esecuzione del componente o sistema sotto test, mentre il testing statico non richiede l’esecuzione del componente o sistema da verificare.

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

1.1 Cos’è il Testing

Qual è la differenza tra testing e debugging nel processo di sviluppo del software?

A

Il testing è l’attività di individuare failure causati da difetti nel software, mentre il debugging è l’attività di sviluppo che trova, analizza e corregge tali difetti.

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

1.1 Cos’è il Testing

Quali sono alcuni degli obiettivi del testing?

A) Sviluppare funzionalità aggiuntive per il software

B) Verificare se il software è privo di bug

C) Valutare la qualità del software e ridurre il rischio di failure software in produzione

D) Incrementare le prestazioni del software

A

C) Valutare la qualità del software e ridurre il rischio di failure software in produzione

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

1.1 Cos’è il Testing

Quali sono alcuni dei modelli del ciclo di vita dello sviluppo software?

A) Modello a cascata, modello incrementale, modello a V

B) Modello RAD, modello Agile, modello Spiral

C) Modello SDLC, modello Kanban, modello DevOps

D) Modello Scrum, modello Lean, modello Waterfall

A

A) Modello a cascata, modello incrementale, modello a V

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

1.1 Cos’è il Testing

Quali sono alcuni dei problemi causati dal software che non funziona correttamente?

A) Aumento della reputazione aziendale

B) Risparmio di tempo e denaro

C) Infortuni e morte

D) Miglioramento della qualità del software

A

C) Infortuni e morte

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

1.1 Cos’è il Testing

Quali sono gli obiettivi del testing del software?

A

Gli obiettivi del testing del software possono includere la prevenzione dei difetti attraverso la valutazione di prodotti di lavoro come requisiti, user story, progettazione e codice, la verifica se tutti i requisiti specificati sono stati soddisfatti, l’aumento della confidenza nel livello di qualità dell’oggetto di test, la scoperta di failure e difetti per ridurre il rischio di una qualità del software inadeguata, il rispetto di requisiti o standard contrattuali, legali o normativi, e la fornitura di informazioni sufficienti agli stakeholder per prendere decisioni informate riguardo al livello di qualità dell’oggetto di test.

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

1.1 Cos’è il Testing

Quali sono gli obiettivi del testing di accettazione?

A

Gli obiettivi del testing di accettazione possono includere la conferma che il sistema funzioni come previsto e soddisfi i requisiti, e la fornitura di informazioni agli stakeholder sul rischio di rilasciare il sistema in un dato momento.

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

1.1 Cos’è il Testing

Quali sono gli obiettivi del testing di accettazione?

A) Confermare il funzionamento del sistema e aumentare la confidenza nella qualità dell’oggetto di test

B) Verificare se tutti i requisiti specificati sono stati soddisfatti

C) Valutare la qualità del software e ridurre il rischio di failure software in produzione

D) Fornire informazioni sufficienti agli stakeholder per prendere decisioni informate

A

A) Confermare il funzionamento del sistema e aumentare la confidenza nella qualità dell’oggetto di test

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

1.1 Cos’è il Testing

Quali sono gli obiettivi del testing di componente?

A

Gli obiettivi del testing di componente possono includere il trovare quanti più failure possibili, in modo che i difetti sottostanti siano identificati e corretti in anticipo, e l’aumentare la copertura del codice.

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

1.1 Cos’è il Testing

Quali sono gli obiettivi del testing di componente?

A) Trovare quanti più failure possibile

B) Confermare che il sistema funzioni come previsto e soddisfi i requisiti

C) Prevenire difetti attraverso la valutazione di prodotti di lavoro

D) Aumentare la copertura del codice

A

A) Trovare quanti più failure possibile

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

1.1 Cos’è il Testing

Quali sono gli obiettivi tipici del testing del software?

A

Prevenire difetti, verificare la soddisfazione dei requisiti, verificare la completezza e la funzionalità dell’oggetto di test, aumentare la fiducia nella qualità, trovare failure e difetti, fornire informazioni agli stakeholder e conformità ai requisiti o standard.

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

1.1 Cos’è il Testing

Quali sono gli obiettivi tipici del testing?

A) Verificare se il software è privo di bug

B) Valutare la qualità del software e ridurre il rischio di failure software in produzione

C) Sviluppare funzionalità aggiuntive per il software

D) Incrementare le prestazioni del software

A

B) Valutare la qualità del software e ridurre il rischio di failure software in produzione

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
# **1.1** Cos’è il Testing **Quali sono i tipi di testing del software?**
**Dinamico, statico e review di prodotti di lavoro.**
26
# **1.1** Cos’è il Testing **Quali sono le fasi del processo di testing del software?**
**Pianificazione**, **analisi**, **progettazione**, **implementazione**, **reporting** e **valutazione** della **qualità**. **PAPIRV**
27
# **1.1** Cos’è il Testing **Quali standard internazionali si applicano al testing del software?**
Lo standard **ISO/IEC/IEEE 29119-1** è uno degli **standard internazionali** che si **applica** al **testing** del **software**. **Fornisce** **informazioni** sui **concetti** di **testing** del software e **guida** le **best practice** del settore.
28
# **1.2** Perché il Testing è Necessario? **Come possono le persone coinvolte nel progetto contribuire all'efficacia della Quality Assurance?**
Le **persone** coinvolte nel progetto possono **contribuire** all'**efficacia** della **Quality Assurance** attraverso l'**uso** della **root cause analysis** per **rilevare** e **rimuovere** le **cause dei difetti** e la corretta gestione dei risultati delle retrospettive per migliorare i processi.
29
# **1.2** Perché il Testing è Necessario? **Come può la root cause analysis portare a miglioramenti del processo?**
**Concentrandosi** sulle **root cause** più **importanti**, la root cause analysis può **portare** a **miglioramenti** del **processo** che **impediscano** l'introduzione di un numero significativo di **difetti** **futuri**.
30
# **1.2** Perché il Testing è Necessario? **Cos'è la root cause analysis?**
La **root cause analysis** è un **processo** di **identificazione** delle **cause** **originarie** dei **difetti**, al **fine** di **ridurre** la **probabilità** che si verifichino **difetti** **simili** in futuro.
31
# **1.2** Perché il Testing è Necessario? **Cosa comprende il Quality Management?**
Il **Quality Management** comprende tutte le **attività** che **dirigono** e **controllano** un'**organizzazione** dal **punto di vista della qualità**, tra cui la **Quality Assurance** e il **Quality Control**.
32
# **1.2** Perché il Testing è Necessario? **Cosa sono Errori, Difetti e Failure?**
Gli **errori** sono **commessi** dalle **persone** e possono **portare** all'**introduzione** di **difetti** nel **codice** software o in altri **prodotti** di **lavoro**. I **difetti**, se **eseguiti**, **possono** **causare** **failure**, che sono malfunzionamenti del sistema.
33
# **1.2** Perché il Testing è Necessario? **Cosa sono i falsi negativi?** ## Footnote **A)** Test che rilevano difetti che non esistono realmente **B)** Test che non rilevano difetti che avrebbero dovuto rilevare **C)** Test che rilevano difetti reali **D)** Test che rilevano failure reali
**B)** Test che non rilevano difetti che avrebbero dovuto rilevare
34
# **1.2** Perché il Testing è Necessario? **Cosa sono i falsi positivi e i falsi negativi?**
I **falsi positivi** sono **risultati** dei test che **segnalano** **difetti** **inesistenti**, mentre i **falsi negativi** sono test che **non** **rilevano** **difetti** che **avrebbero** **dovuto** **rilevare**.
35
# **1.2** Perché il Testing è Necessario? **Cosa sono i falsi positivi?** ## Footnote **A)** Test che rilevano difetti che non esistono realmente **B)** Test che non rilevano difetti che avrebbero dovuto rilevare **C)** Test che rilevano difetti reali **D)** Test che rilevano failure reali
**A)** Test che rilevano difetti che non esistono realmente
36
# **1.2** Perché il Testing è Necessario? **In che modo la partecipazione dei tester nelle review dei requisiti o nel perfezionamento delle user story può essere utile?** ## Footnote **A)** Aumentare il numero di bug trovati **B)** Identificare e correggere i difetti nei requisiti **C)** Garantire che il software sia privo di difetti **D)** Creare la documentazione del software
**B)** Identificare e correggere i difetti nei requisiti
37
# **1.2** Perché il Testing è Necessario? **In quali modi il testing può contribuire al successo?**
Il testing **contribuisce** al **successo** **coinvolgendo** i **tester** nelle **review dei requisiti**, **collaborando** con **progettisti** e **sviluppatori**, **verificando** e **validando** il software **prima** del **rilascio**, e **raggiungendo** gli **obiettivi** di test **definiti**.
38
# **1.2** Perché il Testing è Necessario? **La collaborazione tra tester e progettisti di sistema durante la fase di progettazione può:** ## Footnote **A)** Ridurre il rischio di difetti di progettazione **B)** Aumentare il numero di bug trovati **C)** Garantire che il software sia privo di difetti **D)** Creare la documentazione del software
**A)** Ridurre il rischio di difetti di progettazione
39
# **1.2** Perché il Testing è Necessario? **Perché è necessario il testing?**
Il testing è **necessario** per **ridurre** il **rischio** di **failure** in **produzione**, **migliorare** la **qualità** dei **componenti** e dei **sistemi**, e **soddisfare** **requisiti** **contrattuali**, **legali** o **standard** **specifici**.
40
# **1.2** Perché il Testing è Necessario? **Qual è il principale obiettivo del testing del software?** ## Footnote **A)** Trovare il maggior numero di bug possibile **B)** Ridurre il rischio di failure in produzione **C)** Garantire che il software sia completamente privo di difetti **D)** Creare la documentazione del software
**B)** Ridurre il rischio di failure in produzione
41
# **1.2** Perché il Testing è Necessario? **Qual è l'importanza della collaborazione tra tester e progettisti di sistema durante la fase di progettazione?**
Questa **collaborazione** può **aumentare** la **reciproca** **comprensione** della **progettazione** e di **come** **testarla**, **riducendo** il **rischio** di **difetti** di **progettazione** e permettendo di **identificare** i **test** **in** **anticipo**.
42
# **1.2** Perché il Testing è Necessario? **Qual è l'obiettivo della root cause analysis?** ## Footnote **A)** Trovare e correggere tutti i difetti nel codice **B)** Identificare le cause principali dei difetti per prevenire difetti simili in futuro **C)** Trovare e correggere tutti i failure nel sistema **D)** Garantire che il software sia completamente privo di difetti
**B)** Identificare le cause principali dei difetti per prevenire difetti simili in futuro
43
# **1.2** Perché il Testing è Necessario? **Qual è la differenza tra Quality Assurance (QA) e Testing?**
La QA è **focalizzata** sull'**aderenza** ai **processi** **appropriati** per **fornire** **confidenza** sul **raggiungimento** di **livelli adeguati di qualità**, mentre il **testing** è un'**attività** di **Quality Control** che **supporta** il **raggiungimento** di **adeguati livelli di qualità**.
44
# **1.2** Perché il Testing è Necessario? **Qual è la differenza tra un errore e un difetto?** ## Footnote **A)** Sono la stessa cosa **B)** Un errore è un'azione umana sbagliata, mentre un difetto è una deviazione nei requisiti **C)** Un difetto è un'azione umana sbagliata, mentre un errore è una deviazione nei requisiti **D)** Un errore è una deviazione nei requisiti, mentre un difetto è un fallimento del sistema
**B)** Un errore è un'azione umana sbagliata, mentre un difetto è una deviazione nei requisiti
45
# **1.2** Perché il Testing è Necessario? **Qual è un possibile effetto di un difetto nel software?** ## Footnote **A)** Aumento della velocità di sviluppo **B)** Lamentele dei clienti **C)** Aumento della qualità del software **D)** Riduzione dei costi di sviluppo
**B)** Lamentele dei clienti
46
# **1.2** Perché il Testing è Necessario? **Quali sono alcune cause comuni degli errori?**
Le cause comuni degli errori **includono** **vincoli di tempo**, **fallibilità umana**, **inesperienza** o **mancanza di qualifica**, **errori di comunicazione**, **complessità** e **incomprensioni sulle interfacce e interazioni**.
47
# **1.2** Perché il Testing è Necessario? **Un failure può essere causato da:** | **Piu di una esatta** ## Footnote **A)** Difetti nel codice **B)** Condizioni ambientali **C)** Entrambe A e B **D)** Nessuna delle precedenti
**C)** Entrambe A e B ## Footnote **Difetti nel codice** e **Condizioni ambientali** - grazie Gennaro V
48
# **1.3** I Sette Principi del Testing **Quale è il primo principio del testing del software?**
Il testing **mostra** la **presenza** di **difetti**, **non** la loro **assenza**.
49
# 1.3 I Sette Principi del Testing **Perché il testing esaustivo è impossibile?**
**Testare** **tutto** il **software** in **modo** **esaustivo** **non** è **fattibile** ## Footnote Tranne che per casi molto semplici.
50
# **1.3** I Sette Principi del Testing **Cosa significa il termine "shift left" nel contesto del testing del software?**
**Eseguire** il **test** all'**inizio** del **ciclo di vita dello sviluppo software** per **ridurre** o **eliminare** le costose **modifiche** **successive**.
51
# **1.3** I Sette Principi del Testing **Perché i difetti tendono a formare cluster?**
Un **piccolo** **numero** di **moduli** solitamente **contiene** la **maggior** **parte** dei **difetti** scoperti durante i test prima del rilascio, o è **responsabile** della **maggior** **parte** dei **failure** in esercizio.
52
# **1.3** I Sette Principi del Testing **Cosa significa il paradosso pesticida nel contesto del testing del software?**
Potrebbe essere **necessario** **progettare** **nuovi** **test** o **modificare** quelli **esistenti** per **trovare** **nuovi** **difetti**, in quanto gli stessi **test ripetuti non rileveranno ulteriori difetti**.
53
# **1.3** I Sette Principi del Testing **Come si deve adattare il testing alle esigenze specifiche del progetto?**
Il testing viene **eseguito** in **modo** **differente** in **contesti** **differenti**, quindi è importante **adattare** le **tecniche** di test **in base** alle **esigenze** specifiche del progetto.
54
# **1.3** I Sette Principi del Testing **Qual è l'importanza dei principi come linee guida per il testing del software?**
I principi **offrono** una **base solida** per la **progettazione** e l'**esecuzione di attività di test** per il software.
55
# **1.3** I Sette Principi del Testing **Perché l'assenza di errori è una falsa credenza nel testing del software?**
È **impossibile** **testare** **tutto** il software in modo **esaustivo** e anche se viene trovato un gran numero di difetti ed essi corretti, il **software** **potrebbe** comunque **non** **soddisfare** le **esigenze** degli **utenti**.
56
# **1.3** I Sette Principi del Testing **Quali tecniche di test dovrebbero essere utilizzate per concentrare gli sforzi sui punti critici del software?**
L'**analisi del rischio** e le **priorità** dovrebbero essere **utilizzate** per **concentrare** gli **sforzi** di test sui **punti** **critici** del software.
57
# **1.3** I Sette Principi del Testing **Qual è l'obiettivo del testing anticipato nel ciclo di vita dello sviluppo software?**
**Trovare** i **difetti** in **anticipo** per **ridurre** o **eliminare** le costose **modifiche** **successive**.
58
# **1.3** I Sette Principi del Testing **Cosa significa il termine "shift left" nel contesto del testing del software?** ## Footnote **A)** Eseguire il test solo alla fine del ciclo di vita dello sviluppo software **B)** Eseguire il test a caso durante lo sviluppo del software **C)** Eseguire il test all'inizio del ciclo di vita dello sviluppo software **D)** Eseguire il test solo quando viene rilevato un problema
**C)** Eseguire il test all'inizio del ciclo di vita dello sviluppo software.
59
# **1.3** I Sette Principi del Testing **Perché i difetti tendono a formare cluster?** ## Footnote **A)** Perché non ci sono abbastanza tester **B)** Perché il software non ha difetti **C)** Perché i difetti si concentrano in alcuni moduli critici **D)** Perché il testing non è importante
**C)** Perché i difetti si concentrano in alcuni moduli critici.
60
# **1.3** I Sette Principi del Testing **Cosa significa il paradosso pesticida nel contesto del testing del software?** ## Footnote **A)** Non è necessario progettare nuovi test **B)** I test ripetuti sono sempre efficaci **C)** I test esistenti potrebbero dover essere modificati per trovare nuovi difetti **D)** I test sono sempre efficaci nel rilevare tutti i difetti
**C)** I test esistenti potrebbero dover essere modificati per trovare nuovi difetti.
61
# **1.3** I Sette Principi del Testing **Come si deve adattare il testing alle esigenze specifiche del progetto?** ## Footnote **A)** Utilizzando le stesse tecniche di test per tutti i progetti **B)** Adattando le tecniche di test in base alle esigenze specifiche del progetto **C)** Non adattando il testing in base alle esigenze specifiche del progetto **D)** Non importa come si adatta il testing alle esigenze del progetto
**B)** Adattando le tecniche di test in base alle esigenze specifiche del progetto.
62
# **1.3** I Sette Principi del Testing **Qual è l'importanza dei principi come linee guida per il testing del software?** ## Footnote **A)** Non sono importanti **B)** Offrono una base solida per la progettazione e l'esecuzione di attività di test **C)** Sono solo suggerimenti **D)** Sono inutili
**B)** Offrono una base solida per la progettazione e l'esecuzione di attività di test.
63
# **1.3** I Sette Principi del Testing **Perché l'assenza di errori è una falsa credenza nel testing del software?** ## Footnote **A)** Perché il software non ha difetti **B)** Perché il testing mostra la presenza di difetti, non la loro assenza **C)** Perché il testing non è importante **D)** Perché non esistono tester qualificati
**B)** Il testing mostra la presenza di difetti, non la loro assenza.
64
# **1.3** I Sette Principi del Testing **Quali tecniche di test dovrebbero essere utilizzate per concentrare gli sforzi sui punti critici del software?** ## Footnote **A)** Le stesse tecniche di test utilizzate per il resto del software **B)** Tecniche di test scelte a caso **C)** Tecniche di test che si concentrano sui punti critici del software **D)** Non importa quali tecniche di test si utilizzano
**C)** Tecniche di test che si concentrano sui punti critici del software.
65
# **1.3** I Sette Principi del Testing **Perché il testing anticipato può aiutare a risparmiare tempo e denaro nel ciclo di vita dello sviluppo software?** ## Footnote **A)** Perché il testing anticipato non ha alcun impatto sui costi di sviluppo del software **B)** Perché il testing anticipato aiuta a identificare i difetti il prima possibile **C)** Perché il testing anticipato richiede meno tempo rispetto al testing tardivo **D)** Perché il testing anticipato non è utile per identificare i difetti
**B)** Il testing anticipato aiuta a identificare i difetti il prima possibile.
66
# **1.4** Il Processo di Test **Cos'è il processo di test?**
Il processo di test è un **insieme** di **attività** che **comprende** la **pianificazione**, l'**analisi**, la **progettazione**, l'**implementazione**, l'**esecuzione** e il **completamento** dei test per **verificare** e **validare** un software o un sistema. **PAPIEC**
67
# **1.4** Il Processo di Test **Qual è lo scopo del testing?**
Lo scopo del testing è **valutare** la **qualità** del **software** o del **sistema** e **identificare** eventuali **difetti** o **problemi** che **possano** **impattare** sulla sua **funzionalità**, **usabilità**, **affidabilità**, **prestazioni** e **sicurezza**.
68
# **1.4** Il Processo di Test **Cosa si intende per base di test?**
La base di test è l'**insieme** delle **informazioni** **utilizzate** per il **testing**, come **requisiti**, **specifiche** **funzionali**, **casi d'uso**, **progetti** e **codice sorgente**.
69
# **1.4** Il Processo di Test **Cosa sono i prodotti di lavoro del test?**
I prodotti di lavoro del test **sono** i **risultati** e gli **artefatti** **creati** durante il processo di test, come **piani di test**, **condizioni di test**, **test case**, **report di progresso** e **report di sintesi**.
70
# **1.4** Il Processo di Test **Cos'è la tracciabilità nel contesto del testing?**
La tracciabilità è il **collegamento** **tra** gli **elementi** della **base di test** e i **prodotti di lavoro del test**, che **permette** di **monitorare** e **controllare** il **processo di testing** e **valutare** la **copertura dei test**.
71
# **1.4** Il Processo di Test **Quali sono le attività coinvolte nella pianificazione dei test?**
Le attività di pianificazione dei test **includono** la **definizione degli obiettivi** di **test**, la **stima** delle **risorse necessarie**, la **pianificazione** delle **attività** e la **definizione** dei **criteri di uscita**. **Definizione obiettivi** -> **Stima risorse** -> **Pianificazione attività** -> **Definizione criteri di uscita**
72
# **1.4** Il Processo di Test **Cos'è il testing esplorativo?**
Il testing esplorativo è un **approccio** al **testing** in cui il **tester progetta** e **esegue test** in **modo simultaneo** e **spontaneo**, **senza seguire** un **piano di test predefinito**, al fine di identificare difetti o problemi imprevisti.
73
# **1.4** Il Processo di Test **Quali sono i prodotti di lavoro dell'analisi dei test?**
I prodotti di lavoro dell'analisi dei test **includono** le **condizioni di test definite** e **prioritizzate**, ognuna delle quali è **idealmente** **tracciabile** in **modo bidirezionale** allo **specifico elemento** della base di test coperto da tale condizione.
74
# **1.4** Il Processo di Test **Qual è la differenza tra un test case di alto livello e uno di basso livello?**
Un **test case di alto livello** **descrive** l'**ambito** del test **senza specificare valori concreti** per i dati di **input** e i **risultati attesi**, mentre un **test case di basso livello** include **valori concreti** e **indicazioni esplicite** sul loro **uso**, rendendolo eseguibile.
75
# **1.4** Il Processo di Test **Quali sono i prodotti di lavoro dell'esecuzione dei test?**
I prodotti di lavoro dell'esecuzione dei test **includono** la **documentazione** sullo **stato dei singoli test** case o delle **procedure di test**
76
# **1.4** Il Processo di Test **Qual è lo scopo principale del testing del software?** ## Footnote **A)** Creare il software perfetto **B)** Identificare e risolvere tutti i problemi del software **C)** Valutare la qualità del software e identificare eventuali difetti **D)** Garantire che il software sia sviluppato rapidamente
**C)** Valutare la qualità del software e identificare eventuali difetti
77
# **1.4** Il Processo di Test **Quale dei seguenti non è un prodotto di lavoro del test?** ## Footnote **A)** Piano di test **B)** Report di progresso **C)** Specifiche funzionali **D)** Test case
**C)** Specifiche funzionali
78
# **1.4** Il Processo di Test **Cosa si intende per testing "white-box"?** ## Footnote **A)** Testing basato sulla conoscenza dell'implementazione interna del software **B)** Testing che valuta l'interfaccia utente del software **C)** Testing che si basa esclusivamente sull'esperienza dell'utente finale **D)** Testing basato solo sulla documentazione del software
**A)** Testing basato sulla conoscenza dell'implementazione interna del software
79
# **1.4** Il Processo di Test **Quale dei seguenti è un esempio di testing non funzionale?** ## Footnote **A)** Test di usabilità **B)** Test di integrazione **C)** Test di validazione **D)** Test di regressione
**A)** Test di usabilità
80
# **1.4** Il Processo di Test **In quale fase del ciclo di vita del testing si definiscono gli obiettivi di test?** ## Footnote **A)** Pianificazione dei test **B)** Analisi dei test **C)** Progettazione dei test **D)** Esecuzione dei test
**A)** Pianificazione dei test
81
# **1.4** Il Processo di Test **Cosa si intende per test di regressione?** ## Footnote **A)** Test eseguito per verificare che le modifiche apportate non abbiano introdotto nuovi difetti **B)** Test eseguito per verificare che il software funzioni correttamente su diverse piattaforme **C)** Test eseguito per valutare l'usabilità del software **D)** Test eseguito per verificare che il software soddisfi i requisiti di prestazione
**A)** Test eseguito per verificare che le modifiche apportate non abbiano introdotto nuovi difetti
82
# **1.4** Il Processo di Test **Quale dei seguenti non è un criterio di uscita comune per il testing?** ## Footnote **A)** Copertura dei requisiti raggiunta **B)** Numero di bug aperti ridotto a un livello accettabile **C)** Copertura del codice raggiunta **D)** Numero di nuove funzionalità implementate
**D)** Numero di nuove funzionalità implementate
83
# **1.4** Il Processo di Test **Qual è il principale vantaggio del testing esplorativo?** ## Footnote **A)** Risparmio di tempo nella preparazione dei piani di test **B)** Maggiore copertura dei test **C)** Identificazione di difetti imprevisti **D)** Migliore comprensione delle specifiche del software
**C)** Identificazione di difetti imprevisti
84
# **1.4** Il Processo di Test **Cos'è la tracciabilità nel contesto del testing?** ## Footnote **A)** Il collegamento tra gli elementi della base di test e i prodotti di lavoro del test **B)** Il processo di registrazione e analisi dei difetti trovati durante il testing **C)** La documentazione delle procedure di test eseguite **D)** La misura della copertura del codice durante il testing
**A)** Il collegamento tra gli elementi della base di test e i prodotti di lavoro del test
85
# **1.4** Il Processo di Test **In quale fase del ciclo di vita del testing si crea un test case dettagliato ed eseguibile?** ## Footnote **A)** Pianificazione dei test **B)** Analisi dei test **C)** Progettazione dei test **D)** Esecuzione dei test
**C)** Progettazione dei test
86
# **1.5** La Psicologia del Testing **Quali sono gli effetti della psicologia umana sul testing del software?**
La psicologia umana può **influenzare** come **vengono** **percepiti** i **difetti** e i **failure**, la comunicazione tra i membri del team e la percezione del testing **come** un'**attività** **distruttiva** o **costruttiva**.
87
# **1.5** La Psicologia del Testing **Cos'è il "confirmation bias"?**
Il confirmation bias è un **pregiudizio** **cognitivo** che **rende** **difficile** **accettare** **informazioni** che **non** **concordano** con i **propri** **principi** e le proprie **idee**.
88
# **1.5** La Psicologia del Testing **Perché è importante considerare la mentalità di tester e sviluppatori nel testing del software?**
La mentalità di tester e sviluppatori **influisce** sul **modo** in cui **affrontano** il **testing** e lo **sviluppo**, e **combinare** queste diverse mentalità può **portare** a una **qualità** del **prodotto** **migliore**.
89
# **1.5** La Psicologia del Testing **Quali sono alcune tecniche per instaurare una comunicazione positiva nel testing del software?**
**Collaborare** invece di combattere, **enfatizzare** i **benefici del testing**, **comunicare** i **risultati** in **modo** **neutrale** e **focalizzato** sui **fatti**, **cercare** di **comprendere** i **sentimenti** dell'altra persona e **ottenere conferma** che **entrambe** le **parti** abbiano **capito** ciò che è stato **detto**.
90
# **1.5** La Psicologia del Testing **Quali sono alcuni degli obiettivi tipici del test?**
**Verifica** e **validazione** del **prodotto**, **rilevazione** di **difetti** **prima del rilascio**, **riduzione** del **rischio** complessivo sulla **qualità** del **prodotto** e **risparmio** di **tempo** e **denaro**.
91
# **1.5** La Psicologia del Testing **Quali sono alcune delle caratteristiche della mentalità di un tester?**
**Curiosità**, **pessimismo professionale**, **occhio critico**, **attenzione** al **dettaglio** e **predisposizione** a **comunicazioni** e **relazioni** **buone** e **positive**.
92
# **1.5** La Psicologia del Testing **Perché il testing indipendente può essere più efficace nel rilevamento dei difetti?**
I tester indipendenti hanno un **punto** di **vista** **differente** da quello degli **autori** del **prodotto** di **lavoro** e hanno **cognitive** **bias** **diversi**, il che può **aumentare** l'**efficacia** del **rilevamento** dei **difetti**.
93
# **1.5** La Psicologia del Testing **Qual è il ruolo della comunicazione nel contesto del testing del software?**
La comunicazione è **fondamentale** per **condividere** i **risultati dei test**, **discutere** i **difetti** e i **failure**, e **costruire** **relazioni** **positive** con i **colleghi**.
94
# **1.5** La Psicologia del Testing **Quali sono alcuni dei fattori psicologici che possono influenzare la percezione del testing del software?**
**Confirmation bias**, **pregiudizi cognitivi**, e la **tendenza** a **dare** la **colpa** a **colui** che viene **percepito** come **"portatore di cattive notizie"**.
95
# **1.5** La Psicologia del Testing **Quali sono alcuni dei vantaggi della collaborazione tra tester e sviluppatori nel testing del software?**
**Miglioramento** della **qualità** del **prodotto**, maggiore **comprensione** dei **difetti** e dei **failure**, e **riduzione** delle **tensioni** tra i **membri** del **team**.
96
# **1.5** La Psicologia del Testing **Qual è l'effetto del confirmation bias sul testing del software?** ## Footnote **A)** Rende difficile accettare informazioni che non concordano con le proprie idee **B)** Aumenta la collaborazione tra tester e sviluppatori **C)** Migliora la comunicazione tra i team **D)** Riduce la complessità del codice
**A)** Rende difficile accettare informazioni che non concordano con le proprie idee
97
# **1.5** La Psicologia del Testing **Perché è importante la comunicazione costruttiva nel testing del software?** ## Footnote **A)** Per ridurre le tensioni tra i tester e gli altri membri del team **B)** Per aumentare il numero di difetti trovati **C)** Per rendere il testing più veloce **D)** Per aumentare la comprensione del codice
**A)** Per ridurre le tensioni tra i tester e gli altri membri del team
98
# **1.5** La Psicologia del Testing **Quali sono alcune caratteristiche della mentalità di un tester?** ## Footnote **A)** Curiosità, pessimismo professionale, occhio critico **B)** Focalizzazione sulla progettazione e costruzione di soluzioni **C)** Ottimismo eccessivo, attenzione al dettaglio **D)** Ignorare i difetti per concentrarsi sulle funzionalità
**A)** Curiosità, pessimismo professionale, occhio critico
99
# **1.5** La Psicologia del Testing **Qual è l'obiettivo principale dello sviluppo del software?** ## Footnote **A)** Progettare e costruire un prodotto **B)** Verificare e validare un prodotto **C)** Identificare tutti i possibili difetti **D)** Testare il prodotto fino all'esaurimento
**A)** Progettare e costruire un prodotto
100
# **1.5** La Psicologia del Testing **Cosa può rendere difficile capire o accettare le informazioni prodotte dai test?** ## Footnote **A)** Buona comunicazione **B)** Collaborazione tra team **C)** Cognitive bias **D)** Un codice ben scritto
**C)** Cognitive bias
101
# **1.5** La Psicologia del Testing **Qual è l'obiettivo del testing del software?** ## Footnote **A)** Verifica e validazione del prodotto **B)** Progettazione e costruzione del prodotto **C)** Aumento della velocità di sviluppo **D)** Ignorare i difetti per concentrarsi sulle funzionalità
**A)** Verifica e validazione del prodotto
102
# **1.5** La Psicologia del Testing **Perché i tester indipendenti possono essere più efficaci nel rilevamento dei difetti?** ## Footnote **A)** Hanno meno conoscenza del codice **B)** Hanno un punto di vista differente dagli autori del prodotto **C)** Sono meno interessati alla progettazione e costruzione **D)** Sono più focalizzati sulle funzionalità che sui difetti
**B)** Hanno un punto di vista differente dagli autori del prodotto
103
# **1.5** La Psicologia del Testing **Cos'è il "pregiudizio di conferma"?** ## Footnote **A)** Un elemento della psicologia umana che rende difficile accettare informazioni che non concordano con le proprie idee **B)** Un pregiudizio che favorisce la collaborazione tra team **C)** Un pregiudizio che migliora la comunicazione tra i team **D)** Un pregiudizio che riduce la complessità del codice
**A)** Un elemento della psicologia umana che rende difficile accettare informazioni che non concordano con le proprie idee
104
# **1.5** La Psicologia del Testing **Quali sono alcuni esempi di modalità per instaurare una comunicazione** ## Footnote **A)** Collaborare invece di combattere, enfatizzare i benefici del testing, comunicare i risultati in modo neutrale **B)** Ignorare i difetti, concentrarsi solo sulle funzionalità, evitare la comunicazione con gli sviluppatori **C)** Evitare la collaborazione, criticare gli altri membri del team, nascondere i risultati dei test **D)** Limitare la comunicazione ai soli risultati positivi, ignorare i difetti, evitare il confronto con gli sviluppatori
**A)** Collaborare invece di combattere, enfatizzare i benefici del testing, comunicare i risultati in modo neutrale
105
# **1.5** La Psicologia del Testing **Qual è il ruolo dei Test Manager nel testing del software in relazione alla psicologia umana?** ## Footnote **A)** Ignorare la psicologia umana e concentrarsi solo sui risultati tecnici **B)** Evitare la comunicazione con gli sviluppatori per ridurre le tensioni **C)** Possedere buone capacità interpersonali per comunicare in modo efficace i difetti, i failure, i risultati dei test, gli avanzamenti dei test e i rischi, e costruire relazioni positive con i colleghi **D)** Utilizzare la psicologia umana per manipolare gli sviluppatori e ottenere risultati migliori nel testing
**C)** Possedere buone capacità interpersonali per comunicare in modo efficace i difetti, i failure, i risultati dei test, gli avanzamenti dei test e i rischi, e costruire relazioni positive con i colleghi
106
Definisci: **Qualità**
**Grado in cui un prodotto software soddisfa i requisiti, le aspettative e le esigenze degli utenti e degli stakeholder.**
107
Definisci: **Quality Assurance (QA)**
**Processo sistematico di verifica e validazione che assicura la qualità del software durante tutto il suo ciclo di vita.**
108
Definisci: **Root cause**
**Causa principale di un difetto, errore o problema nel software, che una volta identificata può essere corretta per prevenire futuri problemi simili.**
109
Definisci: **Test case (caso di test)**
**Specifica dettagliata di un insieme di condizioni di test, input, procedure di test e risultati attesi, utilizzata per determinare se un oggetto di test soddisfa i requisiti.**
110
Definisci: **Test suite**
**Collezione organizzata di test case che vengono eseguiti insieme per valutare un oggetto di test.**
111
Definisci: **Testing**
**Processo di valutazione di un prodotto software mediante l'esecuzione di test per identificare difetti, verificare la conformità ai requisiti e validare il comportamento del sistema.**
112
Definisci: **Testware**
**Artefatti prodotti durante il processo di test, come documentazione di test, test case, dati di test e report di test.**
113
Definisci: **Tracciabilità**
**Capacità di correlare e seguire le relazioni tra i requisiti, le specifiche, i test case e i difetti.**
114
Definisci: **Validazione**
**Processo di verifica che un prodotto software soddisfa le esigenze e le aspettative degli utenti e degli stakeholder.**
115
Definisci: **Verifica**
**Processo di valutazione di un prodotto software per determinare se è stato realizzato correttamente e se rispetta i requisiti e le specifiche stabilite.**
116
Definisci: **Analisi del test**
Processo di **esaminare** e **valutare** i **risultati dei test** per **determinare** se i **requisiti** sono stati **soddisfatti** e **identificare** eventuali **problemi**.
117
Definisci: **Base di test**
**Documentazione utilizzata come punto di riferimento per la progettazione e l'esecuzione dei test (ad esempio, requisiti, specifiche tecniche).**
118
Definisci: **Completamento dei test**
**Punto nel processo di test in cui si raggiungono gli obiettivi stabiliti e si determina che il testing può essere concluso.**
119
Definisci: **Condizione di test**
**Una situazione o un insieme di circostanze specifiche in cui un oggetto di test viene valutato.**
120
Definisci: **Controllo dei test**
**Attività di gestione del processo di test, come pianificazione, monitoraggio e controllo delle attività di test.**
121
Definisci: **Copertura**
**Misura che indica quanto di un oggetto di test è stato esaminato attraverso l'esecuzione dei test.**
122
Definisci: **Dati di test**
**Valori di input, configurazioni o altre variabili utilizzate nel corso dei test per valutare un oggetto di test.**
123
Definisci: **Debugging**
**Processo di identificazione, isolamento e correzione di difetti nel software.**
124
Definisci: **Difetto**
**Imperfezione o errore in un prodotto software che può causare un comportamento indesiderato o inaspettato.**
125
Definisci: **Errore**
**Deviazione dal comportamento atteso di un sistema software.**
126
Definisci: **Esecuzione dei test**
**Processo di eseguire i test case su un oggetto di test per valutare il suo comportamento e verificarne la conformità ai requisiti.**
127
Definisci: **Failure**
**Manifestazione di un difetto durante l'esecuzione del software, causando un comportamento non conforme alle aspettative.**
128
Definisci: **Implementazione dei test**
**Fase del processo di test in cui i test case e le procedure di test vengono creati e realizzati.**
129
Definisci: **Monitoraggio dei test**
**Osservazione e registrazione del processo di test per valutare il suo andamento e identificare eventuali problemi.**
130
Definisci: **Obiettivo del test**
**Scopo o risultato atteso delle attività di test, come identificare difetti, verificare la conformità ai requisiti o validare il comportamento del sistema.**
131
Definisci: **Oggetto di test**
**Elemento del software o del sistema su cui viene eseguito il test, come un modulo di codice, una funzionalità o un'interfaccia.**
132
Definisci: **Oracolo del test**
**Meccanismo o fonte di informazioni utilizzato per determinare se un oggetto di test si comporta come previsto durante l'esecuzione dei test.**
133
Definisci: **Pianificazione dei test**
**Processo di definizione degli obiettivi, delle risorse e del calendario delle attività di test.**
134
Definisci: **Procedura di test**
**Serie di passaggi specifici eseguiti in un test case.**
135
Definisci: **Progettazione dei test**
**Fase del processo di test in cui vengono identificati e descritti i test case e le procedure di test.**
136
Ricordare: **Identificare gli obiettivi tipici del testing**.
**Gli obiettivi tipici del testing includono verificare che il software funzioni come previsto, identificare i difetti e gli errori, garantire che il software sia conforme ai requisiti specificati e migliorare la qualità del software.**
137
Comprendere: **Differenziare il testing dal debugging**.
**Il testing e il debugging sono due attività diverse. Il testing si concentra sulla verifica delle funzionalità del software, mentre il debugging si concentra sulla correzione degli errori identificati durante il testing.**
138
Comprendere: **Fornire esempi del perché il testing è necessario**.
**Il testing è necessario per garantire che il software funzioni come previsto, per identificare i difetti e gli errori, per migliorare la qualità del software, per ridurre i costi e il rischio associato al software e per garantire la sicurezza del software.**
139
Comprendere: **Descrivere le relazioni fra testing e quality assurance e fornire esempi di come il testing contribuisce al miglioramento della qualità**.
**Il testing è una parte importante del quality assurance, che si concentra sulla garanzia della qualità del software. Il testing contribuisce al miglioramento della qualità del software identificando difetti e errori e fornendo feedback al team di sviluppo.**
140
Comprendere: **Distinguere fra errore, difetto e failure**.
**Un errore è un'azione umana che produce un risultato errato. Un difetto è un errore nel software che può causare un comportamento anomalo. Una failure è il comportamento anomalo del software causato da un difetto.**
141
Comprendere: **Distinguere fra root cause di un difetto e i suoi effetti**.
**La root cause di un difetto è la causa principale del difetto, mentre gli effetti sono le conseguenze del difetto. Identificare la root cause del difetto è importante per prevenire la sua ricomparsa in futuro.**
142
Comprendere: **Spiegare i sette principi del testing**.
**I sette principi del testing includono il testing mostra la presenza di difetti, il completo testing è impossibile, i difetti tendono a concentrarsi, il testing tempestivo è importante, il testing dipende dal contesto, il testing è una questione di giudizio professionale e il testing è basato su rischi.**
143
Comprendere: **Spiegare l'impatto del contesto sul processo di test**.
**Il contesto, come i requisiti del progetto, il budget e il tempo disponibile, può influenzare il processo di test. Il processo di test deve essere adattato al contesto specifico del progetto per garantire un testing efficace ed efficiente.**
144
Comprendere: **Descrivere le attività di test e i rispettivi compiti nel processo di test**.
**Le attività di test includono la pianificazione del test, la progettazione del test, l'implementazione del test, l'esecuzione del test e la valutazione del test. Ogni attività di test ha compiti specifici, come la definizione degli obiettivi del test, la creazione di casi di test e l'esecuzione dei test.**
145
Comprendere: **Differenziare i prodotti di lavoro che supportano il processo di test**.
**I prodotti di lavoro che supportano il processo di test includono il piano di test, la base di test, i casi di test e i risultati del test. Questi prodotti di lavoro aiutano a garantire un testing completo e sistematico del software.**
146
Comprendere: **Spiegare il valore di mantenere la tracciabilità fra base di test e prodotti di lavoro del test**.
**Mantenere la tracciabilità fra la base di test e i prodotti di lavoro del test è importante per garantire che tutti i requisiti del progetto siano testati e che i risultati del test siano documentati e tracciati. Inoltre, la tracciabilità aiuta a identificare le aree del software che richiedono il testing e a pianificare le attività di testing di conseguenza.**
147
Ricordare: **Identificare i fattori psicologici che influenzano il successo del testing**.
**I fattori psicologici che influenzano il successo del testing includono la motivazione, la concentrazione, la curiosità e la creatività.**
148
Comprendere: **Spiegare la differenza fra la mentalità richiesta per le attività di test e quella richiesta per le attività di sviluppo**.
**Le attività di test richiedono una mentalità critica e analitica, mentre le attività di sviluppo richiedono una mentalità creativa e proattiva. I tester devono essere in grado di pensare in modo critico e analizzare il software, mentre gli sviluppatori devono essere in grado di risolvere i problemi e trovare soluzioni creative.**