Co to jest testowanie statyczne?
Testowanie statyczne to rodzaj testowania oprogramowania, w którym aplikacja jest testowana bez wykonywania kodu. Ręczne lub automatyczne przeglądy kodu, dokumentów wymagań i projektów dokumentów są wykonywane w celu znalezienia błędów. Głównym celem testów statycznych jest poprawa jakości aplikacji poprzez znajdowanie błędów na wczesnych etapach procesu tworzenia oprogramowania.
Testowanie statyczne obejmuje ręczne lub automatyczne przeglądy dokumentów. Przegląd ten jest wykonywany w początkowej fazie testów w celu wykrycia defektu na wczesnym etapie STLC. Bada dokumenty robocze i przedstawia komentarze do recenzji. Nazywa się to również testowaniem bez wykonania lub testowaniem weryfikacyjnym.
Przykłady dokumentów roboczych
- Specyfikacje wymagań
- Dokument projektowy
- Kod źródłowy
- Plany testów
- Przypadki testowe
- Skrypty testowe
- Pomoc lub dokument użytkownika
- Zawartość strony internetowej
Co to jest testowanie dynamiczne?
W ramach testów dynamicznych wykonywany jest kod. Sprawdza funkcjonalne zachowanie systemu oprogramowania, wykorzystanie pamięci / procesora i ogólną wydajność systemu. Stąd nazwa „Dynamiczny”
Głównym celem tego testu jest potwierdzenie, że oprogramowanie działa zgodnie z wymaganiami biznesowymi. Testowanie to jest również nazywane techniką wykonania lub testami walidacyjnymi.
Testowanie dynamiczne wykonuje oprogramowanie i weryfikuje dane wyjściowe z oczekiwanym wynikiem. Testowanie dynamiczne jest przeprowadzane na wszystkich poziomach testowania i może to być testowanie czarnoskrzynkowe lub białoskrzynkowe.
KLUCZOWA RÓŻNICA
- Testowanie statyczne zostało wykonane bez wykonywania programu, podczas gdy testowanie dynamiczne jest wykonywane przez wykonanie programu.
- Testy statyczne sprawdzają kod, dokumenty wymagań i dokumenty projektowe w celu znalezienia błędów, podczas gdy testy dynamiczne sprawdzają zachowanie funkcjonalne systemu oprogramowania, użycie pamięci / procesora i ogólną wydajność systemu.
- Testowanie statyczne polega na zapobieganiu defektom, podczas gdy testowanie dynamiczne polega na znajdowaniu i naprawianiu defektów.
- Testowanie statyczne przeprowadza proces weryfikacji, podczas gdy testowanie dynamiczne przeprowadza proces walidacji.
- Testowanie statyczne jest wykonywane przed kompilacją, podczas gdy testy dynamiczne są wykonywane po kompilacji.
- Techniki testowania statycznego obejmują pokrycie strukturalne i instrukcje, podczas gdy techniki testowania dynamicznego to analiza wartości brzegowych i podział równoważności.
Techniki testowania statycznego:
- Nieformalne recenzje: jest to jeden z rodzajów recenzji, w przypadku których nie przeprowadza się żadnego procesu wyszukiwania błędów w dokumencie. W ramach tej techniki wystarczy przejrzeć dokument i podać nieformalne komentarze na jego temat.
- Przeglądy techniczne: Zespół składający się z Twoich rówieśników, przegląda specyfikację techniczną oprogramowania i sprawdza, czy jest on odpowiedni dla projektu. Próbują znaleźć wszelkie rozbieżności w specyfikacjach i przestrzeganych normach. Przegląd ten koncentruje się głównie na dokumentacji technicznej związanej z oprogramowaniem, takiej jak strategia testów, plan testów i dokumenty specyfikacji wymagań.
- Opis: autor produktu pracy wyjaśnia produkt swojemu zespołowi. Uczestnicy mogą zadawać pytania, jeśli takie istnieją. Spotkanie prowadzi autorka. Scribe odnotowuje komentarze do recenzji
- Inspekcja: Głównym celem jest wyszukanie usterek, a spotkanie prowadzi wyszkolony moderator. Przegląd ten jest formalnym rodzajem przeglądu, w którym następuje ścisły proces znajdowania usterek. Recenzenci mają listę kontrolną do przeglądu produktów pracy, zapisują usterkę i informują uczestników o naprawieniu tych błędów.
- Przegląd kodu statycznego: jest to systematyczny przegląd kodu źródłowego oprogramowania bez wykonywania kodu. Sprawdza składnię kodu, standardy kodowania, optymalizację kodu itp. Jest to również określane jako testowanie białoskrzynkowe. Przegląd ten można przeprowadzić w dowolnym momencie podczas programowania.
Techniki testowania dynamicznego:
- Testowanie jednostkowe: w ramach testów jednostkowych programiści testują poszczególne jednostki lub moduły. Polega na testowaniu kodu źródłowego przez programistów.
- Testowanie integracji: Poszczególne moduły są grupowane i testowane przez programistów. Celem jest określenie, które moduły działają zgodnie z oczekiwaniami po ich zintegrowaniu.
- Testowanie systemu: Testowanie systemu jest wykonywane w całym systemie poprzez sprawdzenie, czy system lub aplikacja spełnia dokument specyfikacji wymagań.
Ponadto testy niefunkcjonalne, takie jak wydajność, testy bezpieczeństwa, należą do kategorii testów dynamicznych.
Różnica między testowaniem statycznym i dynamicznym:
Testowanie statyczne |
Testowanie dynamiczne |
---|---|
Testowanie zostało wykonane bez uruchamiania programu | Testowanie odbywa się poprzez wykonanie programu |
To testowanie obejmuje proces weryfikacji | Testowanie dynamiczne przeprowadza proces walidacji |
Testowanie statyczne polega na zapobieganiu defektom | Testowanie dynamiczne polega na znajdowaniu i naprawianiu usterek |
Testowanie statyczne daje ocenę kodu i dokumentacji | Testowanie dynamiczne daje błędy / wąskie gardła w systemie oprogramowania. |
Testowanie statyczne obejmuje listę kontrolną i proces, którego należy przestrzegać | Testowanie dynamiczne obejmuje przypadki testowe do wykonania |
To testowanie można przeprowadzić przed kompilacją | Testowanie dynamiczne jest wykonywane po kompilacji |
Testy statyczne obejmują testy strukturalne i pokrycia instrukcji | Techniki testowania dynamicznego to analiza wartości brzegowych i podział równoważności. |
Koszt znalezienia usterki i naprawy jest niższy | Koszt znalezienia i usunięcia usterek jest wysoki |
Zwrot z inwestycji będzie wysoki, ponieważ proces ten odbywał się na wczesnym etapie | Zwrot z inwestycji będzie niski, ponieważ proces ten ma miejsce po fazie rozwoju |
Więcej komentarzy opinii jest wysoce zalecanych ze względu na dobrą jakość | W celu uzyskania dobrej jakości zdecydowanie zaleca się stosowanie większej liczby wad. |
Wymaga mnóstwa spotkań | Stosunkowo wymaga mniejszych spotkań |