Anteprima
Vedrai una selezione di 5 pagine su 18
Testing software Pag. 1 Testing software Pag. 2
Anteprima di 5 pagg. su 18.
Scarica il documento per vederlo tutto.
Testing software Pag. 6
Anteprima di 5 pagg. su 18.
Scarica il documento per vederlo tutto.
Testing software Pag. 11
Anteprima di 5 pagg. su 18.
Scarica il documento per vederlo tutto.
Testing software Pag. 16
1 su 18
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

Il testing o il collaudo

Il software deve essere collaudato per individuare gli errori che sono stati commessi inavvertitamente durante la progettazione e la realizzazione. Anche per il collaudo del software occorre stabilire una strategia sistematica. Il collaudo procede dal "piccolo al grande". Con questo si intende che le prime operazioni di collaudo si concentrano su un unico componente o su piccoli gruppi di componenti correlati in modo da individuare gli errori nei dati e nella logica elaborativi che sono collocati all'interno dei componenti. Dopo che i singoli componenti saranno stati collaudati, occorre integrarli in modo da realizzare un sistema completo. A questo punto occorre eseguire una serie di collaudi di alto livello per verificare che il programma risponda alle richieste del cliente. Dopo aver individuato gli errori occorre stabilirne una diagnosi e correggerli utilizzando un processo chiamato debugging.

Per documentare l'appoggio al collaudo da parte...

del tutto la correttezza di un programma, ma può solo dimostrare la sua incorrettezza. Il collaudo del software è un'attività fondamentale per garantire la qualità del prodotto finale. Durante il processo di collaudo, vengono eseguiti una serie di test per verificare che il software si comporti correttamente e rispetti le specifiche definite. I documenti di specifica del collaudo sono strumenti utilizzati dal team software per pianificare e organizzare il processo di collaudo. Questi documenti includono un piano di collaudo che descrive la strategia globale e una procedura che definisce i passi specifici del collaudo che verranno condotti. Nel contesto del collaudo del software, è importante comprendere la definizione di alcuni concetti chiave. Un errore umano si verifica quando c'è un'incomprensione umana nel tentativo di comprendere o risolvere un problema, o nell'uso degli strumenti. Un difetto, o bug, è la manifestazione nel software di un errore umano ed è la causa del fallimento del sistema nel eseguire la funzione richiesta. Un malfunzionamento, o failure, è l'incapacità del software di comportarsi secondo le aspettative o le specifiche. Un malfunzionamento ha una natura dinamica, accade in un certo istante di tempo e può essere osservato solo mediante esecuzione. Il testing, o collaudo, è il processo di esecuzione del software allo scopo di scoprirne i malfunzionamenti. Osservando i malfunzionamenti, possiamo dedurre la presenza di difetti nel software. Tuttavia, come sostenuto dalla tesi di Dijkstra, il testing non può dimostrare completamente la correttezza di un programma, ma può solo dimostrare la sua incorrettezza. In conclusione, i documenti di specifica del collaudo sono strumenti importanti per pianificare e organizzare il processo di collaudo del software. Il collaudo è un'attività fondamentale per garantire la qualità del prodotto finale e comprendere i concetti chiave come errore, difetto e malfunzionamento è essenziale per condurre test efficaci.l’assenza di difetti, ma può solo dimostrare la presenza di difetti. Il debugging è il processo di analisi del software per scoprirne i difetti. L’ispezione è un processo di analisi del software per scoprirne i difetti. Il collaudo del software fa parte di un tema più vasto, spesso chiamato verifica e convalida (o validazione). Per verifica si intende un insieme di attività che assicurano che il software realizzi correttamente una determinata funzione. Per convalida si intende un diverso insieme di attività che assicurano che il software costruito sia riconducibile ai requisiti del cliente. Verifica: Stiamo costruendo il prodotto nel modo giusto? Convalida: Stiamo costruendo il prodotto giusto? Il collaudo stabilisce la seconda chance per stabilire la qualità e per scoprire gli errori. Ma non si devedovrebbe eseguire test approfonditi per garantire la qualità del software. Il collaudo non può essere considerato come un'ultima risorsa per correggere eventuali difetti, ma come una parte integrante del processo di sviluppo del software. Alcuni punti da considerare sono: 1) Utilizzare metodi e tecniche valide durante lo sviluppo del software per garantire la qualità fin dall'inizio. 2) Effettuare revisioni tecniche formali per identificare eventuali errori o problemi nel codice. 3) Misurare e monitorare costantemente la qualità del software utilizzando metriche adeguate. 4) Coinvolgere persone esterne al progetto per eseguire test rigorosi e imparziali sul software. 5) Il collaudo non dovrebbe essere l'unico momento in cui si verifica la qualità del software, ma dovrebbe essere un processo continuo lungo tutto il ciclo di vita del software. In conclusione, il collaudo è importante per confermare la qualità del software, ma non può essere l'unico strumento per garantirla. La qualità deve essere incorporata nel processo di sviluppo del software fin dall'inizio.

