Jak wspomniano wcześniej, testowanie odbywa sie na różnych poziomach abstrakcji. Skrajnym przykładem metody czarnej skrzynki jest testowanie od strony GUI. Istnieją oplikacje, które potrafią wspomóc automatyzacje również tego elementu. Jako przyklad niech posłuży program TestComplete (ma on dużo szerszą funkcjonalność, ale skupimy sie na omawianym aspekcie).
Pierwszą czynnością jaką wykonujemy jest stworzenie nowego projektu:
W tym kroku wybieramy język skryptowy, którego będziemy używać do zapisywania skryptów testujących. Każdy z widocznych języków jest równie dobry do tego celu przy wyborze powinniśmy się kierować własnymi preferencjami i doświadczeniem. Kolejny krok, to wybranie aplikacji do testowania:
W ramach jednego projektu możemy testować wiele aplikacji. Widoczny powyżej prosty menedżer testowanych aplikacji pozwoli nam w łatwy sposób wybrać aplikacje przeznaczone do uruchomienia w danym momencie. Przed przystąpieniem do testowania należy uruchomić wybrane aplikacje:
Jesteśmy już gotowi do rozpoczęcia tworenia skryptu testującego naszą aplikację. TestComplete pozwala na automatyczne tworzenie skryptów odtwarzających ciąg czynności wykonanych przez użytkownika. W zależności od wybranej szczegółowości skrypty te mogą rejestrować różne zdarzenia. Domyślne ustawienia nie rejestrują np. całej trasy kursora myski, a jedynie zdarzenia takie jak: kliknięcia, naciśnięcia klawiszy itp. Rejestrowanie skryptu rozpoczynamy klikając odpowiedni przycisk lub korzystając ze skrótu klawiszowego:
Następnie wykonujemy ciąg czynności, które mają znaleźć się w skrypcie testującym.
Po kliknięciu klawisza stop na panelu nagrywania pojawia się okno programu TestComplete z zarejestrowanym skryptem:
Powyższy skrypt możemy dowolnie modyfikować wprowadzając pętle, sprawdzenia warunków logicznych czy raportowanie interesujących nas faktów i zależności. W naszym przypadku po prostu zmieniamy funkcję main() tak, żeby uruchamiała właśnie zarejestrowany skrypt:
Pozostaje jedynie uruchomić zmodyfikowany skrypt:
Podczas odtwarzania skryptu generowany jest raport zawierający informacje na temat przebiegu testowania. Rejestruje informacje takie jak: czasy wykonywanych czynności, powodzenie/niepowodzenie kolejnych akcji, itp. TestComplete umożliwia obejrzenie tego raportu w przystępnej formie: