SOFTWARE TEST CASE

Nel ciclo di sviluppo e rilascio del software la fase di test e verifica funzionale assume un ruolo fondamentale.

La Data-Ware svolge attività di verifica dei propri applicativi e di quelli della committente predisponendo piani di test e verifica, implementati ove possibile in modo automatico.


java oracle python visual Studio windows microsoft



TEST


Tipologie. I casi.


Le fasi di test si possono dividere in due grandi macro aree: test di singole unità o funzioni e test integrati.

Test di singole unità e funzioni

In questa fase, il progetto viene realizzato come insieme di programmi (moduli) nel linguaggio di programmazione scelto. Il testing di unità serve per verificare che ciascun modulo soddisfi le specifiche richieste.
Le funzioni di sicurezza coinvolte in questa fase sono:
• Analisi e test del codice - prima di rilasciare nuove parti di codice allo sviluppo, sono effettuati test per individuare eventuali vulnerabilità tipo buffer overflow, sql code injection, etc...
• Metriche e post mortem - mantenete traccia dei problemi di sicurezza individuati durante i test. Per ogni vulnerabilità, è necessario mantenere traccia delle vulnerabilità in un database dei bug. Il database dei bug sarà popolato anche di tutte le vulnerabilità di sicurezza non ancora risolte.

Test integrati

In questa fase, si integrano le singole unità tra loro e si esegue il testi di sistema completo per assicurarsi che le specifiche siano soddisfatte.

I test di sicurezza coinvolti in questa fase possono essere individuati in cinque macro attivià:
1. Mapping della rete
2. Analisi delle vulnerabilità tramite strumenti automatici
3. Penetration Testing
4. Password Cracking
5. Revisione ed auditing dei log

500x500

Test case. Le condizioni.


Un test case è un insieme di condizioni attreverso le quali il tester determina se l'applicazione soddisfa i requisiti oppure no.

E' definito da tre entità:
- elementi di input
- path
- risultato (elementi di output)

Normalmente, ogni applicazione dovrebbe avere un insieme test case per tutti gli scenari applicativi che possono avvenire, errori compresi.

Nel caso del performance testing non è necessario utilizzare tutti i test case applicativi, in quanto non è in discussione la funzionalità applicativa, bensì la sua resistenza.

Allora dovremo sceglere i test case che hanno un uso significativo (almeno oltre il 5%) e quelli dove il consumo delle risorse è più pesante.

Se ad esempio abbiamo una applicazione web, potremmo tralasciare la parte amministrativa o quella della personalizzazione utente, per testare maggiormente le funzioni più comuni, ad esempio: login/logout, ricerca nel catalogo, pagamento, gestione carrello, ecc.

Per ogni test case associeremo un peso (di utilizzo), il quale ci servirà per definire il workload durante le sessioni di testing.

500x500