Proces rozwoju testów opisany w tym rozdziale może być wykonywany na wiele różnych sposobów, od bardzo nieformalnych bez dokumentacji lub z małą jej ilością do bardzo sformalizowanych (tak jak jest to opisane poniżej). Poziom sformalizowania zależy od kontekstu testowania, dojrzałości procesów rozwoju oprogramowania i testowania, ograniczeń czasowych, wymagań związanych z bezpieczeństwem i uregulowaniami prawnymi oraz zaangażowanych ludzi.
Podczas analizy testów, przeglądana jest dokumentacja podstawy testów w celu określenia co należy przetestować, czyli warunków testowych. Warunek testowy definiuje się jako element lub zdarzenie, które może zostać sprawdzone przez jeden lub więcej przypadków testowych (np. funkcja, transakcja, atrybut jakościowy lub element struktury).
Wdrożenie śledzenia powiązań warunków testowych ze specyfikacją i wymaganiami pozwala zarówno na wykonanie skutecznej analizy wpływu, gdy wymagania się zmieniają, jak i ustalenie pokrycia wymagań dla danego zbioru testów. Aby wybrać techniki projektowania testów, które zostaną użyte, podczas analizy stosowane jest szczegółowe podejście do testów oparte między innymi na analizie ryzyka (patrz rozdział 5).
Podczas projektowania testów tworzy się i opisuje przypadki testowe i dane testowe. Przypadek testowy składa się ze zbioru wartości wejściowych, warunków wstępnych, oczekiwanych wyników oraz warunków zakończenia utworzonych żeby pokryć pewne cele testów lub warunki testowe. „Standard for Software Test Documentation” (IEEE STD 829-1998) opisuje zawartość specyfikacji projektu testów (zawierającej warunki testowe) oraz specyfikacji przypadków testowych.
Jako część specyfikacji przypadku testowego powinny zostać określone wyniki oczekiwane. Powinny one zawierać opis wyjść, zmian w danych i stanie oprogramowania oraz inne skutki testu. Gdy wyniki oczekiwane nie są zdefiniowane, może się zdarzyć, że wiarygodne, ale błędne, wyniki zostaną uznane za poprawne. Najlepiej jest, gdy wyniki oczekiwane zostaną zdefiniowane przed wykonaniem testów.
Podczas implementacji testów przypadki testowe są rozwijane, implementowane, priorytetyzowane i układane w specyfikację procedur testowych (IEEE STD 829-1998). Procedura testowa zawiera kolejność działań podczas wykonania testu. Jeżeli testy są
wykonywane przy pomocy narzędzia do wykonywania testów, ciąg akcji jest zawarty w skrypcie testowym (który stanowi automatyczną procedurę testową).
Różne procedury testowe i automatyczne skrypty testowe są następnie układane w harmonogram wykonania testów, który definiuje porządek wykonania procedur testowych i automatycznych skryptów testowych (o ile są obecne). Przy tworzeniu harmonogramu wykonania testów bierze się pod uwagę takie czynniki jak testy regresywne, priorytety oraz zależności techniczne i logiczne.