Dizionario Flashcards

1
Q

Chi sono i rappresentanti di business?

A

Nel contesto del testing software, i rappresentanti di business (o business representatives) sono figure chiave che rappresentano gli interessi dell’azienda o del cliente per garantire che il software soddisfi i requisiti e gli obiettivi di business.

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

Cosa è Error Guessing?

A

Error Guessing è una tecnica di testing basata sull’esperienza e l’intuizione del tester per identificare difetti nel software.

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

In una user story quale è la parte essenziale?

A

I criteri di accettazione sono una parte essenziale della documentazione di una user story e definiscono le condizioni che devono essere soddisfatte affinché la user story possa essere considerata completata. Tra le opzioni fornite.

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

Da chi viene decisa la priorità delle user story ?

A

La priorità delle user story viene determinata principalmente dai product owner o dagli stakeholder in base alle esigenze del business, non dai tester. I tester sono coinvolti nella definizione di come le user story verranno testate, ma non nella loro priorità.

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

I tester si concentrano solo su gli aspetti Funzionali?

A

I tester non si concentrano solo sugli aspetti funzionali. Essi devono considerare anche aspetti non funzionali (come prestazioni, sicurezza, usabilità) e rischi legati alla qualità complessiva. La loro visione completa aiuta a garantire che il software funzioni correttamente in tutti i contesti

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

I tester garantiscono il rilascio di software di alta qualità attraverso la progettazione anticipata dei test durante la pianificazione della release?

A

Sebbene i tester possano contribuire a progettare i test, la qualità del software è il risultato del lavoro di tutto il team, non solo dei tester. La progettazione anticipata dei test è utile, ma non è l’unico fattore che garantisce la qualità. Inoltre, la qualità viene costruita durante tutto il ciclo di vita dello sviluppo, non solo durante la pianificazione della release.

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

I tester partecipano all’identificazione dettagliata dei rischi e alla valutazione dei rischi delle user story?

A

I tester partecipano all’identificazione dettagliata dei rischi e alla valutazione dei rischi delle user story è quella che meglio descrive come i tester aggiungono valore alla pianificazione dell’iterazione e alla pianificazione della release

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

Importanza della Readiness

A

la Readiness si riferisce a un concetto legato alla verifica dello stato di un’applicazione o di un servizio per determinare se è pronto a gestire il traffico o i carichi di lavoro reali.

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

Cosa è la densità dei difetti?

A

Questo può essere un criterio di uscita, in quanto la densità dei difetti si riferisce al numero di difetti trovati rispetto alla quantità di test eseguiti. Se il numero di difetti raggiunge un livello soddisfacente o si stabilizza, potrebbe significare che il sistema è sufficientemente stabile e il test può essere considerato completo.

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

Come esprimere i criteri di accettazione?

A

I criteri di accettazione sono un insieme di condizioni che definiscono quando un requisito, una funzionalità o una user story può essere considerata completata e conforme alle aspettative.

Il formato GWT è una struttura comune per esprimere criteri di accettazione, tipica del Behavior-Driven Development (BDD). Questo formato divide i criteri in tre parti:

Given: il contesto iniziale o la condizione di partenza.
When: l’azione o l’evento scatenante.
Then: il risultato atteso o il comportamento previsto.

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

l’automazione dei test di regressione è sufficiente per considerarlo come criterio di uscita?

A

I test di regressione automatizzati sono una parte essenziale del criterio di uscita, ma devono essere integrati con altri tipi di test, metriche di qualità e approvazioni da parte degli stakeholder per garantire che il software sia pronto per il rilascio.

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

Scrivi la formula dei tre punti

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

State testando un sistema il cui ciclo di vita è modellato dal seguente state transition diagram. Il sistema inizia nello stato INIT e termina il suo funzionamento nello stato OFF.
Qual è il numero MINIMO di test case per ottenere una copertura delle transizioni valida?

A

3 (Devi vedere il numero dei percorsi possibili)

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

Quali DUE delle seguenti opzioni possono essere considerate come criteri di uscita relativi alle attività del test di sistema?
a) Readiness dell’ambiente di test
b) Capacità di eseguire il login dell’oggetto di test da parte del tester
c) Viene raggiunta la densità stimata dei difetti
d) I requisiti sono tradotti nel formato given/when/then
e) I regression test sono automatizzati

A

Il Readness è un criterio di entrata e non di uscita
La capacità di fare il login non è un criterio di uscita
Una densità di difetti indica un livello di qualità quindi si può considerare un criterio di uscita valido

Un CRITERIO DI ACCETTAZIONE deve essere scritto seguendo il formato given/when/then pur non è un criterio di uscita ma si tratta di una attività di progettazione

