Che cos'è uno sforzo di prova?
Lo sviluppo di software richiede molte ore di codifica e test. Questo test include in genere più livelli di convalida e verifica tra l'applicazione software e il cliente. Lo sforzo di test si riferisce al set completo di test richiesto per il software. Questo impegno completo include in genere test di unità, test di sistema, test delle prestazioni e test di accettazione da parte dell'utente.
Il test è diviso in test positivi o negativi. Lo sforzo di test definisce quale tipo di test si verificherà durante la fase di test. Dovrebbe tenere conto del test completo di tutte le aree dell'applicazione software. Un caso di test positivo si basa sull'inserimento corretto dei dati di test nel sistema. Casi di test negativi richiedono al tester di inserire dati errati. Una combinazione di test positivi e negativi è in genere consigliata per la maggior parte delle applicazioni software.
Il test unitario è il test che si verifica durante lo sviluppo del codice software. Questo sforzo di test viene eseguito dagli sviluppatori di un'applicazione. Il test unitario è la fase di test preliminare dei moduli software all'interno di un programma. Questa forma di test garantisce che il sistema funzionerà senza errori prima di essere inviato al team di test per la revisione.
Molte applicazioni software su larga scala includono test di integrazione con più sistemi esterni. Questo test di integrazione è uno sforzo di test progettato per convalidare l'integrazione di applicazioni esterne. Il test di integrazione viene in genere eseguito prima del test di funzionalità perché è necessaria una corretta integrazione prima di poter verificare la funzionalità.
Il test di funzionalità è il test che convalida le funzioni del sistema come previsto. Questo tipo di test richiede la creazione di dati di test specifici, che vengono utilizzati durante lo sforzo di test. Il test di funzionalità è una verifica dei requisiti per l'effettiva funzionalità all'interno dell'applicazione. Il mancato superamento di questa fase di test implica generalmente che il sistema non verrà accettato dagli utenti.
Il test delle prestazioni è fondamentale per le applicazioni software progettate per supportare migliaia di utenti. Questa forma di test richiede elevati volumi di elaborazione, progettati per sollecitare il sistema fino al punto di errore completo. Uno sforzo di test dovrebbe includere alcuni test di prestazione rudimentali. Ciò garantirà che il sistema supporti l'elaborazione di più utenti senza arresti anomali.
Il test di accettazione dell'utente è un'altra forma di test di convalida del sistema. Questo sforzo di test include gli utenti dell'applicazione, con test specifici per la convalida della funzionalità del sistema. Il test di accettazione dell'utente è un passaggio fondamentale per garantire la soddisfazione del cliente. Questo sforzo di test si verifica in genere alla fine di un ciclo di sviluppo, prima di distribuire l'applicazione in produzione.