Tworzenie oprogramowania komputerowego wymaga procesu projektowania, kodowania i testowania kodu oprogramowania. Proces testowania oprogramowania składa się z etapów testowania jednostkowego, integracyjnego, systemowego i wydajnościowego. Testowanie zintegrowane to proces, w którym moduły są łączone w ramach projektu aplikacji i testowane jako cały pakiet.
Środowisko testowe to wspólne środowisko przeznaczone do testowania. To środowisko najlepiej nadaje się do testowania systemu i testowania wydajności. Zazwyczaj środowisko testowe jest oddzielone od środowiska programistycznego i produkcyjnego.
Aplikacja zawiera wiele niezależnych modułów. Każdy moduł jest przeznaczony do określonego celu, co sprawia, że jest samowystarczalny. Testowanie jednostkowe to proces sprawdzania poprawności modułu w aplikacji. To testowanie jednostkowe zwykle odbywa się przed testowaniem integracyjnym.
Moduły oprogramowania są jak elementy puzzli, które wymagają integracji z większym szkieletem aplikacji. Gdy moduły są scalane w ramach aplikacji, przeprowadzane jest zintegrowane testowanie. Ten proces testowania sprawdza, czy moduły mogą komunikować się z innymi obiektami w aplikacji.
Model testowy to proces seryjny, który rozpoczyna się od testów jednostkowych, po których następują testy integracyjne, a następnie testy systemowe. Faza testowania systemu umożliwia przetestowanie całej aplikacji. Zanim możliwe będzie testowanie systemu, wszystkie moduły muszą przejść przez zintegrowaną fazę testowania. Ta faza zwykle występuje podczas zautomatyzowanego procesu budowania systemu.
Większość projektów rozwoju oprogramowania obejmuje wielu programistów. Każdemu programiście przypisuje się określone moduły do zbudowania i zintegrowania ze strukturą aplikacji oprogramowania. Kiedy programista pisze kod, pobiera swój moduł ze współdzielonego środowiska do prywatnego środowiska programistycznego. To prywatne środowisko zazwyczaj znajduje się na samodzielnym komputerze lub laptopie.
Zanim oprogramowanie będzie mogło zostać wdrożone we współdzielonym środowisku programistycznym, musi zostać skompilowane do binarnego kodu maszynowego. Ten proces kompilacji jest zwykle określany jako proces kompilacji. Ciągłe testowanie integracyjne to proces, w którym programiści są zobowiązani do przeprowadzania testów zintegrowanych podczas procesu kompilacji prac programistycznych.
Zautomatyzowany proces kompilacji obejmuje tworzenie dokumentacji, walidację testów jednostkowych i walidację testów zintegrowanych. Sekwencja ta jest powtarzana dla każdej aktualizacji kodu oprogramowania. Jeśli podczas procesu kompilacji wystąpi błąd, kod pozostaje w środowisku prywatnym. Ten proces integracji zmniejsza liczbę błędów w środowisku współdzielonego kodu. Zautomatyzowane procesy kompilacji są uważane za najlepszą praktykę tworzenia oprogramowania.
W ramach tworzenia oprogramowania projekt to folder zawierający wiele modułów, obiektów i klas, które składają się na pakiet oprogramowania. Testowanie projektu to testowanie całego projektu oprogramowania. Testowanie projektu jest zakończone w fazie testów integracyjnych.