c ) Viene raggiunta la densità stimata dei difetti
Questo è un criterio di uscita comune nelle attività di testing, in cui il team stabilisce un obiettivo per la densità residua dei difetti accettabile (es. meno di un certo numero di difetti critici per modulo). Una volta raggiunto, può essere considerato un segnale che il sistema è sufficientemente stabile per procedere.

e ) I regression test sono automatizzati
L’automazione dei test di regressione è spesso un criterio di uscita nelle attività di test di sistema per garantire che eventuali modifiche o correzioni non introducano nuovi difetti e per supportare i

d ) I requisiti sono tradotti nel formato given/when/then: (ERRATA)
Questo è legato alla preparazione dei test o al framework di testing, non un criterio per terminare il test di sistema.

Cosa significa Readiness come criterio di entrata?
Il readiness si riferisce a una verifica preliminare che garantisce che tutto ciò che serve per avviare i test sia disponibile e funzionante. È un “via libera” che assicura che il testing possa iniziare senza interruzioni o inefficienze.

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

L’applicazione si blocca
03-maggio-2022 – John Doe - Rifiutato
L’applicazione si blocca dopo aver inserito “Input del test: $ä” nel campo Nome nella schermata di creazione di un nuovo utente. Ho provato a disconnettermi e ad accedere con l’account test_admin01, stesso problema. Ho provato con altri account test_admin, stesso problema. Non è stato ricevuto alcun messaggio di errore; il log (vedi allegato) contiene una notifica di errore fatale. In base al test case TC-1305, l’applicazione dovrebbe accettare l’input inserito e creare l’utente. Si prega di risolvere il problema con priorità elevata, poiché questa funzionalità è correlata a REQ-0012, che è un nuovo requisito di business critico.

Quali informazioni critiche sono MANCANTI in questo test report che sarebbero state utili per gli sviluppatori?

A

Per gli sviluppatori, è fondamentale conoscere l’ambiente di test (ad esempio, sistema operativo, versione del software, browser utilizzato, configurazioni specifiche) e l’oggetto di test (la build o la versione dell’applicazione testata) per riprodurre l’errore.

Sebbene il report contenga dettagli sull’input che causa l’anomalia e su come il test è stato eseguito, mancano informazioni riguardo:

Ambiente di test: Ad esempio, su quale sistema operativo, versione dell’applicazione, e altre configurazioni tecniche l’errore si verifica.
Oggetto di test: La versione esatta del software in cui è stato rilevato il difetto.

Senza queste informazioni, il team di sviluppo potrebbe non riuscire a replicare l’anomalia nel loro ambiente, motivo per cui il difetto viene spesso segnalato come “non riproducibile”.

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

Quale attività di test supporta uno strumento di preparazione dei dati?
a) Monitoraggio e controllo dei test
b) Progettazione dei test
c) Implementazione dei test
d) Completamento dei test

Selezionare UNA opzione.

A

Uno strumento di preparazione dei dati supporta l’implementazione dei test, poiché aiuta a creare, organizzare e fornire i dati necessari per eseguire i casi di test. Durante questa fase, i dati di test devono essere configurati, inseriti o generati per garantire che i test possano essere eseguiti correttamente.

Comunque la preparazione dei dati avviene anche durante la Progettazione dei test ma in questa domanda vuole dare più importanza all implementazione

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

i consideri il seguente testware:

Quale attività di test produce questo testware come output?
a) Pianificazione dei test
b) Monitoraggio e controllo dei test
c) Analisi dei test
d) Progettazione dei test

A

L’analisi dei test è l’attività in cui vengono definiti cosa testare e quali difetti individuare in base agli obiettivi di test. In questo caso, il testware fornisce una Test Charter per il testing esplorativo, che definisce:

L'ambito (pagina di registrazione)
Le condizioni di test (dati di input errati)
Lo scopo (rilevare difetti relativi all'accettazione con input errato)

Questo processo di identificazione delle condizioni di test e degli obiettivi è tipico dell’analisi dei test.

Le altre opzioni non sono corrette:

  • Pianificazione dei test riguarda la definizione dell’approccio generale, delle risorse e delle tempistiche.
  • Monitoraggio e controllo dei test si occupa del monitoraggio dell’avanzamento e delle eventuali correzioni.
  • Progettazione dei test avviene dopo l’analisi e si concentra sulla creazione di test case specifici.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Quale dei seguenti è il MIGLIOR esempio di come la tracciabilità supporta il testing?

a) Eseguire l’analisi degli impatti di una modifica fornirà informazioni sul completamento dei test
b) Analizzare la tracciabilità tra i test case e i risultati dei test fornirà informazioni sul livello di rischio residuo stimato
c) Eseguire l’analisi degli impatti di una modifica aiuterà a selezionare i giusti test case per il regression testing
d) Analizzare la tracciabilità tra la base di test, gli oggetti di test e i test case aiuterà a selezionare i dati di test per raggiungere la copertura attesa dell’oggetto di test

A

La RIsposta A è sbagliata perchè
con L’ analisi DEGLI IMPATTI ci consente di individuare l’ area della modifica. E non le informazioni del completamento dei test.

La risposta B è sbagliata perchè Sebbene la tracciabilità tra test case e risultati dei test sia utile per capire quali aree sono state testate e con quali esiti, non fornisce direttamente una stima del rischio residuo.

La risposta C è corretta perchè La tracciabilità è fondamentale per collegare i requisiti alle funzionalità e ai test case. Quando viene effettuata una modifica al sistema, l’analisi dell’impatto identifica quali aree del software sono state influenzate.
Questo permette di selezionare i test case appropriati per verificare che le modifiche non abbiano introdotto regressioni (errori o malfunzionamenti in funzionalità preesistenti).

La risposta D è Sbagliata perchè Anche se l’analisi della tracciabilità aiuta a collegare la base di test (requisiti) agli oggetti di test e ai test case, la selezione dei dati di test non è il miglior esempio di supporto dato dalla tracciabilità

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

Lavorate come tester in un progetto su un’applicazione mobile per ordinare cibo per uno dei vostri clienti. Il cliente vi ha inviato una lista dei requisiti. Uno di questi requisiti, di alta priorità, viene così definito:
“L’ordine deve essere elaborato in meno di 10 secondi nel 95% dei casi”.
Avete creato un insieme di test case in cui sono stati fatti un numero casuale di ordini, è stato misurato il tempo di elaborazione e sono stati verificati i risultati dei test rispetto ai requisiti.

Quale tipo di test avete eseguito?
a) Test funzionale, perché i test case coprono i requisiti di business dell’utente per il sistema
b) Test non-funzionale, perché i test case misurano le prestazioni del sistema
c) Test funzionale, perché i test case interagiscono con l’interfaccia utente
d) Test white-box, perché si deve conoscere la struttura interna del codice per misurare il tempo di elaborazione degli ordini

A

Il requisito che viene descritto riguarda le prestazioni dell’applicazione, ossia il tempo che l’ordine deve impiegare per essere elaborato. Questo è un requisito non funzionale, poiché si riferisce a come il sistema si comporta (la velocità di elaborazione degli ordini) piuttosto che a cosa fa (come gestisce l’ordine). Risposta giusta è la B

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

Quale delle seguenti affermazioni descrive MEGLIO l’approccio acceptance test-driven development (ATDD)?
a) In ATDD, i criteri di accettazione sono tipicamente creati sulla base del formato given/when/then
b) In ATDD, i test case sono creati principalmente per il testing di componente e sono code-oriented (orientati al codice)
c) In ATDD i test case sono creati sulla base dei criteri di accettazione, per guidare lo sviluppo del software correlato
d) In ATDD, i test sono creati sulla base del comportamento desiderato del software, e questo rende più facile la comprensione da parte dei membri del team

A

La risposta esatta è la C in quanto per la metodologia ATDD Servono proprio i criteri di accettazione

La risposta A) è sbagliata in quanto il given/when/then soddisfa soltanto in parte.

La b) è palesemente sbagliata

La D) è sbagliata in quanto il test ATDD non si basa sul comportamento del codice.

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

Quale dei seguenti NON è un esempio di approccio shift-left?
a) Eseguire la review dei requisiti dell’utente prima della loro accettazione formale da parte degli stakeholder
b) Scrivere un test di componente prima di scrivere il codice corrispondente
c) Eseguire un testing di efficienza delle prestazioni per un componente durante il testing di componente
d) Scrivere un test script prima di definire il processo di configuration management

A

La risposta esatta è la D) in quanto definire dei test script prima di un test Managment è solo una gestione scellerata.

La c ) è corretta in quanto fare dei test di efficienza prima ci aiuta a prevenire in anticipo tanti difetti

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

Cosa è la regression test?

A

I regression test vengono eseguiti per verificare che i difetti corretti non abbiano introdotto nuovi problemi e che le funzionalità già funzionanti non siano state compromesse. Si eseguono quindi i test relativi a criteri che sono stati già testati in passato e che necessitano di una conferma sul loro comportamento nella nuova versione.

23
Q

Quale dei seguenti NON è un vantaggio del testing statico?
a) Avere un defect management meno costoso grazie alla facilità di rilevare i difetti in una fase successiva del ciclo di vita dello sviluppo software (SDLC)
b) Correggere i difetti rilevati durante il testing statico è generalmente molto meno costoso che correggere i difetti rilevati durante il testing dinamico
c) Rilevare difetti di codifica che non sarebbero stati rilevati eseguendo solo il testing dinamico
d) Rilevare lacune e inconsistenza nei requisiti

A

La risposta corretta è A) in quanto tale affermazione và contro i rincipi del testing Statico che consiste nel rilevare i difetti nella fase iniziale.

24
Q

Di seguito sono elencati i prodotti di lavoro realizzati in un ciclo di vita dello sviluppo software:
i. Requisiti di business
ii. Schedulazione
iii. Budget del test
iv. Codice eseguibile di terze parti
v. User story e relativi criteri di accettazione

Quali di questi prodotti di lavoro possono essere sottoposti a review?
a) i e iv possono essere sottoposti a review
b) i, ii, iii e iv possono essere sottoposti a review
c) i, ii, iii e v possono essere sottoposti a review
d) iii, iv e v possono essere sottoposti a review

A

La risposta esatta è la C !

Requisiti di business (i): Possono essere sottoposti a review per verificare che siano chiari, completi e allineati con gli obiettivi aziendali.

Schedulazione (ii): Può essere sottoposta a review per garantire che sia realistica, ben definita e coerente con le risorse disponibili.

Budget del test (iii): Può essere sottoposto a review per verificare che sia adeguato e che copra le necessità previste.

Codice eseguibile di terze parti (iv): Generalmente non è sottoposto a review, poiché non è stato sviluppato internamente e spesso viene considerato un’entità black-box. Tuttavia, potrebbe essere oggetto di verifica per assicurarsi che soddisfi i requisiti di integrazione e sicurezza.

User story e relativi criteri di accettazione (v): Possono essere sottoposti a review per garantire che siano ben definite, implementabili e soddisfino i requisiti del cliente

25
Q

Cosa si intende per comportamenti esterni?

A

Nel testing dinamico, i comportamenti esterni vengono osservati eseguendo il software per verificare che risponda correttamente agli scenari di utilizzo previsti. Nel testing statico, invece, non è possibile rilevarli direttamente, poiché il software non viene eseguito.

26
Q

Quale compito può svolgere il management durante una review formale?
a) Assumere la responsabilità generale della review
b) Decidere cosa deve essere sottoposto a review
c) Garantire l’efficace esecuzione dei review meeting e mediare, se necessario
d) Registrare le informazioni della review, come le decisioni sulla review

A

A ) è sbagliata in quanto la responsabilità generale della review deve è assunta dal moderatore o dal facilitatore
B ) è Corretta il managment stabilisce cosa deve essere sottoposto alla review
C ) Questa mansione viene assolta dal moderatore
D ) Questa decisione viene assolta dallo Scriba

27
Q

State testando un’applicazione mobile che consente ai clienti di accedere e gestire i loro conti bancari. State eseguendo una test suite che prevede la valutazione di ogni schermata e di ogni campo in ogni schermata, rispetto a una lista generale di best practice della user interface, che sono state derivate da un libro molto conosciuto sull’argomento, che aiutano a massimizzare l’attrattiva, la facilità di utilizzo e l’accessibilità di queste applicazioni. Quale delle seguenti opzioni categorizza MEGLIO la tecnica di test che state utilizzando?

a) Testing black-box
b) Testing esplorativo
c) Testing checklist-based
d) Error guessing

A

c) Testing checklist-based

Testing checklist-based: Si basa su una lista predefinita di criteri (in questo caso, le best practice derivate da un libro sulla user interface) che guidano la valutazione dell’applicazione. I tester utilizzano la checklist per valutare sistematicamente le schermate e i campi, verificando che rispettino le linee guida.

28
Q

Quale affermazione descrive MEGLIO l’approccio collaborativo alla scrittura delle user story?

A

Le user story vengono create in modo congiunto dai rappresentanti di business, dagli sviluppatori e dai tester

29
Q

Si consideri la seguente parte di un test plan:
Il testing verrà eseguito utilizzando il testing di componente e il testing di integrazione dei componenti. Le normative richiedono di dimostrare che per ogni componente classificato come critico sia stato raggiunto il 100% di copertura dei rami.
A quale elemento del test plan appartiene questa parte?

a) Comunicazione
b) Risk register
c) Contesto del testing
d) Approccio del test

A

La risposta corretta è:

d) Approccio del test

Questa parte del test plan descrive il metodo e i criteri utilizzati per il testing (ad esempio, testing di componente, testing di integrazione e copertura dei rami al 100%). L’“Approccio del test” è la sezione in cui vengono dettagliate le strategie e le tecniche per raggiungere gli obiettivi del testing.

30
Q

Quale delle seguenti affermazioni è VERA relativamente alla piramide di test?
a) Enfatizza di avere più test ai livelli di test più bassi
b) Suggerisce che ogni test di basso livello verifichi buona parte della funzionalità
c) Descrive la distribuzione del testing nel ciclo di vita del software
d) Non ha impatti sulla costruzione dei test automatizzati
Selezionare UNA opzione.

