destructive testing
Różnica między badaniem niszczącym a badaniem nieniszczącym z jego typami i metodami:
W tym artykule omówimy szczegóły dotyczące testowania niszczącego i nieniszczącego testowania oprogramowania.
Dowiemy się o nich po kolei, a różnice między tymi dwoma typami testów zobaczymy na końcu artykułu.
Czego się nauczysz:
- Co to jest testowanie niszczące i jakie są jego zalety?
- Co to jest badanie nieniszczące i jakie są jego zalety?
- Różnica między testowaniem niszczącym i nieniszczącym
Co to jest testowanie niszczące i jakie są jego zalety?
Destructive Software Testing (DST) to rodzaj testowania oprogramowania, które próbuje spowodować awarię części aplikacji w niekontrolowany sposób, przetestować jej solidność i wykryć punkt awarii.
W przeciwieństwie do innych konwencjonalnych metod testowania oprogramowania, które sprawdzają funkcjonalność oprogramowania, metoda ta sprawdza nieprzewidywalne zachowanie użytkownika w oprogramowaniu. Dzięki temu możemy wykryć defekty oprogramowania, które na ogół nie są napotykane przez przeciętnych użytkowników.
Należy pamiętać, że niszczące testowanie oprogramowania (DST) jest podejściem alternatywnym do konwencjonalnego testowania oprogramowania (CST), ale nie zastępuje go. Oprócz CST efektywne jest przeprowadzanie czasu letniego.
Testy niszczące przeprowadzane są w najbardziej rygorystycznych warunkach pracy i trwają aż do zerwania aplikacji. Kluczową ideą tych testów jest nie tylko odkrycie słabych punktów projektu, jeśli takie, które prawdopodobnie nie zostaną ujawnione w normalnych warunkach pracy, ale także odkrycie żywotności oprogramowania.
Ten typ testów ma podobieństwa z testami małp, testami ad hoc i testami eksploracyjnymi.
Korzyści z niszczącego testowania oprogramowania
jak znaleźć klucz bezpieczeństwa sieci dla mobilnego punktu dostępu
- Pomaga ocenić solidność, możliwość odzyskania i żywotność aplikacji.
- Ujawnia punkty awarii w przypadku niewłaściwego lub niewłaściwego użycia oprogramowania.
- Ustawia odpowiedni kontekst dla testera, ponieważ ignoruje uprzedzenia historyjek użytkownika podczas testowania.
- Pozwala nam wykryć defekty oprogramowania, które na ogół nie są napotykane przez przeciętnych użytkowników.
- Ten typ testowania jest wyjątkowy w wykrywaniu błędów w aplikacji, które po naprawieniu zwiększą rangę oprogramowania do statusu nowicjusza.
Kroki do wykonania tego testu
- Na początku destrukcyjnego cyklu testowania oprogramowania klient przesyła kopię aplikacji lub poświadczenia dostępu oraz wymagania użytkownika.
- Następnie klient przedstawia wymagania i demonstruje aplikację analitykowi ds. Kontroli jakości.
- Następnie analityk QA ustala funkcje granic w aplikacji i tworzy granice użyteczności aplikacji w tych granicach.
- Teraz tester QA losowo przetestuje aplikację w tych granicach, używając technik stochastycznych. Przepływy pracy i defekty testów QA są rejestrowane.
- Na koniec katalog defektów jest udostępniany klientowi.
- W razie potrzeby cykl badań niszczących można powtórzyć w oparciu o wymagania klienta.
Do tego testu dobrze jest mieć pewną wiedzę na temat pierwotnych wymagań oprogramowania. Pomaga to w opracowaniu dobrej strategii testowania.
Co weryfikujesz w teście niszczącym?
- Niewłaściwe i prawidłowe działanie aplikacji.
- Prawidłowe i nieprawidłowe dane wejściowe.
- Niewłaściwe użycie aplikacji.
Niszczące metody i strategie testowania oprogramowania
Testy niszczące można przeprowadzić na kilka sposobów:
1) Metoda analizy punktów awarii:
W tej metodzie aplikacja jest sprawdzana i sprawdzana w celu uzyskania dostępu do każdej ścieżki i jej rogu. Określa się, co może zawieść w różnych punktach. W przypadku tej metody możesz skorzystać z pomocy analityków biznesowych, aby uzyskać przewodnik po aplikacji.
2) Recenzja partnerska:
Poproś o sprawdzenie aplikacji przez innego testera, który nie jest zaznajomiony z oprogramowaniem. Pomoże to w znalezieniu ukrytych punktów awarii, które nie były widoczne dla Ciebie jako testera.
3) Uzyskaj przegląd przypadków testowych przez firmę:
jak uruchomić plik jar java
Użytkownicy końcowi i inni interesariusze mogą czasami pomyśleć o ważnych scenariuszach testowych, które tester mógł przegapić. Zatem przejrzenie przypadków testowych przez firmę może zwiększyć pokrycie testami.
4) Testowanie eksploracyjne:
Przeprowadź testy eksploracyjne za pomocą arkuszy przebiegu. Pomoże ci dowiedzieć się, co jest testowane, powtórzyć testy i kontrolować zakres testów.
5) Zasil system nieprawidłowymi danymi:
Możesz podać nieprawidłowe dane wejściowe do aplikacji. Może to obejmować uszkodzone dane, niewłaściwą sekwencję czynności w interfejsie użytkownika itp.
6) Skorzystaj z innych źródeł:
Możesz także skorzystać z innych źródeł lub sposobów na złamanie systemu i przeanalizowanie różnych scenariuszy. Dobrą rzeczą jest to, że historia użytkownika dotycząca niszczących testów oprogramowania niekoniecznie zawiera „wymagania” i „specyfikacje”, więc możesz wypróbować dowolny odpowiedni sposób przeprowadzenia tego testu.
Techniki testowania niszczącego
Destrukcyjne testowanie oprogramowania można przeprowadzić różnymi technikami, takimi jak:
- Testy akceptacyjne
- Testowanie pętli
- Testowanie regresji
- Podział według równoważności
- Testowanie wartości brzegowych
- Testowanie interfejsu
- Testy alfa / beta
- Testowanie systemu
- Testowanie odgórne
- Testowanie czarnoskrzynkowe
Kilka przydatnych wskazówek dotyczących destrukcyjnego testowania oprogramowania
- Zdobądź jak najwięcej wiedzy o produkcie. Postaw się w sytuacji klienta, a następnie pomyśl o produkcie z jego perspektywy.
- Usuń wszystkie stronnicze informacje z historyjki użytkownika. Zapomnij o opisie historyjki użytkownika i kryteriach akceptacji i spróbuj zepsuć aplikację jak szalony klient.
- Szukaj ścieżek wyjątków, a nie szczęśliwych ścieżek. Pamiętaj, że ignorując kryteria akceptacji, nie poznasz oczekiwanego ani normalnego przepływu pracy.
- Nie oczekuj pozytywnej odpowiedzi od swojej aplikacji. A jeśli coś się nie uda? Spróbuj zasymulować i zepsuć wszystko, co możesz.
- Ogranicz warunki sieciowe do bardziej realistycznej konfiguracji, ponieważ wszyscy prawdziwi użytkownicy nie będą mieli najwyższej klasy maszyn i warunków sieciowych.
Co to jest badanie nieniszczące i jakie są jego zalety?
Testy nieniszczące (NDT) są opisywane jako technika oceny oprogramowania, która wymaga prawidłowej interakcji z oprogramowaniem. W przeciwieństwie do niszczących testów oprogramowania, w których szukamy ścieżek wyjątków, w testach nieniszczących szukamy szczęśliwych ścieżek lub złotych ścieżek. Badania nieniszczące są również znane jako testy pozytywne.
Na przykład, jeśli istnieje pole wprowadzania, które akceptuje liczbę z przedziału 1-999, wówczas pozytywnym przypadkiem testowym byłoby wprowadzenie liczby z tego zakresu i sprawdzenie funkcjonalności pola wprowadzania.
W NDT mamy dobrze zdefiniowany przypadek testowy wykorzystujący znane wymaganie, który jest wykonywany bez żadnych błędów ani wyjątków i generuje pożądane dane wyjściowe. Daje oczekiwane rezultaty i weryfikuje, czy oprogramowanie działa zgodnie z oczekiwaniami.
Korzyści nieniszczących testów oprogramowania
- Poprawiona jakość oprogramowania i problemy są naprawiane w głównym przepływie aplikacji.
- Przydatne do wykazania, że aplikacja działa zgodnie z wymaganymi specyfikacjami.
- Weryfikuje spełnienie oczekiwań klienta.
- Zapewnia spełnienie wymagań dotyczących wydajności.
- Oszczędza czas i pieniądze podczas oceny produktu i rozwiązywania problemów.
Kiedy wykonać to badanie
- Powinna to być pierwsza forma testowania i należy ją wykonać na początkowym etapie SDLC, ponieważ szczęśliwą ścieżką jest główny przepływ aplikacji i jeśli nie działa dobrze, reszta testów zostaje zablokowana.
- Można to zrobić szybko i łatwo, gdy nie mamy wystarczająco dużo czasu i budżetu na testy. Zapewnia to przynajmniej spełnienie wymagań oprogramowania i kryteriów akceptacji.
Strategia nieniszczącego testowania oprogramowania
- W celu przeprowadzenia badań nieniszczących należy przyjąć pozytywne podejście do testowania.
- Podczas testowania tester powinien mieć na uwadze, że celem testu nieniszczącego jest sprawdzenie, czy aplikacja będzie działać poprawnie, podając prawidłowe dane wejściowe. Tak więc celem jest zweryfikowanie zachowania aplikacji dla pozytywnego zbioru danych.
- Najlepszą praktyką jest sprawdzenie, czy system robi to, do czego jest przeznaczony.
Różnica między testowaniem niszczącym i nieniszczącym
Niszczące testy | Badania nieniszczące |
---|---|
Skupia się na wadach projektu, ale nie na funkcjonalności. | Skupia się na słabościach funkcjonalności, ale nie na projekcie. |
Niekoniecznie wymaga wymagań biznesowych. Testowanie niszczące odbywa się bez zapoznawania się z wcześniej ustalonymi wymaganiami. | Testowanie ma na celu sprawdzenie funkcjonalności pod kątem wymagań biznesowych i kryteriów akceptacji. |
Chodzi o to, aby złamać oprogramowanie, dostarczając niezwykłe dane wejściowe do wykrywania punktów awarii. | Celem jest poprawna interakcja z oprogramowaniem, aby zweryfikować pozytywne wyniki. |
Wniosek
W testach niszczących aplikacja celowo ulega awarii, aby sprawdzić jej odporność. Wykrywa punkty awarii oprogramowania, które mogą wystąpić z powodu nieprawidłowej obsługi aplikacji przez klienta.
Wykrywa słabe punkty, których nie można śledzić za pomocą konwencjonalnych testów oprogramowania. W celu uzyskania lepszego pokrycia testów preferowane jest przeprowadzanie niszczących testów oprogramowania razem z konwencjonalnymi testami oprogramowania.
Testy nieniszczące są przeprowadzane z pozytywnym podejściem do testowania lub testowania szczęśliwej ścieżki, aby sprawdzić, czy funkcjonalność oprogramowania spełnia wymagania klienta. Wymaga prawidłowej interakcji z oprogramowaniem.
rekomendowane lektury
- Najlepsze narzędzia do testowania oprogramowania 2021 (Narzędzia do automatyzacji testów QA)
- Asystent testowania oprogramowania
- Kurs testowania oprogramowania: Do którego Instytutu Testowania Oprogramowania mam dołączyć?
- Wybór testowania oprogramowania jako swojej kariery
- Testowanie oprogramowania Praca pisarz treści technicznych Freelancer
- Testing Primer Pobierz eBook
- Kilka interesujących pytań do rozmowy kwalifikacyjnej dotyczącej testowania oprogramowania
- Opinie i recenzje dotyczące kursu testowania oprogramowania