CAP02 Flashcards
Spiegare l’impatto sul testing del ciclo di vita dello sviluppo software selezionato
in funzione del modello di sviluppo del software si utilizzano delle tecniche di testing differenti. Esistono diversi tipi di SDLC e possono essere iterativi ed incrementali ed agile. nei modelli iterativi ed incrementali sorge la necessità di esegire test statici e dinamici per ogni iterazione, a differenza dell Agile che punta a svilppare testing automatico con na documentazione leggera.
Ricordare le buone pratiche del testing che si applicano a tutti i cicli di vita dello sviluppo software
Esistono comunque delle buone pratiche di sviluppe generali, Ad ogni attività di sviluppo abbiamo una attività di test, ogni livello di test ha un obiettivo la progettazione dei test avvengono già nelle prime fasi di progettazione del SDLC in modo che si possa stabilire anticipatamente. ITESTER sono coinvolti da subito appena sono presenti i draft della documentazione.
Descrivi i Testing Driver
TDD dove si scrive prima il test e poi il codice e si concentra sul codice
ATDD è una metodologia che passa dalla
User Story andiamo a generare i
Criteri di accettazione
Acceptance Test (in formato Gherkin, comune per strumenti come Cucumber)
BDD Descrivi il comportamento del software
User Story andiamo a generare i
Criteri di accettazione
Beavor Test (in formato Gherkin, comune per strumenti come Cucumber)
Dipende Dal focus: Uno è orientato all’ accettazione l’altro al comportamento.
Riassumere come DevOps potrebbe avere un impatto sul testing
Il Dev Ops ci consente di rilasciare e pubblicare il software con la CI si promuove lo Shift Left e con il CD il software viene sottoposto al testing automatico con il grande vantaggio di avere il software pronto per essere pubblicato senza errori perchè è perfettamente aggiornato e compila correttamente, con nessun problema di regressione. il lato negativo è proprio l’ uso di ulteriori risorse che devono essere create e mantenute.
Spiegare l’approccio shift-left
ci sono delle buone pratiche del shift-left e sono :
review delle specifiche
fare i test case
utilizzare i CI e CD
fai l’ analisi statica e testing dinamico del sorgente
Fai il testing non funzionale (test sulle prestazioni delle funzionalità) è fondamentale dire che queste pratiche comportano un impiego di risorse con un notevole guadagno successivo.
Spiegare come le retrospettive possono essere utilizzate come meccanismo per il process improvement (miglioramento del processo)
Le retrospettive sono delle riunioni che fà lo staff di sviluppo generalmente a fine del progetto oppure in corrispondenza di una milestone e si stabilisce :
-Cosa ha avuto successo e come mantenerlo
-Cosa non ha avuto successo e come migliorarlo
-Come implementare i miglioramenti.
il tutto deve essere memotizzato nei Test Completation Report
il Process Improvement permette alle organizzazioni di adattarsi, evolversi e ottenere risultati migliori ottimizzando i propri processi interni.
Distinguere i differenti livelli di test
I livelli di test sono dei raggruppamento delle attività di test, si testano le parti singole e poi si integra il test con tutte le altre. I livelli di test si integrano all interno dei modelli di sviluppo. I livelli di Test sono 5
Testing del componente
Testing di integrazione del componente
Testing di sistema
Testing di integrazione del Sistema
Testing di accettazione (verifica lo stato di evoluzione del progetto) READINESS
Inoltre i livelli di test si concentrano in diversi ATTRIBUTI come:
Oggetto di test (11)
Obiettivi di test
Base di test (Questo è l’insieme di documenti o specifiche su cui si basa il test)
Difetti
Approccio e responsabilità(Ogni livello di test può avere persone diverse responsabili)
Distinguere i differenti tipi di test
Test Funzionali
Sono quei test che si concentrano sulla funzionalità rispettando i requisiti tali test si possono fare a tutti i livelli dall unit test al test end to end per eseguire questo tipo di test necessita una buona conoscenza del sitema.
Test Non Funazionali
Sono dei test che dsi concentrano fondalmetalmente sulle prestazioni ossia verifica quanto bene si comporta il sistema.
Si concentra nei seguenti aspetti.
* Prestazioni
* Affidabilià
* Scalabilità
* Sicurezza
* Usabilità
* Compatibilità
Inoltre abbiamo i test
* Black Box che si concentrano sulle interfacce utente.
I test
* White Box si concentrano sul Back-End e quindi sulla parte del funzionamento della parte di business.
Distinguere il testing confermativo dal regression testing
Il test Confermativo viene fatto a seguito di una correzione di una failure così ci accertiamo della corretta correzione del difetto. Il regression test è un test che viene eseguito sul sistema per accertarsi di non aver fatto danni durante la correzione.
Riassumere il testing di manutenzione e i suoi trigger di attivazione
Ci sono tre tipi di test
* Correttiva,
* Adattativa,
* Migliorativa
L’ambito di test dipende:
* Dimensione del progetto
* Dimensione della modifica
* Rischio
I trigger possono essere:
* Migliorativi
* Aggiornamento
* Ritiro
I rilasci
* -Modifiche pianificate
* -Modifiche non Pianificate
Cosa sono i test harness (Imbracatura)?
Sono script progettati per automatizzare l’esecuzione dei test?
Cosa sono i Test Case
Descrizione dettagliata su come testare una funzionalità
cosa è il Milestone?
Si intende un traguardo.
Cosa sono I test completion report?
I test completion report sono documenti che forniscono una sintesi dettagliata dei risultati del testing di un software alla fine di un ciclo di test.
Dimmi quali sono i 4 Modelli di sviluppo
Waterfall
VModel
DevOps
Agile
Cosa sono i Botton UP, Top Down, Big Bang
Sono Livelli di test dei componenti
Cosa è La readiness?
La readiness (o “prontezza”) si riferisce allo stato di preparazione di un sistema
Cosa è il White Box ed il Black Box?
Il testing White-box, o testing a scatola bianca, è un approccio di testing in cui il tester ha accesso alla struttura interna, al codice e alla logica del software. A differenza del testing black-box, che si concentra solo sull’output e sul comportamento esterno del software, il testing white-box verifica come funziona il codice “internamente”.
Cosa sono i Trigger di Attivazione?
Un trigger può avviare un’azione specifica quando si verifica un evento, come l’invio di un’email di benvenuto quando un utente si iscrive a un servizio
Cosa significa Process Improvement (Miglioramento)
process improvement: miglioramento dei processi per renderli più efficienti o produttivi.
cosa significa il Completion Report?
Il termine Completion Report (in italiano, Rapporto di Completamento) si riferisce a un documento formale che attesta il completamento di un progetto, di un’attività o di una fase di lavoro.
Cosa significa Readiness
In sostanza, readiness è uno stato di preparazione, assicurando che tutto sia a posto per affrontare al meglio un’attività o una sfida.
A quali tests viene eseguito le regression test?
I regression test si applicano ai test falliti più di recente
Un feedback anticipato e frequente a cosa serve?
Un feedback anticipato e frequente aiuta a individuare ambiguità, errori o incomprensioni nei requisiti nelle fasi iniziali dello sviluppo, riducendo il rischio di dover apportare correzioni costose in seguito.
cosa sono le review?
Le review nel testing del software sono una tecnica di testing statico utilizzata per individuare difetti, migliorare la qualità dei documenti e garantire che il software soddisfi i requisiti. Le review possono essere applicate a codice, documentazione, requisiti, test case e piani di test senza eseguire il software.
cosa è la Walkthrought?
Il Walkthrough è un tipo di review moderatamente formale, in cui l’autore del prodotto di lavoro (ad esempio, un documento di requisiti, codice sorgente, test case, ecc.) guida i partecipanti attraverso il materiale per raccogliere feedback e identificare possibili problemi. dove ci sono tre ruoli centrali che sono : Autore Partecipanti,Scribe
cosa è il Il partizionamento di equivalenza ?
Il partizionamento di equivalenza (o equivalence partitioning) è una tecnica di test utilizzata per ridurre il numero di test case necessari, suddividendo gli input possibili in classi di equivalenza. Ogni classe rappresenta un insieme di valori che vengono trattati allo stesso modo, il che significa che se un test case in una classe è valido o invalido, allora anche gli altri valori in quella stessa classe dovrebbero essere trattati allo stesso modo.
Cosa è Error guessing?
Error guessing implica l’utilizzo della propria conoscenza ed esperienza sui difetti rilevati in passato e sugli errori tipici degli sviluppatori
Quando fare il testing Esplorativo?
Questa tecnica è ideale quando il tempo è limitato, i requisiti sono incompleti e si dispone di una buona conoscenza del dominio
come descrivere scenari di test in modo comprensibile sia per i tester che per gli stakeholder
Utilizzare Questo formato (anche noto come “comportamento guidato dallo sviluppo” o BDD) è un modo chiaro e strutturato per definire i criteri di accettazione.
“Given” (Dato che) stabilisce il contesto iniziale.
“When” (Quando) descrive l’azione che viene eseguita.
“Then” (Allora) specifica il risultato atteso.
Quali sono i passi per eseguire ATDD?
Si parte dalla user story poi si scrivono i criteri di accetazione con il formato il formato “Given/When/Then” (Dato che/Quando/Allora) per descrivere gli scenari di test. poi I criteri di accettazione vengono trasformati in test automatizzati.
Cosa è la readness?
la “readiness” dell’ambiente di test si riferisce allo stato di preparazione dell’ambiente in cui verranno eseguiti i test.
Cosa è la densità stimata dei difetti?
La “densità stimata dei difetti” è una metrica utilizzata nel testing del software per valutare la qualità del software in termini di numero di difetti presenti.La densità dei difetti viene utilizzata per monitorare la qualità del software durante il ciclo di sviluppo.