A

A) Giusta
La piramide di test, introdotta da Mike Cohn, sottolinea l’importanza di avere un maggior numero di test ai livelli più bassi, come i test unitari, rispetto ai test di livelli superiori, come i test di integrazione e i test end-to-end. Questo approccio migliora l’efficienza e riduce i costi di manutenzione, poiché i test a livelli più bassi sono più facili da eseguire, più veloci e più economici rispetto ai test a livelli superiori.

31
Q

Distinzione di rischi di Prodotto e rischi di Progetto

A

Rischi di prodotto: Riguardano la qualità o le caratteristiche del prodotto software (ad esempio, conformità agli standard, prestazioni, accessibilità).

Rischi di progetto: Riguardano la gestione, la pianificazione e l’organizzazione del progetto stesso (ad esempio, risorse, comunicazione e aspettative).

32
Q

Quale dei seguenti è un esempio di come l’analisi dei rischi di prodotto influenzi la completezza e l’ambito del testing?

a) Il test manager monitora e fornisce il reporting del livello di rischio di tutti i rischi conosciuti su base giornaliera, in modo che gli stakeholder possano prendere una decisione informata sulla data di rilascio

b) Uno dei rischi identificati era la “Mancanza del supporto di database open-source”, quindi il team ha deciso di integrare il sistema con un database open-source

c) Durante l’analisi quantitativa del rischio, il team ha stimato il livello di rischio totale di tutti i rischi identificati e lo ha indicato come rischio residuo totale prima del testing

d) La valutazione del rischio ha rivelato un livello molto alto di rischio di efficienza delle prestazioni, quindi è stato deciso di eseguire un performance testing dettagliato nelle prime fasi del ciclo di vita del software

A

Risposta giusta è la D)
a) Descrive attività di gestione dei rischi, non l’influenza dell’analisi dei rischi sull’ambito del testing.
b) Descrive una modifica progettuale o tecnica, non il testing.
c) Riguarda la stima quantitativa del rischio, ma non collega questa analisi all’ambito o alla completezza del testing.

33
Q

Quali DUE delle seguenti opzioni sono metriche comuni utilizzate per il reporting del livello di qualità dell’oggetto di test?
a) Numero di difetti rilevati durante il testing di sistema
b) Effort totale della progettazione dei test diviso per il numero di test case progettati
c) Numero di procedure di test eseguite
d) Numero di difetti rilevati diviso per la dimensione di un prodotto di lavoro
e) Tempo necessario per correggere un difetto
Selezionare DUE opzioni.

A

Le due risposte corrette sono:

a ) Il numero di difetti rilevati durante il testing di sistema è una metrica comune che indica il livello di qualità dell’oggetto di test. Un alto numero di difetti può suggerire la necessità di ulteriori miglioramenti.

d ) Il numero di difetti rilevati diviso per la dimensione di un prodotto di lavoro (ad esempio, righe di codice o punti funzione) è una metrica utilizzata per misurare la densità dei difetti, un indicatore della qualità del prodotto.

Le altre opzioni:

b) Misura l’efficienza del processo di progettazione dei test, non direttamente il livello di qualità dell’oggetto di test.
c) Il numero di procedure di test eseguite è una metrica di progresso, ma non indica necessariamente la qualità dell’oggetto di test.
e) Il tempo necessario per correggere un difetto è una metrica di processo e non direttamente legata alla qualità dell’oggetto di test.

34
Q

Quale delle seguenti informazioni contenute in un test progress report è la MENO utile per i rappresentanti di business?

a) Impedimenti al testing
b) Copertura dei rami raggiunta
c) Stato di avanzamento dei test
d) Nuovi rischi all’interno del ciclo di test

Selezionare UNA opzione.

A

La risposta corretta è:

b) Copertura dei rami raggiunta
Spiegazione:

La copertura dei rami è una metrica tecnica che interessa principalmente agli sviluppatori e ai tester per valutare la completezza del testing a livello di codice. Tuttavia, non è direttamente rilevante per i rappresentanti di business, che si concentrano più sui rischi, sullo stato di avanzamento e sugli impedimenti che potrebbero influire sui tempi e sulla qualità del rilascio del prodotto.

Le altre opzioni sono più utili per i rappresentanti di business:

a) “Impedimenti al testing” evidenzia problemi che potrebbero ritardare il rilascio.

c) “Stato di avanzamento dei test” è fondamentale per monitorare i progressi rispetto alle scadenze.

d) “Nuovi rischi all’interno del ciclo di test” permette di prendere decisioni informate sul rilascio e sulla mitigazione del rischio.

35
Q

