Ingegneria del Software II – 01BIF
Esonero
6 Aprile 2006
Non e’ possibile consultare libri o appunti. Scrivere le risposte solo sui fogli forniti.
Sono gradite risposte brevi in scritte in modo leggibile.
Cognome, nome, matricola _________________________________________________
1-Un CD/mp3 e' composto di
-file di descrizione disco in inglese
-file di descrizione disco in italiano
-6 file di canzoni
Il CD viene venduto in versione lunga (6 canzoni) e corta (2 canzoni), in inglese e
italiano.
Dire quali quanti sono i configuration item e fare un esempio di baseline corrispondente a
una versione in vendita.
Numero di configuration item:____8 (2 file descrizione, 6 file musica)____
Esempio di baseline:
baseline1: 6 file canzoni, file descrizione italiano
baseline2: 2 file canzoni, file descrizione italiano
2-Elencare in sequenza le attivita’ del processo di inspection
1-planning
2-overview (opzionale)
3-preparation
4-meeting
5-rework
3-Definire failure, fault e la loro differenza
Failure: evidenza di malfunzionamento rispetto a attese (implicite) o specifiche
(esplicite)
Fault: errore in elemento di software system che causa failure
Failure puo essere causata da uno o piu fault, fault puo’ causare da zero a molte
failure
4-Qual e' la differenza tra testing e debugging?
Testing: ricerca failure
Debugging: ricerca e correzione fault
5-Qual e’ la definizione di affidabilita’ del software (reliability)?
Probabilità che un componente o sistema svolga correttamente ed
ininterrottamente la sua funzione per un periodo di tempo assegnato, in condizioni
operative ed ambientali ben definite
6-Definire test black box per la funzione seguente
Una funzione converte una sequenza di caratteri in un numero intero. La sequenza puo’
cominciare con un – (numero negativo). L’intero rappresentato dalla sequenza deve
essere compreso tra minint e maxint (minint = -32768 maxint = 32767).
La funzione deve segnalare errore se la sequenza non e’ ammessa.
int converti(string s)
“1” “ 1” 1
“1234” 1234
“1234567” errore
“99999” errore
“12ff99” errore
Classe
Intero
ben
formato,
entro
minint
maxint
Classe valida
Positivo
Converti(“10”) -> 10
Converti(“ 10”) -> 10
Negativo
Converti(“-10”) -> -10
Converti(“ -10”) -> -10
Non
intero,
numero
Non
intero
Classe non valida
Converti(“99999”) -> err
Boundary Condition
Converti(“32767”) -> 32767
Converti(“32768”) -> err
Converti(“32766”) -> 32766
Converti(“0”) -> 0
Converti(“”) -> err
Converti(“-“) -> err
Converti(“-99999”) -> err
Converti(“3.7”) -> err
Converti(“3.0E1”) -> err
Converti(“1 1”) -> err
Converti(“a”) -> err
Converti(“abcde”) -> err
Converti(“a11”) -> err
Converti(“-32768”) -> -32768
Converti(“-32769”) -> err
Converti(“-32767”) -> -32767
7-Definire test white box per la funzione seguente (linguaggio C)
1
2
3
4
5
6
7
8
9
10
11
int f (int num1, int num2, int num3)
{
if ((num1 < num2) || (num1 < num3)) printf("no ok“);
while (num2 > 0)
{
num1 = num1 - 1;
num2 = num2 - 1;
}
if (num1 == num3) printf("ok“);
else printf("no ok“);
}
Definire il grafo di controllo
Definire test case per copertura nodi, archi, decisioni
((num1 < num2) || (num1 <
num3))
true
Cout nok
num2 > 0
true
num1 = num1 - 1;
num2 = num2 - 1;
num1 ==
num3
Cout nok
Criterio
Nodi
Archi
Decisioni
true
Cout ok
Input
T1 1,2,3
T2 1,2,-1
T3 3,2,1
T1
T1 - T T nodo1
T3 - F F nodo1
T2 - T F
T4 2,1,3 – F T
Output
Nok, Nok
, ok
, ok
Nok, nok
Scarica

Esonero anno 2005/2006