Testing Flashcards

1
Q

In cosa consiste il testing?

A

Consiste nell’eseguire il programma utilizzando dati che simulano input

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

Quando il testing si dice fallito e quando superato?

A

Comportamento aspettato -> test superato
Comportamento inatteso -> test fallito

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

Quali sono le tipologie di testing?

A

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

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

Cos’è testing funzionale

A

Tanti test da eseguire almeno una volta per accertarci che funzionalità ben implementata
Unit testing -> feature testing -> system testing -> release testing

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

Come scegliere casi di test per unit testing?

A

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

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

Quando feature si dice funzionante

A

La funzionalità deve essere implementata as expected
Deve portare al raggiungimento degli obbiettivi utente

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

Come testare features?

A

Test di interazione, tra procedure sviluppate da teams differenti
Test dell’utilità delle features
Si parte da user stories e scenarios

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

System testing come funziona

A

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

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

Test di release

A

Utili per testare se sistema é pronto al rilascio, si testa il sistema nell’env reale

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

Percentuali di test presenti

A

System 10 percento
Features 20 percento
Unit 70 percento

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

Surrogate user test

A

Riproduciamo serie di operazioni che effettuerebbe user

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

Fasi del test driven dev

A

Partiamo dai test, quando troviamo feature
Creiamo stab code che fallisce
Run tests automatici
Implementiamo finché test non superati
Refactor/controllo feature

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

Pro test driven dev

A

Ogni sezione viene testata
Aiutano nella lettura del codice
Codice più semplice

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

Cons test driven dev

A

Difficolta di TDD
Scoraggia grandi cambiamenti
Più focus su test che su problemi

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

Scopo Test di sicurezza

A

Trovare vulnerabilità oppure convincere sicurezza sistema

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

Limiti test di sicurezza

A

Trovare vulnerabilità difficile
Alcune vulnerabilità potrebbero dipendere dalle scelte tecnologiche

17
Q

Approccio per security testing

A

Identifica rischi principali da testare
Sviluppa test per dimostrare che il prodotto si protegge da questi rischi

18
Q

Come ragionare quando creiamo test di sicurezza?

A

Quando creiamo test sicurezza bisogna ragionare come attacker, facciamo cose errate, ripetiamo azioni

19
Q

Limiti del testing

A

Codice di testing influenzato dal nostro understanding dello scopo del codice
Testing potrebbe non avere codice per tutto il codice
Non sappiamo col testing leggibilità, possibili evoluzioni del codice, struttura

20
Q

Code review

A

Si possono attivare in automatico quando effettuiamo lavori su shared code
200/400 righe analizzate

21
Q

Chapters cosa sono

A

Team members che lavorano in area speciale

22
Q

Guild

A

membri organizzazione che hanno shared interest

23
Q

Code reviews effettuate da

A

Chapters o guild effettuano code review

24
Q

Automatizzazione dei test

A

Largamente utilizzata
Permette di testare tutto il programma con eseguibili dei test che confrontano il risultato reale con quello atteso

25
Q

Come evitare bug nei test

A

Per eliminarli rendiamoli più semplici possibile, rivedi il codice da testare

26
Q

Come organizzare i test

A

Arrange che set up I parametri
Action che chiama le varie azioni
Assert finale che controlla che output sia corretto

27
Q

Cosa possiamo utilizzare per testare load di applicativo?

A

Utilizziamo locust che permette di testare un’applicazione mettendola sotto sforzo, importante utilizzare file locust.py per identificare path dell’applicativo