Quali DUE dei seguenti compiti appartengono PRINCIPALMENTE a un ruolo di testing?
a) Configurare gli ambienti di test
b) Mantenere il product backlog
c) Progettare soluzioni per nuovi requisiti
d) Creare il test plan
e) Analizzare la base di test

Selezionare DUE opzioni.

A

Risposte esatte:
a) Configurare gli ambienti di test
d) Creare il test plan

Spiegazione:
b) Mantenere il product backlog: Questo è principalmente compito del Product Owner, non del tester.
c) Progettare soluzioni per nuovi requisiti: Questo rientra nel ruolo degli sviluppatori o dei solution architect, non dei tester.

e) Analizzare la base di test: Anche se un tester può lavorare con la base di test, questo compito è di supporto e non primario rispetto agli altri due selezionati.

36
Q

Quale delle seguenti affermazioni descrive MEGLIO l’approccio acceptance test-driven development (ATDD)?

a) In ATDD, i criteri di accettazione sono tipicamente creati sulla base del formato given/when/then

b) In ATDD, i test case sono creati principalmente per il testing di componente e sono code-oriented (orientati al codice)

c) In ATDD i test case sono creati sulla base dei criteri di accettazione, per guidare lo sviluppo del software correlato

d) In ATDD, i test sono creati sulla base del comportamento desiderato del software, e questo rende più facile la comprensione da parte dei membri del team.

A

c) In ATDD i test case sono creati sulla base dei criteri di accettazione, per guidare lo sviluppo del software correlato
Spiegazione:
Acceptance Test-Driven Development (ATDD) è una pratica in cui i criteri di accettazione vengono definiti prima dello sviluppo del software e sono usati per creare test case che guidano lo sviluppo del software.
Questo approccio aiuta a garantire che il software soddisfi i requisiti degli stakeholder e gli obiettivi aziendali.

Perché le altre opzioni sono errate:

a) Sebbene il formato “given/when/then” sia comunemente usato in ATDD (come nelle storie utente in Behavior-Driven Development - BDD), questa affermazione non rappresenta al meglio l’essenza di ATDD, che riguarda la creazione di test basati sui criteri di accettazione.

b) I test in ATDD non sono principalmente orientati al codice o limitati al testing di componente. Sono focalizzati sui criteri di accettazione definiti dagli stakeholder.

d) Anche se i test in ATDD possono essere comprensibili dal team, questo è più caratteristico del Behavior-Driven Development (BDD), che si concentra sul comportamento del sistema.

Quindi, la descrizione migliore è quella fornita dalla risposta c.

37
Q

Quale dei seguenti NON è un esempio di approccio shift-left?

a) Eseguire la review dei requisiti dell’utente prima della loro accettazione formale da parte degli stakeholder

b) Scrivere un test di componente prima di scrivere il codice corrispondente

c) Eseguire un testing di efficienza delle prestazioni per un componente durante il testing di componente

d) Scrivere un test script prima di definire il processo di configuration management

A

a) Eseguire la review dei requisiti dell’utente prima dell’accettazione formale: è un classico esempio di shift-left, poiché le review sono condotte nelle fasi iniziali per prevenire difetti successivi.

b) Scrivere un test di componente prima di scrivere il codice: è un esempio di Test-Driven Development (TDD), che rientra nell’approccio shift-left.

c) Eseguire un testing di efficienza delle prestazioni durante il testing di componente: anticipare il testing delle prestazioni è coerente con l’approccio shift-left.

Invece:
d) Scrivere un test script prima di definire il processo di configuration management non rappresenta un approccio shift-left, poiché non riguarda l’anticipazione delle attività di QA o testing nelle fasi iniziali. Il processo di configuration management è una componente organizzativa fondamentale che dovrebbe essere definita prima di sviluppare test script.

38
Q

Perchè è una attività scellerata quella di Scrivere un test script prima di definire il processo di configuration management?

A

Perchè se non è definito il processo di Configration manager rischiamo di generare degli script in un contesto non ancora definito.

Inoltre l’ approccio shift left consiste nel
* fare la review dei requisiti
* Fare il tdd
* Fare il test di efficienza durante il testing del componente.

39
Q

Per associare i tipi di failure ai livelli di test, dobbiamo considerare lo scopo di ciascun livello di test:

A

Failure nel comportamento del sistema, a causa di una deviazione dalle esigenze di business dell’utente

(1) : Questo tipo di failure viene identificato meglio durante il Testing di accettazione (D), poiché l’obiettivo principale di questo livello è verificare che il sistema soddisfi i requisiti di business e le esigenze dell’utente.

Failure nella comunicazione tra i componenti
(2) : Questo tipo di failure viene rilevato meglio nel Testing di integrazione dei componenti (B), poiché questo livello si concentra sull’interazione tra i componenti e sulla loro corretta comunicazione.

