Narzędzia testowe mogą być wykorzystywane w jednej lub wielu czynnościach wspierających testowanie. Mogą to być:
- narzędzia używane wprost w testach takie jak narzędzia wspierające wykonanie testów, narzędzia generujące dane testowe i narzędzia porównujące wyniki
- narzędzia wspomagające zarządzanie procesem testowym takie jak narzędzia do zarządzania testami, wynikami testów, danymi, wymaganiami, incydentami, defektami itd. oraz narzędzia raportujące i monitorujące wykonanie testów
- narzędzia używane w rozpoznaniu (eksploracji), np. narzędzia monitorujące dostęp do plików przez aplikację
- dowolne narzędzie wspierające testy (w takim znaczeniu arkusz kalkulacyjny jest również narzędziem testowym)
W zależności od kontekstu wsparcie narzędziowe dla testów może mieć jeden lub kilka z poniższych celów:
- zwiększenie efektywności czynności testowych przez zautomatyzowanie powtarzających się zadań lub wsparcie dla czynności testowych wykonywanych ręcznie takich jak planowanie testów, projektowanie testów, raportowanie i monitorowanie testów
- automatyzacja czynności, które wymagałyby wielkich nakładów, gdyby były wykonywane ręcznie (np. testy statyczne)
- automatyzacja czynności, które nie mogą być wykonane ręcznie (np. testy aplikacji klient-serwer na wielką skalę)
- zwiększenie niezawodności testów (np. przez automatyzację porównywania dużej ilości danych lub symulacje)
Termin „struktura testowa” jest również często używany w przynajmniej trzech znaczeniach:
- reużywalne i rozszerzalne biblioteki testowe, które mogą zostać wykorzystane do zbudowania narzędzi testowych (zwane również jarzmami testowymi)
- typ projektu automatyzacji testów (np. testowanie sterowane danymi, testowanie oparte na słowach kluczowych)
- ogólny proces wykonania testów
W tym sylabusie pojęcie „struktura testowa” jest używane w pierwszych dwóch znaczeniach, tak jak to zostało opisane w podrozdziale 6.1.6.