Testowanie statyczne i dynamiczne: różnica między nimi
Różnica między testowaniem statycznym i dynamicznym
- Testowanie statyczne odbywa się bez wykonywania programu, natomiast testowanie dynamiczne odbywa się poprzez wykonanie programu.
- Testowanie statyczne sprawdza kod, dokumenty wymagań i dokumenty projektowe pod kątem błędów, podczas gdy testy dynamiczne sprawdzają zachowanie funkcjonalne systemu oprogramowania, wykorzystanie 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 wykonuje proces walidacji.
- Testowanie statyczne przeprowadza się przed kompilacją, natomiast testowanie dynamiczne przeprowadza się po kompilacji.
- Techniki testowania statycznego obejmują pokrycie strukturalne i instrukcje, natomiast techniki testowania dynamicznego obejmują analizę wartości brzegowych i podział równoważności.
Co to jest testowanie statyczne?
Testy statyczne to rodzaj testowania oprogramowania, podczas którego testowana jest aplikacja bez wykonywania kodu. W celu znalezienia błędów przeprowadzane są ręczne lub automatyczne przeglądy kodu, dokumentów wymagań i projektów dokumentów. Głównym celem testowania statycznego jest poprawa jakości aplikacji poprzez wykrywanie błędów na wczesnych etapach procesu tworzenia oprogramowania.
Testy statyczne polega na ręcznym lub automatycznym przeglądzie dokumentów. Przegląd ten przeprowadza się w początkowej fazie testowania, aby wcześnie wykryć defekt STLC. Bada dokumenty robocze i przedstawia komentarze recenzyjne. Nazywa się to również testowaniem niewykonania lub testowaniem weryfikacyjnym.
Przykłady dokumentów roboczych-
- Specyfikacje wymagań
- Dokument projektowy
- Kod nieśmiertelności
- Plany testów
- Przypadki testowe
- Skrypty testowe
- Pomoc lub dokument użytkownika
- Treść strony internetowej
Techniki testowania statycznego
- Nieformalny Revwidoki: Jest to jeden z typów recenzji, w którym nie następuje żaden proces mający na celu znalezienie błędów w dokumencie. W ramach tej techniki po prostu przeglądasz dokument i przekazujesz nieformalne komentarze na jego temat.
- Techniczny Revwidoki: Zespół złożony z Twoich rówieśników przegląda specyfikację techniczną oprogramowania i sprawdza, czy nadaje się ono do projektu. Starają się znaleźć wszelkie rozbieżności w specyfikacjach i przestrzeganych standardach. Przegląd ten koncentruje się głównie na dokumentacji technicznej związanej z oprogramowaniem, takiej jak strategia testów, Plan testów oraz dokumenty specyfikacji wymagań.
- Opis: Autor produktu pracy wyjaśnia produkt swojemu zespołowi. Uczestnicy mogą zadawać pytania, jeśli takie istnieją. Spotkanie prowadzi autor. Scribe odnotowuje komentarze do recenzji
- Kontrola: Głównym celem jest znalezienie usterek, a spotkanie prowadzi przeszkolony moderator. Ta recenzja jest formalnym rodzajem recenzji, w przypadku której następuje rygorystyczny proces znalezienia wady. Reviewers mają listę kontrolną do przeglądania produktów pracy. Rejestrują defekt i informują uczestników o konieczności naprawienia tych błędów.
- Kod statyczny Revwidok: 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 white box. Przegląd ten można przeprowadzić w dowolnym momencie rozwoju.
Co to jest testowanie dynamiczne?
Pod Testowanie dynamiczne, 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 testowania jest potwierdzenie, że oprogramowanie działa zgodnie z wymaganiami biznesowymi. Testowanie to nazywane jest także techniką wykonania lub testowaniem walidacyjnym.
Testy dynamiczne uruchamia oprogramowanie i weryfikuje dane wyjściowe z oczekiwanym rezultatem. Testowanie dynamiczne jest wykonywane na wszystkich poziomach testowania i może być testowaniem czarno-białym lub czarno-białym.
Techniki testowania dynamicznego
- Testów jednostkowych: Pod Testów jednostkowych, poszczególne jednostki lub moduły są testowane przez programistów. Polega na testowaniu kodu źródłowego przez programistów.
- Testy integracyjne: 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 integracji.
- Testowanie systemu: Testowanie systemu przeprowadza się na całym systemie poprzez sprawdzenie, czy system lub aplikacja spełnia dokument specyfikacji wymagań.
Ponadto testy niefunkcjonalne, takie jak wydajność, Testowanie bezpieczeństwa należą do kategorii testów dynamicznych.
Testowanie statyczne vs. Testowanie dynamiczne
Testy statyczne | Testowanie dynamiczne |
---|---|
Testowanie przeprowadzono bez uruchamiania programu | Testowanie odbywa się poprzez uruchomienie programu |
Testowanie to stanowi proces weryfikacji | Testowanie dynamiczne przeprowadza proces walidacji |
Testowanie statyczne ma na celu zapobieganie defektom | Testowanie dynamiczne polega na znajdowaniu i naprawianiu defektów |
Testowanie statyczne umożliwia ocenę kodu i dokumentacji | Testowanie dynamiczne powoduje powstawanie błędów/wąskich gardeł w systemie oprogramowania. |
Testowanie statyczne obejmuje listę kontrolną i proces, którego należy przestrzegać | Testowanie dynamiczne obejmuje przypadki testowe do wykonania |
Testowanie to można przeprowadzić przed kompilacją | Testy dynamiczne przeprowadzane są po kompilacji |
Testowanie statyczne obejmuje testowanie strukturalne i pokrycie instrukcji | Techniki testowania dynamicznego to analiza wartości brzegowych i podział równoważności. |
Koszt znalezienia i naprawy usterek jest niższy | Koszt znalezienia i usunięcia usterek jest wysoki |
Zwrot z inwestycji będzie wysoki, ponieważ proces ten rozpocznie się na wczesnym etapie | Zwrot z inwestycji będzie niski, ponieważ proces ten następuje po fazie rozwoju |
Więcej komentarzy do recenzji jest wysoce zalecanych ze względu na dobrą jakość | Aby uzyskać dobrą jakość, zdecydowanie zaleca się więcej defektów. |
Wymaga mnóstwa spotkań | Stosunkowo wymaga mniejszych spotkań |