Symptomy defektów wydajnościowych każdy tester może zaobserwować podczas codziennych testów. Przeklikiwanie się przez kolejne obszary oprogramowania pozwala zauważyć, że w pewnych obszarach aplikacji pojawiają się nieefektywności w postaci długich czasów (czasami przekroczonych) odpowiedzi lub nawet poważniejsze problemy związane z brakiem uzyskania odpowiedzi.
Musimy pamiętać jednak o ograniczeniach takich testów, które mogą pokazywać wyniki fałszywie negatywne:
- silnie zależą one od aktualnego stanu naszej aplikacji,
- silnie zależą od środowiska, w jakim pracuje aplikacja,
- zależą od wszystkich testów wykonanych dotychczas (najczęściej od ostatniego restartu),
- zależą od liczby użytkowników, aktualnie pracujących na systemie,
- mogą być zależne od wielu innych czynników, jak aktualne łącze internetowe.
Przykładowe testy, które powodują, że system może ujawnić problemy wydajności:
- duże zapytanie do systemu, wymagające dużej mocy obliczeniowej,
- skomplikowane zapytanie do bazy danych,
- polecenie wymagające wielowątkowości.
Testy te mogą być wspierane przez narzędzia analizy statycznej, które automatycznie zwracają nam informacje o potencjalnych problemach oraz często sugerują rozwiązania. Przykłady:
Prezentujemy raport przygotowany przez Aleksandrę Nowicką wykonany podczas naszych zajęć z Praktyki Testowania, który jest przykładem tego, jak należy wykonywać testy wydajności podczas testów funkcjonalnych.