Deve assicurarne il funzionamento secondo la funzione per la quale sono state progettate.

Problemi del testing:

  • Criterio di selezione
  • Valutazione dei risultati del test
  • Criterio di terminazione del testing

Valutazione dei risultati del test. Condizione necessaria per effettuare un test: conoscere il comportamento atteso per poterlo confrontare con quello osservato. L'oracolo conosce il comportamento atteso per ogni caso di prova (può essere un oracolo umano, che si basa sulle specifiche o sul giudizio) o un oracolo automatico.

Terminazione del testing:

  • Quando il programma si può ritenere analizzato a sufficienza, in base a:
  • un criterio temporale: periodo di tempo predefinito
  • un criterio di costo: sforzo allocato predefinito
  • un criterio di copertura: percentuale predefinita degli elementi di un modello di programma, legato ad

www.quellidiinformatica.org - La community studenti di Ingegneria Informatica di Napoli

INGEGNERIA DEL SOFTWARE FranK 3

di selezione dei casi di test; - un criterio statistico: (mean time between failures) predefinito e confronto con un modello di esistente. Quindi, volendo rispondere alla domanda, quando termina un collaudo? Si può dire che il collaudo non finisce mai, semplicemente la sua responsabilità passa dallo sviluppatore al cliente. "I collaudi terminano quando non c'è più tempo o sono finiti i soldi". Problema della selezione dei casi di test: Un programma è corretto se è corretto per ogni dato di ingresso. Un programma è esercitato da un caso di test (sottoinsieme dei dati di input). Un test è formato da un insieme di casi di test. L'esecuzione del test consiste nell'esecuzione del programma per tutti i casi di test. Un test ha successo se rileva uno o più malfunzionamenti del programma. Un test è ideale se l'insuccesso del test implica la correttezza del programma.test esaustivo è un test che contiene tutti i dati di ingresso al programma (un test esaustivo è un test ideale; un test esaustivo non è pratico e quasi sempre non è fattibile). Obiettivo realistico: selezionare casi di test che approssimano un test ideale. Criterio di selezione di test: - Specifica le condizioni che devono essere soddisfatte da un test. - Consente di selezionare più test per uno stesso programma. - Un criterio di selezione di test è affidabile per un programma se per ogni coppia di test selezionati, T1 e T2, essi si comportano allo stesso modo (ossia ogni insieme di casi di test che soddisfano il criterio rilevano gli stessi errori). - Un criterio di selezione di test è valido per un programma se, qualora il programma non è corretto, esiste almeno un test selezionato che ha successo. Teorema di Goodenough e Gerhart: - Il fallimento di un test per un programma P, selezionato da un criterio C affidabile e valido, permette di dedurre la

Correttezza del programma P. http://www.quellidiinformatica.org – La community studenti di Ingegneria Informatica di Napoli

INGEGNERIA DEL SOFTWARE FranK 4

Selezione dei casi di test. Teorema di Howden – non esiste un algoritmo che, dato un programma arbitrario P, generi un test ideale finito, e cioè un test definito da un criterio affidabile e valido. Aldilà di casi banali, non è possibile costruire un criterio di selezione generale di test valido e affidabile che non sia valido e affidabile che non sia il test esaustivo.

