750 Shares 8093 views

programmi di test – Errore processo di rilevamento del prodotto software

Nello sviluppo di software, una parte significativa del processo di produzione si basa su test del software. Che cosa è e come è tale attività discuterà in questo articolo.

Quello che viene chiamato un test?

Questo si riferisce al processo eseguendo il software per rilevare le posizioni di non corretto funzionamento del codice. Per ottenere i migliori risultati, deliberatamente costruito difficile insieme di dati di input. Lo scopo principale del controllo è quello di creare la migliore opportunità per il fallimento di software. Anche se a volte il test del programma sviluppato può essere semplificata per un controllo di routine della capacità lavorativa ed eseguire le funzioni. Questo consente di risparmiare tempo, ma è spesso accompagnata dalla inaffidabilità del software, insoddisfazione degli utenti, e così via.

efficacia

Quanto bene e rapidamente sono gli errori, un impatto significativo sul costo e la durata della qualità richiesta sviluppo del software. Così, nonostante il fatto che i tester ricevono un salario più volte più piccolo di quanto gli sviluppatori, il costo dei loro servizi è di solito fino a 30 – 40% del costo dell'intero progetto. Ciò è dovuto al numero di personale, dal momento che la ricerca per l'errore – questo è un processo insolito e piuttosto difficile. Ma anche se il software viene passato un numero rispettabile di test, non v'è alcuna garanzia al 100% che l'errore non accadrà. Solo che non so quando si verificano. Per incoraggiare i tester di scegliere i tipi di test che hanno maggiori probabilità di trovare un difetto, diversi strumenti di motivazione vengono utilizzati: sia morale e materiale.

Approccio al lavoro

L'ottimale è quando implementare vari meccanismi per garantire che gli errori nel software non e 'stato fin dall'inizio. Per fare questo, si deve prendere cura di una corretta progettazione dell'architettura, un mandato chiaro, ed è importante non effettuare le regolazioni di comunicazione, quando il lavoro sul progetto è già iniziato. In questo caso, il tester al compito di trovare e identificare un piccolo numero di errori che rimangono nel risultato finale. Ciò farà risparmiare tempo e denaro.

Qual è il test?

Questo è un aspetto importante delle attività di ispezione, che è necessaria per l'individuazione dei difetti del codice. Essi sono necessari al fine di controllare la corretta applicazione. Cosa è incluso nel test? Consiste di dati e dei loro valori iniziali che devono essere ottenuti come risultante (o intermedia). Al fine di identificare con successo i problemi e le incoerenze, le prove dovrebbero essere dopo l'algoritmo è stato sviluppato, ma non è stato avviato la programmazione. È auspicabile utilizzare diversi approcci per stimare i dati richiesti. In questo caso, aumentando la probabilità di rilevamento di un errore, perché è possibile esaminare il codice da una prospettiva diversa. test complessi devono fornire la verifica degli effetti esterni dei prodotti software finiti, così come i suoi algoritmi di lavoro. Di particolare interesse e fornire casi degeneri marginali. Così, nella pratica di errori spesso può rivelare che il ciclo funziona a una o più volte meno del previsto. Altrettanto importante è la sperimentazione del computer, attraverso il quale è possibile verificare che il risultato desiderato su macchine diverse. Ciò è necessario al fine di assicurarsi che il software funziona su tutti i computer. Inoltre, il computer di prova, sul quale verrà effettuato lo sviluppo, è importante nella creazione di sviluppo multi-piattaforma.

Arts di risoluzione dei problemi

Programmi spesso hanno lo scopo di lavorare con grandi insiemi di dati. E 'necessario creare completamente? No. Diffusa acquisito la pratica di "miniaturizzazione" del programma. In questo caso v'è una ragionevole riduzione del volume di dati rispetto a quella da utilizzare. Diamo un'occhiata a un esempio: c'è un programma che crea una matrice di dimensioni 50×50. In altre parole – è necessario inserire manualmente i valori 2500. È certamente possibile, ma ci vorrà molto tempo. Ma per verificare la funzionalità, il software riceve una matrice cui dimensione è 5×5. Per fare questo, è necessario immettere più di 25 valori. Se, in questo caso, un funzionamento normale, senza errori, significa che tutto è in ordine. Anche se ci sono insidie che giacciono nel fatto che, con verifica situazione miniaturizzazione, con conseguente cambiamento diventa implicito e scomparire temporaneamente. E 'anche molto raro, ma succede ancora è che ci sono nuovi bug.

obiettivi perseguiti

Test non è un compito facile a causa del fatto che questo processo non è suscettibile di formalizzazione nella sua interezza. programmi di grandi dimensioni non hanno quasi mai la necessaria punto di riferimento preciso. Pertanto, come guida utilizzando una serie di dati indiretti, che, tuttavia, non possono riflettere appieno le caratteristiche e le funzioni di sviluppo software che debug. Inoltre, devono essere scelti in modo che il risultato corretto calcolato prima come il prodotto software verrà testato. Se non si avanza, si è tentati di prendere in considerazione tutta una questione, e se il risultato della macchina ottiene nel range previsto, sarà reso una decisione sbagliata, che tutto sia corretto.

Controllare in condizioni diverse

