Testy funkcjonalności na podstawie logów serwera
Przeprowadzając testy funkcjonalności można wykorzystać mechanizm logowania czasu wykonywania poszczególnych operacji na serwerze HTTP, a następnie na tej podstawie wygenerować wykres przedstawiający zależności czasowe między funkcjami. W przypadku testów poprawności czas, w którym dane operacje są wykonywane jest mniej ważny, a pomaga tylko zaobserwować, w jakiej kolejności były wykonywane dane operacje.

Rys. 4.4 Przebieg życia trzech wątków
Wykres z rysunku 4.4 prezentuje przebieg życia trzech wątków – każdy wątek obsługuje jedno połączenie z klientem. Po utworzeniu pierwszego wątku jest on gotowy do odebrania zapytania, po czym po jego odebraniu generuje i wysyła odpowiedź, a następnie oczekuje na kolejne zapytanie od klienta. W międzyczasie tworzone są kolejne wątki, obsługujące kolejne połączenia. W okolicach 3,5 sekundy od startu serwera wątek pierwszy wysyła kolejną odpowiedź do klienta – można w ten sposób zaobserwować obsługę połączeń trwałych zarówno przez serwer, jak i klienta wysyłającego zapytania. Po określonym czasie nieaktywności (w tym wypadku 5 sekund) wątki kończą swoją pracę.
Serwer HTTP 