CAP01 Flashcards
Cos’è il Testing?
In sintesi, il testing è una pratica essenziale per garantire la qualità, l’affidabilità e la sicurezza di un sistema o prodotto prima che venga rilasciato o messo in uso.
Obiettivi del Testing
- Identificare e correggere i difetti
- Validare i requisiti
- Assicurare la qualità
- Prevenire i problemi futuri
- Supportare il rilascio
Testing e Debugging
Testing: Ha lo scopo di identificare i difetti (bug) o anomalie in un software verificando se soddisfa i requisiti specificati. Non si occupa di risolvere i problemi, ma di trovarli.
Debugging: È il processo di localizzazione, analisi e correzione dei difetti che sono stati identificati durante il testing o da segnalazioni.
Perché il Testing è Necessario?
Il testing è necessario per garantire la qualità, l’affidabilità e la funzionalità del software, e offre numerosi vantaggi per ogni fase del ciclo di vita del prodotto.
Il Contributo del Testing al Successo
Trovando i difetti di conseguenza migliora la qualità del prodotto
Inoltre ci aiuta a verificare la copertura di vincoli e requisiti contrattuali e legali
Prende consapevolezza di tutte le fasi di evoluzione del progetto
Testing e Quality Assurance (QA)
Testing si riferisce alla qualità del prodotto
Quality Assurance si riferisce al Flusso ossia a prevenire i problemi e migliorare l’ attività di sviluppo e testing
Errori, Difetti, Failure e Root Cause
Errore è l’azione che genera il difetto
Difetto è la manifestazione dell’ errore
Failure è il problema generato
La Root Cause è il motivo nascosto che ha portato all errore
I 7 Principi del Testing
1) Il test evidenzia i difetti ma non la loro completa assenza
2) Il test esaustivo non esiste
3) Il test anticipato consente di risparmiare tempoe denaro
4) I difetti si raggruppano in cluster
5) Se fai gli stessi test questi perdono di efficacia
6) Il test di pende dal contesto
7) L’assenza totale di difetti non garantisce il successo del prodotto
Attività di Test, Testware e Ruoli del Test
Principali attività di test sono:
* Pianificazione
* Monitoraggio
* Analisi
* Progettazione
* Implementazione
* Esecuzione
* Terminazione
* Completamento
Attività e Compiti del Test
Le attività e i compiti di test sono
Pianificazione
Monitoraggio
Analisi
Progettazione
Implemetazione
Esecuzione
Completamento
Le caratteristiche di contesto che interferiscono i test
le caratteristiche del contesto che interferiscono il test sono:
Tecniche
Organizzative
Ambientali (es ambiente di test non allineato)
Umane (mancanza di motivazione)
Cosa è il Testware
Include sia elementi software che documentali, e ha lo scopo di supportare la pianificazione, l’esecuzione, il monitoraggio e la valutazione dei test.E’ il Il prodotto di lavoro generato dalle attività di test.
Tracciabilità tra la Base di Test e il Testware
La tracciabilità è la capacità che ha un requisito di test o difetto di essere verificato
La base di test è l’ insieme di requisiti che devono essere presi in carico per essere verificati.
Il testWare è il materiale utilizzato per la pianificazione del Test.
Ruoli nel Testing
Questi ruoli possono essere rivestiti anche dalla stessa persona
Testing
Responsabile dell’aspetto tecnico del testing, focalizzandosi sull’analisi, progettazione, implementazione ed esecuzione dei test.
Test manager
Responsabilità complessiva del processo di test, inclusi la pianificazione, il monitoraggio, il controllo e il completamento dei test
Competenze Fondamentali e Buone Pratiche nel Testing
Per avere uno staff ottimale:
Esperto del testing
Devi essere accurato
Comunicativo
Conoscenze tecniche del dominio
Approccio Whole-Team
Ogni membro del team, inclusi i tester, contribuisce agli obiettivi comuni, lavora in stretta interazione e comunica per massimizzare le sinergie, utilizzando le diverse competenze
Indipendenza del Testing
Nessuna indipendenza (eseguito dall autore)
Poca indipendenza (eseguito da un collega dello stesso gruppo)
Alta indipendenza (eseguito da un elemento esterno al gruppo)
Indipendenza Molto alta (eseguito da tester esterno all organizzazione)
Testing multilivello (test eseguito da persone che rivestono ruoli differenti)
analisi dei test
L’analisi dei test è il processo di esame e interpretazione dei risultati dei test per capire quanto un sistema, un software o un prodotto soddisfi i requisiti o funzioni come previsto. L’obiettivo è identificare eventuali problemi, lacune o difetti per migliorare la qualità.
base di test
La base di test rappresenta l’insieme delle informazioni e dei documenti utilizzati come riferimento per progettare i test
completamento dei test
Sono attività di testing sono sufficientemente complete per dichiarare che il sistema è pronto per essere rilasciato o consegnato.
cosa è la condizione di test
E’ una funzionalità che deve essere verificata
controllo dei test
Il controllo dei test è una fase del processo di testing che consiste nel monitorare, gestire e guidare le attività di test per garantire che vengano eseguite in modo efficace e in linea con gli obiettivi definiti.
copertura
La copertura dei test è una metrica utilizzata nel testing software per misurare il grado in cui il codice, i requisiti o le funzionalità di un sistema sono stati verificati attraverso i test. In altre parole, rappresenta quanto del sistema è stato effettivamente testato rispetto a quanto previsto o necessario.
dati di test
I dati di test sono l’insieme di informazioni utilizzate durante il processo di testing per verificare il comportamento, le funzionalità e la qualità di un sistema.
debugging
Si tratta di un’attività cruciale per gli sviluppatori e i tester che consente di localizzare le cause di comportamenti anomali nel sistema
difetto
Un difetto nel software è un’anomalia che fa sì che un’applicazione non soddisfi i requisiti o specifiche stabiliti, oppure non funzioni correttamente secondo le aspettative degli utenti.
errore
Un errore è un’azione umana sbagliata che può essere commessa durante lo sviluppo del software.
Correggere i difetti prima che vengano rilasciati come si chiama?
Nell’ambito dello sviluppo software, è strettamente legato all’assicurazione della qualità (QA), dove l’obiettivo principale è rilevare e risolvere i difetti in anticipo per migliorare l’affidabilità del prodotto.
failure
Malfunzionamento del sistema durante l’esecuzione
cosa consiste nell’ implementazione dei test
Nell implementazione itest vengono configurati e preparati per essere eseguiti.
monitoraggio (monitoring) dei test
Il monitoraggio del testing è il processo di raccolta, analisi e reportistica dei dati relativi all’attività di test durante il ciclo di vita del software. L’obiettivo è valutare lo stato di avanzamento del testing
obiettivo del testing
L’obiettivo del testing del software è quello di verificare e validare che un’applicazione o un sistema funzioni correttamente rispetto ai requisiti stabiliti, sia privo di difetti e soddisfi le aspettative degli utenti finali. Il testing è una fase cruciale del ciclo di vita del software che mira a garantire che il prodotto finale sia affidabile, sicuro, efficiente e conforme alle specifiche.
oggetto di test
L’oggetto di test si riferisce alla parte del sistema o del software che viene testata durante il processo di testing. In altre parole, è ciò che viene esaminato e verificato per accertarsi che funzioni correttamente, rispetti i requisiti e non contenga errori.
Pianificazione dei test
La pianificazione dei test stabilisce la roadmap che guiderà tutte le attività di testing.
procedura di test
La procedura di test è un insieme di istruzioni dettagliate e sequenziali che descrivono come eseguire un test specifico sul software per verificarne la correttezza, le prestazioni, la sicurezza o altri aspetti rilevanti.
progettazione dei test
In pratica, la progettazione dei test stabilisce come saranno eseguiti i test, quali aspetti del sistema saranno testati e come i risultati verranno valutati.
qualità
La qualità del software è un aspetto fondamentale che influisce direttamente sulla soddisfazione dell’utente, sulla manutenibilità, sulla sicurezza e sulle prestazioni del prodotto
quality assurance
Si tratta di un processo preventivo che ha lo scopo di prevenire la comparsa di difetti nel software
risultato del test
Il risultato del test è il prodotto finale dell’esecuzione di un caso di test o di una serie di test su un sistema o applicazione. Esso fornisce informazioni sulla completa riuscita o fallimento del test, indicando se il software ha soddisfatto i criteri definiti durante la fase di progettazione del test.
root cause
La root cause non si riferisce ai sintomi superficiali del problema, ma a quello che ha originato il malfunzionamento o il difetto.
cosa è il test case?
I test case vengono definiti chiaramente gli obiettivi, i passaggi da seguire, i dati di input e i risultati attesi, un test case assicura che il software venga verificato in modo sistematico, riducendo il rischio di errori e migliorando la qualità del prodotto finale.
testing
Il testing è il processo di valutazione e verifica di un sistema o prodotto (come un software, un’applicazione, o un hardware) per accertarsi che funzioni correttamente e soddisfi i requisiti definiti. L’obiettivo del testing è individuare e correggere errori (o difetti) nel sistema prima che venga rilasciato agli utenti finali, assicurando così la qualità del prodotto.
testware
Il termine testware si riferisce all’insieme di tutti gli elementi necessari e correlati al processo di testing di un software
cosa è la validazione?
La validazione è il processo che verifica se un sistema, un prodotto o una soluzione soddisfa le esigenze e le aspettative degli utenti finalie se il software è in grado di risolvere il problema per cui è stato progettato.
verifica
La verifica è il processo attraverso il quale si accerta che un sistema, un prodotto o una componente software soddisfi i requisiti e le specifiche tecniche prestabilite. In altre parole, la verifica assicura che “si stia costruendo il prodotto nel modo giusto”. Questo significa che il software deve essere conforme agli standard, alle specifiche funzionali e ai criteri di progettazione definiti durante le fasi iniziali del progetto.