Failure nella logica in un modulo
(3) : Questo tipo di failure è individuato meglio durante il Testing di componente (A), che si concentra sulla verifica delle singole unità o moduli, inclusa la loro logica interna.

Failure in regole di business non correttamente implementate
(4) : Questo tipo di failure è identificato meglio nel Testing di sistema (C), poiché questo livello verifica il comportamento del sistema nel suo complesso, comprese le regole di business implementate.

40
Q

Dai una definizione a Defect Managment

A

Defect managment consente di gestire i difetti attraverso diverse fasi:

Identificazione
Registrazione
Priotirizzazione
Correzione
Verifica
Chiusura

Esempio di Defect Management

Immagina di lavorare su un’applicazione di gestione delle risorse aziendali. Durante il test funzionale, il tester scopre un difetto che fa sì che l’applicazione si blocchi quando un utente tenta di caricare un report complesso.

Identificazione: Il tester rileva che l’applicazione va in crash quando l’utente prova a caricare il report e lo segnala come un bug.

Registrazione: Il bug viene registrato in un sistema di tracciamento (ad esempio, Jira) con i seguenti dettagli:

Descrizione: “L’applicazione va in crash quando si tenta di caricare il report finanziario.”
Passi per riprodurre:
1. Accedi all’applicazione.
2. 2. Vai alla sezione ‘Report’.
3. 3. Seleziona il report ‘Finanziario’.”
Severità: Alta (perché l’applicazione si blocca).
Priorità: Alta (deve essere corretto prima di una release).

Prioritizzazione: Poiché l’applicazione si blocca, il difetto viene classificato come “Critico” e viene assegnato una priorità alta per la risoluzione.

Correzione: Un sviluppatore esamina il codice e trova che il difetto è causato da una query inefficiente che non riesce a gestire una grande quantità di dati. Corregge il problema ottimizzando la query.

Verifica: Il tester esegue nuovamente il test per verificare che l’applicazione non vada più in crash quando si carica il report finanziario e conferma che il bug è stato corretto.

Chiusura: Dopo aver verificato che il difetto è stato risolto, il bug viene chiuso nel sistema di tracciamento e il team può continuare con il lavoro.

41
Q

In che modo i tester aggiungono valore alla pianificazione dell’iterazione e alla pianificazione della release?

a ) I tester determinano la priorità delle user story da sviluppare
b ) I tester si focalizzano solo sugli aspetti funzionali del sistema da testare
c ) I tester partecipano all’identificazione dettagliata dei rischi e alla valutazione dei rischi delle user story
d ) I tester garantiscono il rilascio di software di alta qualità attraverso la progettazione anticipata dei test durante la pianificazione della release

A

a) I tester determinano la priorità delle user story da sviluppare:
Questa affermazione è falsa. La priorità delle user story viene generalmente determinata dal product owner o dal team di business in base al valore per l’utente e agli obiettivi aziendali. I tester non sono direttamente responsabili di stabilire la priorità delle user story, anche se possono fornire feedback sul rischio e sulla complessità tecnica.

Cosa è il product owner?
Il Product Owner (PO) è una figura chiave nel framework Agile e, in particolare, nel metodo Scrum. È il responsabile principale della definizione, gestione e priorizzazione delle user story (funzionalità, requisiti o esigenze) all’interno del backlog del prodotto. La sua responsabilità è garantire che il team di sviluppo lavori su ciò che è più importante per il business e gli utenti.

b) I tester si focalizzano solo sugli aspetti funzionali del sistema da testare:
Questa affermazione è falsa. I tester non si focalizzano solo sugli aspetti funzionali, ma eseguono test anche su aspetti non funzionali come la performance, la sicurezza, l’affidabilità e l’usabilità. Inoltre, partecipano attivamente nella pianificazione per fornire una visione complessiva del sistema.

c) I tester partecipano all’identificazione dettagliata dei rischi e alla valutazione dei rischi delle user story:
Questa affermazione è vera. I tester, grazie alla loro esperienza pratica e alla comprensione del comportamento del sistema, sono in grado di identificare rischi specifici legati a ciascuna user story (come possibili difetti, vulnerabilità o impatti sulle performance). La loro partecipazione alla valutazione dei rischi aiuta a priorizzare i test e a gestire i rischi complessivi del progetto.

d) I tester garantiscono il rilascio di software di alta qualità attraverso la progettazione anticipata dei test durante la pianificazione della release:
Questa affermazione è vera, ma non è la più completa rispetto alla risposta c. La progettazione anticipata dei test è fondamentale per assicurarsi che il software venga testato in modo efficace, ma il valore maggiore che i tester apportano alla pianificazione della release è la loro capacità di identificare e valutare i rischi, contribuendo a determinare quali aree necessitano di maggiore attenzione e test approfonditi.

