STLC - Testowanie podstawowych zasad
Wspólnym celem testowania jest jak najwcześniejsze znajdowanie błędów. Po naprawieniu błędów upewnij się, że działa zgodnie z oczekiwaniami i nie psuje żadnej innej funkcjonalności.
Aby osiągnąć te cele, podano siedem podstawowych zasad testowania oprogramowania -
Co pokazuje testowanie?
Testy mogą wykazać, że występują wady, ale nie ma sposobu, aby udowodnić, że nie ma wady produktu. Fazy testowania zapewniają, że testowana aplikacja działa w oparciu o zadane wymaganie i pomaga zmniejszyć prawdopodobieństwo nieodkrytych defektów w aplikacji. Ale nawet jeśli nie zostaną znalezione żadne wady, nie oznacza to, że jest to absolutnie poprawne. Możemy założyć, że AUT pasuje do naszych kryteriów wyjścia i zachowuje wymagania zgodnie z SRD.
Czy możliwe jest przeprowadzenie wyczerpujących testów?
100% pokrycia lub przetestowanie wszystkich kombinacji danych wejściowych i możliwych kombinacji nie jest możliwe, z wyjątkiem trywialnych przypadków. Zamiast wyczerpującego testowania, do określenia zakresu testów stosuje się analizę ryzyka i priorytety. Tutaj można rozważyć większość scenariuszy w czasie rzeczywistym, w tym najbardziej prawdopodobny scenariusz negatywny. Pomoże nam to śledzić awarię.
Wczesne testy
Czynności testowe powinny rozpocząć się jak najszybciej i skupić się na celach zdefiniowanych w strategii testów i oczekiwanych wynikach. Wczesny etap testowania pomaga zidentyfikować defekt wymagania lub rozbieżności na poziomie projektu. Jeśli tego typu błędy zostaną wychwycone na początkowym etapie, pomaga nam to zaoszczędzić czas i jest również opłacalne. Odpowiedź na pytanie, dlaczego testowanie powinno rozpoczynać się na wczesnym etapie, jest bardzo prosta - po otrzymaniu SRD testerzy mogą przeanalizować wymaganie z perspektywy testowania i zauważyć rozbieżność wymagań.
Grupowanie defektów
Na podstawie wcześniejszej analizy defektów produktu można stwierdzić, że większość defektów jest identyfikowana za pomocą małego zestawu modułów, które są krytyczne dla aplikacji. Moduły te można zidentyfikować na podstawie złożoności, różnych interakcji systemu lub zależności od różnych innych modułów. Jeśli testerzy mogą zidentyfikować te kluczowe moduły, mogą bardziej skoncentrować się na tych modułach, aby zidentyfikować wszystkie możliwe błędy. W badaniu stwierdzono, że 8 na 10 defektów jest zidentyfikowanych na podstawie 20% funkcjonalności AUT.
Paradoks pestycydów
Co to jest paradoks pestycydów - jeśli pestycydy są często stosowane na uprawach, pojawia się pewien rodzaj odporności owadów i stopniowo rozpylane pestycydy wydają się nieskuteczne dla owadów.
Ta sama koncepcja ma również zastosowanie do testowania. Tutaj owady to błędy, podczas gdy pestycydy to przypadki testowe, które są używane wielokrotnie. Jeśli te same zestawy przypadków testowych są wykonywane wielokrotnie, te przypadki testowe stają się nieskuteczne po pewnym czasie i testerzy nie będą w stanie zidentyfikować żadnego nowego defektu.
Aby przezwyciężyć te warunki, przypadki testowe powinny być korygowane i weryfikowane od czasu do czasu, a także można dodawać nowe i różne przypadki testowe. Pomoże to w identyfikacji nowych defektów.
Testowanie zależy od kontekstu
Ta zasada stanowi, że nie można testować dwóch różnych typów aplikacji przy użyciu tego samego podejścia, dopóki obie aplikacje nie będą miały tego samego charakteru. Na przykład, jeśli tester stosuje to samo podejście do aplikacji internetowych i aplikacji mobilnych, jest to całkowicie błędne i istnieje wysokie ryzyko niskiej jakości wydania produktu. Testerzy powinni stosować różne podejścia, metodologie, techniki i zakresy dla różnych typów i charakteru aplikacji.
Brak błędu - błąd
Zasada ta mówi o znajdowaniu usterek i ich naprawianiu, dopóki aplikacja lub system nie będzie stabilny, jest czasochłonny, a także pochłania zasoby. Nawet po naprawieniu 99% wad istnieje duże ryzyko niestabilnej aplikacji. Pierwszą niezbędną rzeczą jest zweryfikowanie stabilności aplikacji i wymagań wstępnych środowiska. Jeśli te dwa warunki są spełnione, dopiero wtedy możemy rozpocząć szczegółowe testy.