Narzędzia testowe, a zwłaszcza narzędzia do automatyzacji testów, muszą mieć odpowiednią architekturę i zostać bardzo dobrze zaprojektowane, aby ich zastosowanie było opłacalne. Efektem wdrożenia strategii automatyzacji testów bez opracowania właściwej architektury będzie zestaw narzędzi kosztowny w utrzymaniu i niewystarczający do realizacji zamierzonych celów, a uzyskanie zakładanego zwrotu z inwestycji okaże się niemożliwe.
Projekt automatyzacji testów należy traktować jak projekt programistyczny. Oznacza to konieczność opracowania dokumentów architektury i projektów szczegółowych, wykonania przeglądów projektu i kodu, przetestowania komponentów i przetestowania integracji modułów, a także przeprowadzenia końcowych testów systemowych. Zastosowanie niestabilnego lub niepoprawnego kodu automatyzacji testów może niepotrzebnie wydłużyć lub skomplikować proces testowania.
Techniczny analityk testowy wykonuje wiele zadań związanych z automatyzacją testów. Należą do nich:
- Ustalenie osób odpowiedzialnych za wykonanie testów;
- Wybór odpowiedniego narzędzi dla organizacji, określenie harmonogramu, kwalifikacji zespołu i wymagań dotyczących pielęgnowalności (może to w szczególności oznaczać decyzję o opracowaniu własnego narzędzia zamiast dokonywania zakupu);
- Zdefiniowanie wymagań dotyczących interfejsów między narzędziem do automatyzacji i innymi systemami, np. narzędziem do zarządzania testami i narzędziem do zarządzania defektami;
- Wybór podejścia do automatyzacji, tj. opartego o słowa kluczowe lub sterowanego danymi (patrz punkt 6.2.1);
- Określenie kosztów wdrożenia (w tym szkoleń) wspólnie z kierownikiem testów;
- Określenie harmonogramu projektu automatyzacji i zaplanowanie czasu na utrzymanie systemu;
- Przeszkolenie analityków testowych i analityków biznesowych w zakresie korzystania z automatyzacji i sposobów dostarczania danych;
- Określenie sposobu wykonywania testów automatycznych;
- Określenie sposobów łączenia rezultatów testów automatycznych z rezultatami testów manualnych.
Działania te i wynikające z nich decyzje mają wpływ na skalowalność i pielęgnowalność rozwiązania do automatyzacji. Należy poświęcić wystarczającą ilość czasu na przeanalizowanie dostępnych opcji, narzędzi i technologii oraz zrozumienie planów organizacji na przyszłość. Niektóre z tych działań wymagają dokładniejszej analizy, szczególnie w trakcie podejmowania decyzji. Zostało to bardziej szczegółowo opisane w kolejnych punktach.