Kiedyś podstawą testowania oprogramowania było testowanie ręczne, jednak wiele z tych testów można zautomatyzować w celu skrócenia czasu potrzebnego na testowanie.
Automatyzacja testów to gałąź programistyczna, która wymaga specjalnych narzędzi i struktur, w których każdy test jest zasadniczo skryptem, więc wykwalifikowany specjalista w tej dziedzinie powinien również przestrzegać wszystkich dobrych praktyk i standardów kodowania. Kolejnym obszarem są testy wydajności, które można podzielić na kilka różnych strategii i obszarów. Często testy dotyczą czasu odpowiedzi aplikacji, jednak bardziej szczegółowe testy sprawdzają takie rzeczy, jak aplikacja reaguje na duży ruch. Z pewnością warto sprawdzić ilu użytkowników może jednocześnie wejść na stronę, zanim ulegnie awarii, lub serwer zostanie zbytnio obciążony. Specjalistyczne testy wydajności mogą dostarczyć odpowiedzi na te pytania i pomóc znaleźć potencjalne problemy i wąskie gardła.
Testy bezpieczeństwa mają na celu znalezienie jak największej liczby potencjalnych problemów z bezpieczeństwem.
Prowadzone są w celu zlokalizowania i naprawienia luk w zabezpieczeniach, które mogą skutkować włamaniem do witryny, kradzieżą wrażliwych danych lub awarią serwerów. Zwykle polegają na użyciu różnych zautomatyzowanych narzędzi, które wyszukują najpowszechniejsze zagrożenia, ale mogą również wymagać ręcznych testów, które wymagają od testera myślenia jak haker i przewidywania możliwych problemów. Istnieją również inne podejścia do testowania, testowanie dostępności koncentruje się na dostosowaniu aplikacji, aby była użyteczna dla osób z problemami takimi jak upośledzenie słuchu czy daltonizm. Testowanie użyteczności koncentruje się na sprawdzaniu, jak łatwa w obsłudze i intuicyjna jest strona czy też aplikacja. Testowanie stron internetowych składa się z wielu obszarów, które często wymagają od specjalisty przygotowania i przeprowadzenia wartościowego zestawu testów. Kiedy wykonujemy testy aplikacji webowych należy zwrócić szczególną uwagę na przeglądarki, oraz działanie aplikacji na urządzeniach mobilnych.