Test & QA
Il software testing è una prassi che impiega un insieme di procedure mirate all'individuazione dei malfunzionamenti e difetti. Scopo del test è quello di simulare l'esecuzione di parte del software, valutarne i risultati e confrontarli con i valori attesi (ossia verificare che siano aderenti alle specifiche), segnalandone eventualmente ogni possibile discordanza. L'approccio utilizzato durante la fase di test planning dovrebbe essere orientato all'individuazione dei bug, ossia si dovrebbero scrivere i test cercando, intenzionalmente, di evidenziare delle vulnerabilità o difetti. Un'inadeguata pianificazione del software testing porta inevitabilmente al fallimento dell'intero processo.
Malgrado le controversie, il testing può essere visto come un'importante parte della software quality assurance (SQA). La SQA coinvolge l'intero processo di sviluppo software, nel tentativo di monitorare e migliorare il processo stesso, assicurandosi, attraverso test funzionali e di accettazione, il mantenimento di elevati livelli di standard attraverso l'utilizzo di procedure consolidate nel tempo.
Analizziamo e moduliamo il vostro processo di sviluppo software, con l'obiettivo di ridurre il defect rate (numero di fallimenti) e, indirettamente, i tempi di consegna, certificando la solidità e la stabilità del prodotto finale.
Di seguito alcune delle metodologie di test da noi adottate:
- Integration test: lo scopo dei test di integrazione è quello di verificare la conformità dei componenti secondo i criteri dettati durante la fase di progettazione.
- Regression test: la regressione è il fenomeno in cui, a seguito di modifiche di scarsa rilevanza, il software smette di funzionare correttamente? Scopo dei test di regressione è quello di stabilire il livello di funzionalità preesistente.
- Acceptance test: il test di accettazione, effettuato dall'utente finale, è utile a verificare la copertura e l'aderenza delle esigenze originariamente manifestate.
- Performance test: simulano ingenti quantità di traffico al fine di testare la scalabilità del software.
- Usability test: il cui scopo è quello di verificare la semplicità di utilizzo del software da parte degli stackholders.
- Security test: necessario per software che processano dati confidenziali allo scopo di prevenire rischi di intrusioni al sistema.
