Testowanie aplikacji i systemów - Testowanie automatyczne
1. Korzyści z automatycznego testowania obejmują:
➢ efektywną i szybką weryfikację poprawionych błędów,
➢ możliwość powtórzenia testu, co jest szczególnie użyteczne, gdy chcemy sprawdzić, czy zgłoszone błędy zostały naprawione,
➢ możliwość dogłębnej analizy wyników testów,
➢ tańsze i szybsze generowanie raportów,
➢ przyspieszone wdrażanie testów,
➢ niezawodność w wprowadzaniu danych,
➢ możliwość dostarczenia dużej ilości danych testowych.
2. Weryfikacja to proces sprawdzania lub testowania, czy coś jest zgodne ze specyfikacją. Testowanie oprogramowania to tylko jeden z wielu rodzajów weryfikacji. Z kolei walidacja to proces potwierdzania, czy to, co zostało zapisane w specyfikacji, jest zgodne z oczekiwaniami użytkownika.
3. Metodologia testów:
- Analiza statyczna i dynamiczna (Analiza statyczna to proces, który polega na przeglądaniu kodu źródłowego w celu wykrycia błędów, nie wymaga to jednak uruchamiania badanego kodu. Z drugiej strony, analiza dynamiczna to proces, w którym oprogramowanie jest uruchamiane i badane pod względem ścieżki wykonania i czasu wykonywania),
- Czarne i białe skrzynki, Testy funkcjonalne (Testy funkcjonalne, znane również jako testy czarnej skrzynki, polegają na sprawdzaniu funkcji systemu na podstawie wymagań, traktując system jako czarną skrzynkę, która realizuje funkcje w nieznany sposób. Dane wejściowe są wprowadzane, a wyniki na wyjściu są analizowane. Wadą testów funkcjonalnych jest to, że pełne przetestowanie rzeczywistego systemu jest praktycznie niemożliwe z powodu ogromnej liczby kombinacji danych wejściowych i stanów),
- Testy strukturalne (Kryterium pokrycia wszystkich instrukcji; Kryterium pokrycia instrukcji warunkowych),
- Poziomy testowania (Testowanie jednostek; Testowanie systemu; Testowanie zintegrowane).
4. Automatyzacja testowania za pomocą JUnit polega na wykorzystaniu tej biblioteki do tworzenia i uruchamiania testów jednostkowych w języku Java. JUnit jest narzędziem open source, które zostało pierwotnie opracowane przez Kent Becka i Ericha Gammę.
Główne cechy JUnit to:
- Używanie adnotacji do identyfikacji metod testowych.
- Możliwość uruchamiania testów przed i po każdej metodzie testowej dzięki adnotacjom @BeforeEach i @AfterEach.
- Możliwość uruchamiania testów przed i po wszystkich testach w klasie dzięki adnotacjom @BeforeAll i @AfterAll.
Automatyzacja testów z JUnit pozwala na szybkie i efektywne sprawdzanie poprawności kodu, co przyczynia się do zwiększenia jakości oprogramowania i efektywności procesu deweloperskiego. W połączeniu z innymi narzędziami, takimi jak Selenium, JUnit może być również używany do automatyzacji testów aplikacji internetowych.