Inżynier testów oprogramowania jest zwykle odpowiedzialny za testowanie nowego oprogramowania komputerowego lub programów przed sprzedażą produktu konsumentom, aby upewnić się, że działa on prawidłowo, spełnia pożądane funkcje i jest wolny od wad. Ci specjaliści komputerowi zazwyczaj projektują i wykonują testy, oceniają wyniki i wydają zalecenia na podstawie ostatecznych wniosków. Często pracują jako część zespołu zapewniania jakości i współpracują z innymi pracownikami zapewniania jakości, takimi jak programiści komputerowi.
Inżynier ds. testów oprogramowania bierze udział w wielu fazach procesu rozwoju, ponieważ nowe produkty muszą być testowane w sposób ciągły na różnych etapach, aby można było szybko znaleźć i naprawić problemy. Nowe oprogramowanie jest zwykle testowane podczas kilku faz rozwoju, w tym projektowania, programowania, instalacji i konserwacji. Inżynierowie zajmujący się testowaniem oprogramowania próbują symulować wiele różnych scenariuszy użytkowania, aby określić, czy oprogramowanie działa zgodnie z przeznaczeniem. W szczególności sprawdzają, czy oprogramowanie dokładnie wykonuje funkcje, do których jest przeznaczone, i czy wykonuje je w niezawodny, spójny sposób bez większych trudności. Testują również problemy z bezpieczeństwem w Internecie.
Istnieją dwa główne punkty widzenia, z których korzysta inżynier ds. testów oprogramowania podczas testowania, zwane testami biało-czarnymi. Podczas testowania białoskrzynkowego tester korzysta z wewnętrznego punktu widzenia. Oznacza to, że ocenia strukturę oprogramowania i faktycznie jest w stanie śledzić przepływ informacji przez oprogramowanie i wskazać, gdzie występują problemy w programie.
W testowaniu czarnoskrzynkowym inżynier testów oprogramowania przyjmuje zewnętrzny punkt widzenia lub punkt widzenia użytkownika oprogramowania. Oznacza to, że testuje jak najwięcej różnych danych wejściowych i ocenia wyniki tych danych wejściowych, ale nie może dokładnie zobaczyć, gdzie coś pójdzie nie tak, jeśli wystąpią problemy.
Po zakończeniu testowania inżynier oprogramowania jest odpowiedzialny za ocenę i analizę wyników. Często następnie pracuje nad projektowaniem rozwiązań wszelkich wykrytych wad, a także sposobów na poprawę wydajności oprogramowania. Wyniki i proponowane rozwiązania są komunikowane pozostałym członkom zespołu zapewnienia jakości, a usprawnienia są zazwyczaj wdrażane przez programistów. Następnie oprogramowanie jest ponownie testowane i oceniane w celu ustalenia, czy ulepszenia przyniosą pożądany efekt. Proces trwa do momentu, gdy członkowie zespołu będą usatysfakcjonowani, że oprogramowanie działa zgodnie z oczekiwaniami.
Inżynierowie testów oprogramowania są zwykle zatrudniani przez firmy produkujące i sprzedające oprogramowanie komputerowe lub przez firmy konsultingowe zatrudniane przez firmy programistyczne. Środowisko pracy to zazwyczaj biuro, choć w niektórych przypadkach możliwa jest praca w domu. Praca, którą wykonują, jest coraz ważniejsza i cenniejsza, ponieważ społeczeństwo staje się coraz bardziej zależne od prawidłowo funkcjonujących komputerów we wszystkich dziedzinach życia.