Co to jest testowanie statyczne? Techniki testowania oprogramowania
Co to jest testowanie statyczne?
Testy statyczne to technika testowania oprogramowania, która służy do sprawdzania defektów w aplikacji bez wykonywania kodu. Testowanie statyczne przeprowadza się, aby uniknąć błędów na wczesnym etapie programowania, ponieważ łatwiej jest zidentyfikować błędy i je rozwiązać. Pomaga także znaleźć błędy, które mogą nie zostać wykryte podczas testów dynamicznych.
Jego odpowiednikiem jest testowanie dynamiczne, które sprawdza aplikację po uruchomieniu kodu. Szczegółowe informacje na temat różnic między nimi można znaleźć w tym samouczku badania statyczne i dynamiczne.
Istnieją dwa główne typy technik testowania statycznego
- Badania manualne: Badania ręczne obejmują analizę kodu wykonywaną ręcznie, zwaną również OPINIE.
- Zautomatyzowana analiza z wykorzystaniem narzędzi: Analizy automatyczne to w zasadzie analizy statyczne przeprowadzane za pomocą narzędzi.
Techniki testowania statycznego
- Nieformalny Revwidoki
- solucje
- Techniczny Revwidoki
- Inspekcje
- Analiza statyczna
- Przepływ danych
- Kontrola przepływu
Narzędzia używane do testów statycznych
Poniżej znajdują się różne narzędzia używane do testowania statycznego:
Co to jest testowanie Revcza?
Przegląd w testowaniu statycznym to proces lub spotkanie przeprowadzane w celu znalezienia potencjalnych defektów w projekcie dowolnego programu. Innym znaczeniem przeglądu jest to, że wszyscy członkowie zespołu dowiadują się o postępie projektu i czasami różnorodność myśli może zaowocować doskonałymi sugestiami. Dokumenty są bezpośrednio sprawdzane przez ludzi, a rozbieżności są wyjaśniane.
Revwidoki można dalej podzielić na cztery części:
- Nieformalne recenzje
- solucje
- Przegląd techniczny
- Inspekcje
Podczas RevZobacz proces Cztery typy uczestników biorących udział w testowaniu to:
- Prezenter: przeprowadza weryfikację wstępną, monitoruje zmiany, członek zespołu coachingowego, planuje spotkanie.
- Autor: Bierze odpowiedzialność za naprawę znalezionej wady i poprawia jakość dokumentu
- Uczony w piśmie: Rejestruje defekty podczas przeglądu i uczestniczy w spotkaniu przeglądowym
- Revwidz: Sprawdź materiał pod kątem wad i sprawdź
- Menedżer: decyduje o wykonaniu przeglądów i zapewnia osiągnięcie celów procesu przeglądu.
Rodzaje defektów, które można łatwiej wykryć podczas testów statycznych to:
- Odchylenia od standardów
- Kod nie do utrzymania
- Wady projektowe
- Brakujące wymagania
- Niespójne specyfikacje interfejsu
Zwykle defekty wykryte podczas testów statycznych wynikają z luk w zabezpieczeniach, niezadeklarowanych zmiennych, naruszeń granic, naruszeń składni, niespójnego interfejsu itp.
Wskazówki dotyczące pomyślnego procesu testowania statycznego
Kilka przydatnych wskazówek dotyczących przeprowadzania procesu testowania statycznego w inżynierii oprogramowania.
- Skupiaj się tylko na rzeczach, które naprawdę się liczą
- Jawnie planuj i śledź działania związane z przeglądami. Przegląd oprogramowania i inspekcja są zazwyczaj częścią recenzji recenzowanych
- Szkolić uczestników na przykładach
- Rozwiązuj problemy ludzi
- Zachowaj formalność procesu jako kulturę projektu
- Ciągłe doskonalenie – proces i narzędzia
- Usuwając główne opóźnienia w wykonywaniu testów, można zmniejszyć koszty i czas testowania
Dlaczego testy statyczne?
Testy statyczne wykonuje się z następujących powodów
- Wczesne wykrywanie i korygowanie usterek
- Skrócone ramy czasowe rozwoju
- Redukcja kosztów i czasu testowania
- Dla poprawy produktywności rozwoju
- Aby uzyskać mniej defektów na późniejszym etapie testowania
Co jest testowane w testach statycznych
W testach statycznych testowane są następujące rzeczy
- Jednostkowe przypadki testowe
- Dokument wymagań biznesowych (BRD)
- Przypadków użycia
- Wymagania systemowe/funkcjonalne
- Prototyp
- Dokument specyfikacji prototypu
- Arkusz kalkulacyjny słownika pól DB
- Dane testowe
- Dokument matrycy identyfikowalności
- Podręcznik użytkownika/Przewodniki szkoleniowe/Dokumentacja
- Dokument strategii planu testów/przypadki testowe
- Skrypty testów automatyzacji/wydajności
Jak przeprowadzane są testy statyczne
Aby wykonać test statyczny, należy wykonać go w następujący sposób:
- Przeprowadź proces kontroli, aby całkowicie sprawdzić projekt aplikacji
- Użyj listy kontrolnej dla każdego sprawdzanego dokumentu, aby upewnić się, że wszystkie recenzje zostały uwzględnione w całości
Różne działania związane z przeprowadzaniem testów statycznych to:
- Walidacja wymagań przypadków użycia: Sprawdza, czy zidentyfikowano wszystkie działania użytkownika końcowego, a także wszelkie powiązane z nimi dane wejściowe i wyjściowe. Im bardziej szczegółowe i dokładne są przypadki użycia, tym dokładniejsze i wszechstronniejsze mogą być przypadki testowe.
- Walidacja wymagań funkcjonalnych: Zapewnia, że wymagania funkcjonalne identyfikują wszystkie niezbędne elementy. Sprawdza także funkcjonalność bazy danych, listę interfejsów oraz wymagania sprzętowe, programowe i sieciowe.
- Architektura Review: Wszystkie procesy na poziomie biznesowym, takie jak lokalizacje serwerów, diagramy sieciowe, definicje protokołów, równoważenie obciążenia, dostępność baz danych, sprzęt testowy itp.
- Walidacja makiety prototypu/ekranu: Ten etap obejmuje walidację wymagań i przypadków użycia.
- Walidacja słownika polowego: Każde pole w interfejsie użytkownika jest zdefiniowane na tyle dobrze, że można utworzyć przypadki testowe sprawdzające poprawność na poziomie pola. Pola są sprawdzane pod kątem minimalnej/maksymalnej długości, wartości list, komunikatów o błędach itp.
Podsumowanie
- Testowanie statyczne polega na jak najszybszym wykryciu defektów.
- Testy statyczne nie zastępują testów dynamicznych, oba wykrywają inny rodzaj defektów
- Reviews są efektywną techniką testowania statycznego
- Reviviews nie tylko pomagają znaleźć defekty, ale także zrozumieć brakujące wymagania, defekty projektowe, kod niemożliwy do utrzymania. Jeśli szukasz narzędzi wspomagających ten proces, oto obszerna lista niektórych z nich najlepsze narzędzia do przeglądu kodu które mogą okazać się przydatne.