Produkcja oprogramowania komputerowego to działalność polegająca na tworzeniu aplikacji dla konsumentów. Inżynier testów systemowych to osoba odpowiedzialna za sprawdzanie aplikacji pod kątem defektów. Zazwyczaj testuje aplikację, aby upewnić się, że system działa zgodnie z przeznaczeniem, zanim zostanie udostępniony konsumentom na rynku.
W przeszłości testowanie systemu zostało ukończone przez inżynierów oprogramowania, którzy pierwotnie stworzyli aplikację. Ta praktyka okazała się nieefektywna, ponieważ programiści byli zbyt dobrze zaznajomieni z oprogramowaniem i zazwyczaj pomijali wady systemu. W ciągu ostatnich kilku dekad testowanie systemów stało się dyscypliną w informatyce.
Wysokiej jakości oprogramowanie wymaga godzin rygorystycznych testów. Inżynier ds. testów systemowych jest specjalistą ds. kontroli jakości w organizacji zajmującej się tworzeniem oprogramowania. Generalnie ma prawo odrzucić wadliwe oprogramowanie. Zazwyczaj pracuje w dziale testowym firmy i jest uważany za ostatni punkt kontroli jakości przed produkcją.
Aby zostać inżynierem testów systemów, osoba powinna rozumieć podstawowe zasady programowania komputerów. Powinien mieć wykształcenie wyższe z naciskiem na informatykę. Większość dużych firm ma specjalny zespół testowy, który specjalizuje się w procesach zapewniania jakości. Ten zespół zazwyczaj obejmuje kierowników ds. testów, inżynierów, pisarzy technicznych i testerów automatyzacji.
Obecnie istnieje wiele zautomatyzowanych aplikacji, które zarządzają defektami wykrytymi przez inżyniera testów systemowych. To oprogramowanie jest podstawową kartą wyników udokumentowanych przez zespół testowy. Inżynier testujący jest odpowiedzialny za śledzenie, zarządzanie i raportowanie wszystkich defektów znalezionych w aplikacji. Ten proces dokumentacji jest zwykle wykonywany w każdym cyklu kompilacji i testowania oprogramowania.
Testowanie oprogramowania komputerowego jest zwykle wykonywane w niezależnym środowisku testowym. To środowisko jest zarządzane i konfigurowane przez inżyniera testów systemowych. Odpowiada za stworzenie środowiska przypominającego konfigurację systemu, z którego będą korzystać konsumenci. Inżynier testów tworzy specjalne skrypty testowe, które są przeznaczone do testowania wszystkich aspektów aplikacji.
Dobry cykl testowy to taki, który opiera się na pozytywnych i negatywnych próbkach testowych. Testowanie pozytywne to proces, w którym system jest testowany z dobrymi danymi, które są zgodne ze zdefiniowanym procesem biznesowym. Testowanie negatywne to forma testowania, która zapewnia prawidłowe działanie obsługi błędów z nieprawidłowymi danymi. Jest to uważane za bardziej szczegółowy proces testowania, ponieważ tester próbuje złamać system.
Większość inżynierów zajmujących się testowaniem systemów używa oprogramowania do automatyzacji do testowania aplikacji. To oprogramowanie opiera się na skryptach testowych, które wykonują rzeczywisty test. Oprogramowanie do automatyzacji to dokładniejsza metoda testowania, którą można wykorzystać do testowania regresji aplikacji w przyszłości.