Obiettivi pratici:

  • massimizzare il numero di malfunzionamenti scoperti (richiede molti casi di test);
  • minimizzare il numero di casi di test (e quindi il costo del testing);

È preferibile usare più di un criterio di selezione dei test.

Osservazione. Ogni prodotto (ma anche molti altri oggetti) si può collaudare in due modi: 1) se si conoscono le funzioni specifiche che il prodotto deve svolgere, si possono effettuare

prove tese a dimostrare che tali funzioni sono effettivamente svolte, cercando nel contempo eventuali errori in ciascuna funzione;

se si conosce la struttura interna del prodotto, si possono effettuare prove tese a garantire che le operazioni interne rispettino le specifiche, avendo cura di mettere alla prova tutti i componenti. Il primo metodo è detto collaudo black-box e il secondo, collaudo white-box (al posto dei termini collaudo black-box e collaudo white-box vengono rispettivamente utilizzati i termini collaudo funzionale e collaudo strutturale).

Strategie di collaudo per il software convenzionale. Una strategia di collaudo che viene scelta dalla maggior parte dei team di sviluppo software adotta una visione incrementale del collaudo, iniziando con il collaudo delle singole unità del programma, procedendo con i test progettati per facilitare l'integrazione di queste unità e terminando con i test che mettono alla prova il sistema finale. Il collaudo delle

Unità si concentra sull'impegno di verifica della più piccola unità di programmazione software: il componente o il modulo. Il collaudo delle unità sfrutta di norma le tecniche white-box e il passo può essere condotto per più moduli contemporaneamente. L'interfaccia del modulo viene provata per assicurare che le informazioni fluiscano correttamente all'interno e all'esterno dell'unità di programma in esame. Vengono esaminate le strutture di dati locali, per assicurare che i dati memorizzati temporaneamente mantengano la propria integrità. Vengono provati tutti i cammini di esecuzione per la gestione degli errori. I casi di prova devono mirare a scoprire errori causati da calcoli e confronti errati o da anomalie del flusso di controllo. Quindi, riassumendo il testing di unità è applicato isolatamente ad una unità o ad un modulo di un sistema software; obiettivo fondamentale è

quellodi rilevare errori (logica e dati) nel modulo; prassi diffusa è che esso venga realizzato dal programmatore che ha http://www.quellidiinformatica.org – La community studenti di Ingegneria Informatica di Napoli

INGEGNERIA DEL SOFTWARE FranK 5

prodotto l'unità sotto test. L'unità è l'elemento definito nel progetto di un sistema software e testabile separatamente. Nel testing unità e modulo sono spesso usati come sinonimi. Il collaudo viene considerato come una appendice della stesura del codice. Dopo aver sviluppato, riveduto e verificato da un punto di vista sintattico il codice sorgente e dopo aver verificato la corrispondenza con il progetto dei componenti, può iniziare la preparazione dei casi di prova. Sfortunatamente, molti moduli non possono essere provati singolarmente solo mediante semplice software; in tali casi, il collaudo completo va rimandato sino al momento del collaudo di integrazione. Prove di convalida. Letestato in modo indipendente e si è verificato che funzioni correttamente. La convalida è un processo che verifica se il software soddisfa i requisiti specificati e se è pronto per essere utilizzato in un ambiente di produzione. Durante la convalida, vengono eseguiti test di sistema per verificare che il software funzioni correttamente nel suo insieme e che soddisfi i requisiti funzionali e non funzionali. Inoltre, vengono eseguiti test di accettazione per verificare che il software soddisfi le aspettative degli utenti finali. La convalida è un passo importante nel ciclo di vita dello sviluppo del software, in quanto assicura che il software sia pronto per essere rilasciato e utilizzato dagli utenti finali.
Dettagli
Publisher
A.A. 2012-2013
18 pagine
1 download
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher cecilialll di informazioni apprese con la frequenza delle lezioni di Fondamenti di informatica e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli studi di Napoli Federico II o del prof Fassolino Rita.