Di norma, il test del programma si verifica in volumi che sono necessari per la funzionalità minima di prova in misura limitata. Attività svolte con il cambiamento dei parametri, così come le loro condizioni di lavoro. Il processo di test può essere suddiviso in tre fasi:

  • Controllare sotto condizioni normali. In questo caso ci prova le funzionalità di base del software sviluppato. Il risultato deve corrispondere al previsto.
  • Il check-in condizioni estreme. In questi casi, come sinonimo con i dati di confine, che possono influenzare negativamente le prestazioni del software realizzato. Come esempio, si lavora con un estremamente grandi o piccoli numeri o addirittura completa assenza di informazioni ricevute.
  • Il check-in situazioni eccezionali. Essa implica l'uso di dati che sono al di là del trattamento. In tali situazioni, è molto male quando il software li percepisce come utile al calcolo e dà un risultato plausibile. Bisogna fare attenzione che in questi casi v'è un rifiuto di tutti i dati che non possono essere trattati in modo corretto. E 'inoltre necessario prevedere informare l'utente su di esso

Test: Tipi

Creare software senza errori è molto difficile. Ciò richiede una notevole quantità di tempo. Per ottenere un buon prodotto è spesso usato due tipi di test: "Alpha" e "Beta". Cosa sono? Quando si parla di test alpha, significa che la revisione a se stesso essere condotto nello stato di sviluppo condizioni di "laboratorio". Questa è l'ultima fase di test prima che il programma sarà trasferito a utenti finali. Pertanto, gli sviluppatori stanno cercando di girare intorno al massimo. Per semplificare il funzionamento, i dati possono essere registrati per creare una cronologia dei problemi e delle loro soluzioni. Sotto il beta test per capire la fornitura di software ad un numero limitato di utenti, in modo che possano sfruttare il programma e di individuare gli errori che hai perso. Una particolarità in questo caso è il fatto che spesso il software non viene utilizzato per lo scopo previsto. A causa di questo fallimento saranno identificati in cui non c'era nulla visto prima. Questo è del tutto normale e preoccupazione a questo proposito non è necessario.

test di completamento

Se i passaggi precedenti sono stati completati con successo, rimane da effettuare prove di collaudo. Lui in questo caso diventa una pura formalità. Durante questa prova arriva la conferma che nessun ulteriori problemi sono stati trovati e il software può essere rilasciato sul mercato. La più importante sarà il risultato finale, il più da vicino si deve verificare. Si deve prestare attenzione per garantire che tutti i passaggi sono stati completati con successo. Ecco il processo di test nel suo complesso. Ora cerchiamo di approfondire i dettagli tecnici e parliamo di uno strumento così utile, come i programmi di test. Quali sono e quando viene utilizzato?

test computer-aided

In precedenza si pensava che l'analisi dinamica del software sviluppato – è l'approccio troppo pesante che effettivamente utilizzato per rilevare i difetti. Ma a causa della crescente complessità e il volume dei programmi apparsi tesi opposta. test automatizzati è usato dove le priorità più importanti sono l'efficienza e la sicurezza. E dovrebbero essere sotto qualsiasi input. A titolo di esempio, i programmi per i quali è opportuno tale sperimentazione, sono i seguenti: i protocolli di rete, server web, sandboxing. Continuiamo a guardare alcuni campioni, che possono essere utilizzati per tali attività. Se siete interessati a programmi di test liberi, la qualità è difficile da trovare in mezzo a loro. Ma ci sono incrinate versioni "pirata" dei progetti consolidate, così si può fare riferimento ai loro servizi.

valanga

Questo strumento consente di rilevare i difetti sono testati programmi in modalità di analisi dinamica. Esso raccoglie i dati e analizza le prestazioni dell'oggetto tracciato disegnato. Il tester è dato un insieme di input che causano errori o ignorano l'attuale serie di vincoli. Grazie ad un buon test dell'algoritmo sviluppato da un gran numero di possibili situazioni. Il programma riceve un diverso insieme di dati di input, che permettono di simulare un gran numero di situazioni e creare condizioni in cui è più probabile il verificarsi di un guasto. Un vantaggio importante del programma è l'uso di metriche euristica. Se c'è un problema, allora l'errore di applicazione è altamente probabile. Ma questo programma ha limitazioni come una sola presa di ingresso di controllo contrassegnata o file. Nell'effettuare un'operazione come programmi di prova conterrà informazioni dettagliate sui problemi con il puntatore nullo, cicli infiniti, indirizzi errati o malfunzionamenti dovuti all'uso di librerie. Naturalmente, questo non è un elenco completo degli errori rilevati e loro solo esempi comuni. carenze Correzione purtroppo ha sviluppatori – mezzi automatizzati non sono adatti per questi scopi.

KLEE

Si tratta di un buon programma per testare la memoria. Può intercettare circa 50 chiamate di sistema e un gran numero di processi virtuali quindi eseguiti in parallelo o separatamente. Ma in generale, il programma non è alla ricerca di alcuni luoghi sospetti, ed elabora l'importo massimo di codice e analisi utilizzato percorsi di dati. Per questo motivo, il programma di test dipende dalla dimensione dell'oggetto. Quando si controlla la scommessa è posto su processi simbolici. Essi sono uno dei possibili modi per eseguire operazioni in un programma che è testato. Grazie al funzionamento in parallelo è possibile analizzare un gran numero di varianti del lavoro dell'applicazione prova. Per ogni percorso di insiemi di dati di input sono conservate durante il test, iniziata con l'assegno. Va notato che i programmi di test utilizzando KLEE aiuta a identificare un gran numero di varianti, che non dovrebbe essere. Si può trovare problemi anche in applicazioni che vengono sviluppate per decenni.