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 elementi, elementi di input, path e risoltato (elementi di output).
Normalmente, ogni applicazione deovrebbe 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. ecc.
Per ogni test case associeremo un peso (di utilizzo), il quale ci servirà per definire il workload durante le sessioni di testing.