Testing Flashcards
In cosa consiste il testing?
Consiste nell’eseguire il programma utilizzando dati che simulano input
Quando il testing si dice fallito e quando superato?
Comportamento aspettato -> test superato
Comportamento inatteso -> test fallito
Quali sono le tipologie di testing?
Funzionale
Testare funzioni in un sistema per trovare bug
User Testing
Alfa prima versione di testing
Beta libera agli users per verificare usabilità
Performance e test di carico
Verifica differenti livelli di carico come vengono gestiti dal sistema
Security testing
Ricerca di vulnerabilità da usare a proprio vantaggio
Cos’è testing funzionale
Tanti test da eseguire almeno una volta per accertarci che funzionalità ben implementata
Unit testing -> feature testing -> system testing -> release testing
Come scegliere casi di test per unit testing?
Troviamo partizioni equivalenti
Test dei Casi limite
Forzare errori
Riempire buffers
Ripeti lo stesso test più volte
Overflow e underflow, come ad esempio null pointers
Mantieni conteggio di elementi
Test con un solo valore
Quando feature si dice funzionante
La funzionalità deve essere implementata as expected
Deve portare al raggiungimento degli obbiettivi utente
Come testare features?
Test di interazione, tra procedure sviluppate da teams differenti
Test dell’utilità delle features
Si parte da user stories e scenarios
System testing come funziona
Test del sistema completo
Scoprire interazioni inaspettate non volute
Scoprire se features lavorano bene insieme
Assicurarsi che il sistema operi come ci si aspetta
Test responsivitá, sicurezza e altri attributi qualitativi
Test di release
Utili per testare se sistema é pronto al rilascio, si testa il sistema nell’env reale
Percentuali di test presenti
System 10 percento
Features 20 percento
Unit 70 percento
Surrogate user test
Riproduciamo serie di operazioni che effettuerebbe user
Fasi del test driven dev
Partiamo dai test, quando troviamo feature
Creiamo stab code che fallisce
Run tests automatici
Implementiamo finché test non superati
Refactor/controllo feature
Pro test driven dev
Ogni sezione viene testata
Aiutano nella lettura del codice
Codice più semplice
Cons test driven dev
Difficolta di TDD
Scoraggia grandi cambiamenti
Più focus su test che su problemi
Scopo Test di sicurezza
Trovare vulnerabilità oppure convincere sicurezza sistema