Risposta corretta:

c) I tester partecipano all’identificazione dettagliata dei rischi e alla valutazione dei rischi delle user story.

Anche la D è corretta ma la C è più bella!!!!

42
Q

Chi mantiene il product backlog?

A

Questo è tipicamente compito del Product Owner o del team Agile.

Cosa è il l Product Backlog?
Il Product Backlog è un elenco ordinato e dinamico di tutte le attività, funzionalità, miglioramenti e correzioni che devono essere realizzati per sviluppare e migliorare un prodotto.
È uno strumento fondamentale nel framework Scrum e viene gestito dal Product Owner.

43
Q

Cosa è il Product Owner?

A

Il Product Owner è la persona responsabile di decidere cosa deve essere sviluppato in un prodotto, dando priorità alle funzionalità e assicurandosi che il team lavori su ciò che porta più valore agli utenti e all’azienda. Collabora con il team di sviluppo e gli stakeholder per definire i requisiti, gestisce il Product Backlog e guida la visione del prodotto.

44
Q

Chi Progetta soluzioni per nuovi requisiti?

A

Questo è principalmente il ruolo degli sviluppatori o degli architetti di sistema.

45
Q

Chi crea il test plan?

A

È una responsabilità chiave nel testing
per definire come verrà eseguito il processo di test.

46
Q

Chi Analizza la base di test?

A

La base di test è analizzata principalmente dai tester e dagli analisti di test

47
Q

Quando abbiamo una buona conoscenza del progetto e dobbiamo
dare una risposta pur non avendo requisiti perchè è
meglio fare un test esplorativo invece di fare un Error Guessing?

A

Perchè il test Esplorativo è l’ideale da fare in mancanza di requisiti
Mentre l’error Guessing funziona in combinazione con altre tecniche
e si basa solo sull esperienza e non ha un’ ampia copertura.

48
Q

Quale test fare per migliorare i tempi di risposta?

A

Con il performance testing ti aiuta a trovare i problemi e quindi
a mitigare i problemi legati ad i tempi di risposta.

Anche i test di accettazione aiuta a trovare gli errori e quindi
a mitigare i difetti.

49
Q

A cosa serve la traccibilità?

A

La tracciabilità è un modo per tenere tutto collegato e sotto controllo durante un progetto. Serve per assicurarsi che ogni cosa richiesta (i requisiti) sia stata fatta, verificata e funzioni come dovrebbe.

È come creare una mappa che collega:
- Quello che serve fare (i requisiti),
- Come viene fatto (design e codice),
- Come viene controllato (test),
- Il risultato finale.

Un esempio semplice:
Immagina di dover costruire una casa:
1. Requisito: La casa deve avere 3 stanze.
2. Design: L’architetto disegna una casa con 3 stanze.
3. Costruzione: I muratori costruiscono le 3 stanze.
4. Verifica: Controlli che la casa abbia davvero 3 stanze.

La tracciabilità ti permette di seguire ogni passo e verificare che quello che è stato richiesto (3 stanze) sia stato fatto correttamente.

Perché è utile?
- Aiuta a non dimenticare nulla.
- Ti permette di trovare e correggere errori più facilmente.
- Ti garantisce che tutto sia stato fatto come richiesto.

50
Q

Che tipo di Test appropriato viene Fatto con le Failure nel comportamento del sistema?

A

Si verifica quando il comportamento del sistema si discosta dai requisiti di business e dalle esigenze dell’utente.
Livello di testing appropriato:

Testing di accettazione
L’obiettivo principale è verificare che il sistema soddisfi i requisiti di business e le aspettative degli utenti.

51
Q

Che tipo di test è appropriato per gestire la Failure nella comunicazione tra i componenti?

A

Descrizione:
Si verifica quando i componenti del sistema non riescono a comunicare correttamente tra loro.

Livello di testing appropriato:
Testing di integrazione dei componenti
Si concentra sull’interazione e sulla comunicazione tra i componenti per verificarne il corretto funzionamento.

52
Q

Che tipo di test è appropriato per gestire della la Failure nella logica in un modulo

A

Descrizione:
Si verifica quando la logica interna di un modulo contiene errori.

Livello di testing appropriato:

Testing di componente
Mira a verificare il corretto funzionamento di singole unità o moduli, incluse le loro logiche interne.

53
Q

Che tipo di test è appropriato per gestire delle Failure in regole di business non correttamente implementate

A

Descrizione:
Si verifica quando le regole di business definite non sono implementate correttamente nel sistema.

Livello di testing appropriato:

Testing di sistema
Si concentra sul comportamento complessivo del sistema, incluse le regole di business implementate.