Testy można projektować na podstawie przypadków użycia. Przypadek użycia opisuje interakcje pomiędzy aktorami (użytkownikami lub systemami), które powodują powstanie wyniku wartościowego z punktu widzenia użytkownika lub klienta. Przypadek użycia może być opisany na wysokim poziomie abstrakcji (biznesowy przypadek użycia, poziom procesów biznesowych, niezawierający informacji o technologii) lub na poziomie systemowym (systemowy przypadek użycia na poziomie funkcjonalności systemu). Każdy przypadek użycia posiada warunki wstępne, które muszą zostać spełnione, żeby przypadek użycia został wykonany. Każdy przypadek użycia kończy się warunkami końcowymi. Są nimi widoczne rezultaty jego wykonania oraz stan systemu po zakończeniu przypadku użycia. Przypadki użycia zwykle posiadają scenariusz główny (tj. najbardziej prawdopodobny) oraz czasami scenariusze poboczne.
Przypadki użycia opisują „przepływy” procesu przez system bazując na najbardziej prawdopodobnym rzeczywistym jego użyciu, co sprawia że przypadki testowe wywiedzione z przypadków użycia najbardziej przydają się wykrywaniu usterek w przepływach procesów z rzeczywistego użytkowania systemu. Przypadki użycia bardzo przydają się w projektowaniu testów akceptacyjnych, w których ma brać udział klient/użytkownik. Pomagają również wykrywać defekty integracji spowodowane interakcją i interfejsami różnych modułów, co nie byłoby widoczne w testach modułowych. Projektowanie przypadków testowych z przypadków użycia może zostać połączone z innymi technikami projektowania testów opartymi na specyfikacji.