static testing dynamic testing difference between these two important testing techniques
Testowanie jest Weryfikacja i walidacja . Wszyscy wiemy, że do zakończenia testów potrzeba 2 V.
W dzisiejszym artykule rzucimy trochę światła na to Testy statyczne . Nazywa się to również weryfikacją. Dowiemy się o tym wszystkiego i położymy na to szczególny nacisk, ponieważ Testowanie dynamiczne często przyciąga maksymalną uwagę i zawiera niezliczone artykuły szczegółowo to opisujące.
Jednak żadna dyskusja na temat testowania statycznego nie byłaby kompletna bez wyjaśnienia, co oznacza jego odpowiednik, testowanie dynamiczne. Testowanie dynamiczne to walidacja, drugie „V”.
Testowanie dynamiczne ma miejsce podczas pracy z rzeczywistym systemem (a nie jakimś artefaktem lub modelem, który reprezentuje system), dostarczając dane wejściowe, odbierając dane wyjściowe i porównując dane wyjściowe z oczekiwanym zachowaniem. Jest to praktyczna praca z systemem w celu znalezienia błędów.
Podczas tego procesu zrozumiemy, dlaczego następujące dwa powszechne nieporozumienia dotyczące testowania nie są prawdziwe:
podwójnie połączona implementacja list w java
- Testowanie to czynność, która się kończy
- Robią to tylko testerzy, a reszta z nich nie ma nic do roboty
Zacznijmy od szybkiego odniesienia do model v :
- Na lewa strona modelu V mamy czynności, które nie są wykonywane przez zespół QA.
- Na prawa strona , mamy kilka z nich, którymi zajmuje się zespół deweloperów, niektórymi testerami, a innymi użytkownicy.
Zacznijmy - Gromadzenie wymagań . Jest wykonywany przez analityka biznesowego i inne kierownictwo wyższego szczebla - dokumentem wyjściowym dla tej fazy jest dokument wymagań biznesowych, BRD.
Następnym etapem jest Projekt systemu . Projekt systemu to faza, w której wymagania biznesowe są tłumaczone na wymagania funkcjonalne w FRD (Dokument wymagań funkcjonalnych).
Kiedy tłumaczenie jest w toku, zespół deweloperski (który jest głównym aktorem na tym etapie) będzie przeglądać dokument BRD krok po kroku, strona po stronie i wiersz po wierszu. Chociaż głównym celem jest konsumowanie wymagań biznesowych na potrzeby tłumaczenia, dokument BRD jest kolejno weryfikowany.
Przykład: Powiedzmy, że to BRD dla witryny bankowej, która jest bardzo bezpieczna. W BRD znajduje się sekcja, która omawia zasady dotyczące haseł dla różnych użytkowników tworzących konta w witrynie bankowości internetowej. Jedną z zasad jest: Użytkownik nie może używać hasła, którego używa do innych kont.
To nie jest możliwe. Ponieważ witryna może jedynie sugerować, w jaki sposób użytkownik powinien ustawić dane logowania, ale nie ma sposobu, to ograniczenie może zostać nałożone. Tak więc to wymaganie jest niewykonalne - innymi słowy, nie można go spełnić za pomocą oprogramowania.
Rozważmy teraz następujące punkty w oparciu o ten przykład:
- W jaki sposób ustalono, że tego wymagania nie można zbudować, a więc nie można go przetestować (innymi słowy, nie można go wykonać)? Czy mamy witrynę banku, a następnie czy ustalamy login i hasło - a potem zdajemy sobie sprawę, że nie jest to możliwe? Nie, opieramy to po prostu na naszym przeglądzie BRD i oczywiście na zdrowym rozsądku biznesowym.
- Czy testujemy to wymaganie? Jasne, ale opiera się wyłącznie na sensie teoretycznym, koncepcyjnym, ale nie na rzeczywistym AUT (testowana aplikacja).
- Jaka jest fizyczna forma tego testu? - Prosta lektura lub formalny przegląd BRD lub jeszcze bardziej formalna analiza wykonalności wymagań biznesowych.
Wracając do naszych błędnych przekonań:
- Kto przeprowadza przegląd BRD? - Głównie zespół deweloperów i inne zespoły techniczne, które są odpowiedzialne za tworzenie produktu. Nie testerzy.
- Czy ta recenzja ma miejsce pod koniec tworzenia produktu? Nie, na bardzo początkowym etapie rozwoju projektu. Stąd nie tylko koniec.
Techniki testowania statycznego:
Podsumowując, testowanie statyczne jest częścią weryfikacyjną testów oprogramowania, która przebiega zgodnie z metodami:
- Recenzje dokumentów
- Solucje
- Kontrola
- Analiza wykonalności lub inna forma analizy w celu ustalenia, czy oprogramowanie jest tym, czym powinno, czy nie
- Przegląd kodu
Cytując CSTE CBOK, „Weryfikacja odpowiada na pytanie:„ Czy stworzyliśmy właściwy system? ” podczas gdy walidacja odpowiada: „Czy zbudowaliśmy system dobrze?”
Poniżej przedstawiono wszystkie statyczne czynności testowe, które mają miejsce po lewej stronie modelu V.
podstawowe programy java zadawane w wywiadach
Etap SDLC | Wynik | Weryfikuje | Aktorzy |
---|---|---|---|
Gromadzenie wymagań biznesowych | BRD (dokument wymagań biznesowych) | Dokument dotyczący zakresu (jeśli istnieje) | |
Projektowanie wymagań systemowych | FRD (dokument wymagań funkcjonalnych) | Recenzuje / weryfikuje BRD | Dev, zespoły techniczne |
Projektowanie wymagań technicznych | TDD (dokument projektu technicznego) | Przeglądy / weryfikuje FRD | Dev, zespoły techniczne |
Projekt (kod) | Kod | Przeglądy / weryfikuje TDD. Przegląd kodu przez zespół programistów pod kątem kompletności, formatu itp. | Dev, zespoły techniczne |
Uwaga: Informacje te można ekstrapolować w przypadku projektów realizowanych zgodnie z dowolną metodologią rozwoju, ponieważ etapy będą mniej więcej podobne.
Po prawej stronie modelu V znajduje się walidacja.
Techniki testowania dynamicznego:
- Testów jednostkowych
- Testy integracyjne
- Testowanie systemu
Fazy jednostki, integracji, systemu i UAT dotyczą tworzenia testów do wykonania na AUT na różnych etapach jego rozwoju. Chociaż testy mają na celu walidację różnych rodzajów wymagań, wszystkie są testami takimi samymi.
Tak więc każda forma testowania, w której mamy test, który musi zostać wykonany na AUT, a jego wyjście jest wymagane do określenia wyniku testu (pomyślny lub nie) - jest to walidacja.
A teraz, czy byłoby dobrze uogólnić, że po prawej stronie (RHS) modelu V nie ma żadnej weryfikacji? Odpowiedź brzmi nie.
najlepsze oprogramowanie maszyny wirtualnej dla systemu Windows 10
Wszystkie testy, które są tworzone na każdym etapie na RHS, są weryfikowane kilka razy na etapie tworzenia / finalizowania testu. Szczegółowy proces przeglądu dokumentacji testowej znajduje się pod adresem https://www.softwaretestinghelp.com/test-documentation-reviews/
Po prawej stronie:
- Testy i kod są przeglądane na etapach testów jednostkowych / integracyjnych przez programistów.
- Testy systemowe przechodzą wzajemną ocenę podczas ich dokumentacji, a po zakończeniu przechodzą przegląd przez zespół programistów i analityka biznesowego.
- Testy UAT przechodzą przegląd przez zespół QA oraz użytkowników przed rozpoczęciem UAT.
Wniosek
Podsumowując, testowanie statyczne jest ważną techniką testowania, która przybiera formę przeglądu wymagań biznesowych, przeglądu wymagań funkcjonalnych, przeglądu projektu, wskazówek dotyczących kodu i przeglądu dokumentacji testów. Jest to czynność ciągła, wykonywana nie tylko przez testerów.
Weryfikacja, część dotycząca testów dynamicznych jest bardziej praktyczna i dotyczy samego produktu, a nie artefaktu lub reprezentacji produktu. Dynamiczne metody testowania charakteryzują bardzo formalny proces identyfikacji przypadków testowych / warunków, rozważania dotyczące pokrycia, wykonania i zgłaszania defektów.
O autorze: Ten artykuł został napisany przez członka zespołu STH Swati S.
Prosimy o podzielenie się komentarzami, pytaniami i doświadczeniami na temat testów statycznych i dynamicznych.
rekomendowane lektury
- Różnica między testami na komputerach stacjonarnych, serwerach klienckich i testach internetowych
- Zwinne techniki szacowania: prawdziwe oszacowanie w zwinnym projekcie
- Testowanie czarnoskrzynkowe: szczegółowy samouczek z przykładami i technikami
- Co to jest testowanie zgodności (testowanie zgodności)?
- Jaka jest różnica między testami SIT a UAT?
- Testy alfa i testy beta (kompletny przewodnik)
- Kluczowe różnice między testami czarnoskrzynkowymi a białoskrzynkowymi
- Różnice między testowaniem jednostkowym, testowaniem integracyjnym i testowaniem funkcjonalnym