Ingegneria del Software- Test e test di accettazione

slevyn
Sto svolgendo un progetto di ingegneria . Ho completato la fase di progettazione e codice . Ora mi tocca effettuare i test di accettazione ...Il professore ha detto di farne 20 ..ma non ho la più pallida idea di cosa siano e come dovrebbero essere eseguito . Qualcuno è così gentile da spiegarmi come devo muovermi ?

Risposte
slevyn
Possibile nessuno ? :/

hamming_burst
Ciao,
di sicuro si riferisce ai test dinamici black-box. Ne esistono molti altri e diversi, anche tramite software (es. JTest).

Fai una tabella con dei possibili valori, errori, ..., per cui ti aspetti che il tuo codice ritorni od esegui.
Poi fai dei test direttamente, e ti segni il risultato, se non corrispondo/corrispondono lo segni sulla tabella. Fine.

se è di "accettazione" devi dare un limite di percentuale. Se è sopra una certa soglia di valori non attesi allora devi ritornare alla fase di analisi-... (non so che tipo di metodologia tu abbia seguito...).

PS: E' una delle fasi più pallotolose che ho mai incontrato in un progetto, e c'è chi lo fa per mestiere!!

apatriarca
@hamming_burst: Esistono sistemi automatizzati per farlo (almeno per la fase di riassumere i risultati)..

hamming_burst
"apatriarca":
@hamming_burst: Esistono sistemi automatizzati per farlo (almeno per la fase di riassumere i risultati)..

ah certo (lo ho ben accennato con quel "tramite software"). Solo che se è un progetto universitario proprio di un corso di SE, penso che il docente si aspetti un qualcosa di più che l'utilizzo di tool automatizzati (poi mica tanto, devi configurarli a mano...). Almeno al corso di SE che seguii io, c'era da presentare un progetto con tutte le fasi e con utilizzo di Metodi Agili (almeno una sua simulazione), nella fase di test (sottolineo test dinamici) dovetti presentare una tabella cartacea (e da lì nacque il mio odio per sta fase...).

Cmq se l'utente specifica cosa il docente si aspetta, possiamo esser più specifici, dovrei avere ancora i modelli cartecei standard che si utilizzano di solito.

slevyn
Se vi dico che il mio professore non ha spiegato nulla riguardo al caso studio , ma lo ha assegnato solamente non ci credete ...XD Ha consegnato dei fogli - template per la compilazione dell'analisi dei requisiti e di progettazione. Mi sono meravigliato dei test di accettazione perchè li ho letti nell'apposito documento che ci ha consegnato per quanto concerne la valutazione del progetto su 3 criteri :

Valutazione di quanto realizzato sula base di 3
criteri:
 Test di accettazione :?
• complessivamente saranno previsti non meno di 20 :?
test per ognuno dei rilasci
 Tracciabilità dei prodotti consegnati:
• 10 controlli a campione su documenti e software
 Qualità della soluzione implementata (a insindacabile
giudizio del valutatore)

Non sono state date nessuna delucidazioni a riguardo :/

hamming_burst
Allora direi che ti serve un intro sui test cases: http://www.kaner.com/pdfs/GoodTest.pdf

Quinzio
"slevyn":
Possibile nessuno ? :/


In giro ci sono libri interi sulle tecniche di testing. Però secondo me non hai molto tempo per starci sopra, anche perchè se ti hanno dato come soglia minima 20 test, è un progetto piccolo, con un testing facile.
In quei software che vengono testati "a sangue" ci sono decine di migliaia di test che vengono eseguiti e rieseguiti ad ogni rilascio di versione. Quindi comincia a entrare nell'ordine di idee che la tua è roba "facile".

Facendo esempi terra-terra.
Hai una funzione che calcola la radice quadrata.
Cosa succede se immetto un numero negativo ?
Mi deve restituire errore ? Come ? Sono previsti i numeri immaginari ?

Ho un sistema di prenotazione alberghiera.
Cosa succede se immetto una data del passato ? Il sistema mi dice "prenotazione accettata" ?
Cosa succede se prenoto per -2 adulti (negativo) ? Il sistema va in crash ? Mi da buona la prenotazione ? Mi accredita dei soldi ? :shock:

Il mio software deve aprire e leggere un file di testo, di solito di qualche decina di kB.
Cosa succede se il file invece è di 900MB ? Il mio software si pianta e manda in crash tutto ?
Se il file non esiste, cosa succede ? Se il file è corrotto ? Al file accedono più processi contemporaneamente ?

E così via. Devi far lavorare la materia grigia e pensare a come il tuo software può dare risultati inaccettabili.

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.