Kompletny przewodnik po testach regresji: wszystko, co musisz wiedzieć



Ten artykuł pomoże Ci uzyskać dogłębną wiedzę na temat testów regresyjnych i wyjaśnić, dlaczego ważne jest, aby podczas testowania uwzględnić testy regresji.

Za każdym razem, gdy pojawia się nowe oprogramowanie, potrzeba przetestowania nowej funkcjonalności jest oczywista. Jednak równie ważne jest ponowne uruchomienie starych testów, które wcześniej przeszła aplikacja. Dzięki temu możemy mieć pewność, że nowe oprogramowanie nie odtwarza starych usterek ani nie tworzy nowych w oprogramowaniu. Nazywamy ten rodzaj testów jako testy regresji. W tym artykule zajmiemy się testowaniem regresjiszczegółowo. Jeśli dopiero zaczynasz testować oprogramowanie, koniecznie przeczytaj także .

Rzućmy okiem na tematy poruszone w tym artykule:





co to jest charat w java

Co to jest testowanie regresji?

„Testowanie wcześniej przetestowanego programu po modyfikacji w celu upewnienia się, że defekty nie zostały wprowadzone lub odkryte w niezmienionych obszarach oprogramowania, w wyniku wprowadzonych zmian nazywa się testowaniem regresyjnym”.

Test regresji to test obejmujący cały system, którego głównym celem jest upewnienie się, że niewielka zmiana w jednej części systemu nie narusza istniejących funkcji w innym miejscu systemu. Jeśli uznasz regresję za niezamierzoną zmianę, to tego typu testowanie jest procesem poszukiwania tych zmian. Mówiąc najprościej, chodzi o to, aby upewnić się, że stare błędy nie wracają, aby cię prześladować. Chodźmyspójrz na fikcyjny przykład ilustrujący koncepcję.



Regression TestingEx - Co to jest Regression Testing - Edureka

Dodając nowy typ płatności do witryny zakupów, ponownie uruchom stare testy, aby upewnić się, że nowy kod nie spowodował powstania nowych usterek lub nie wprowadził ponownie starych.Testowanie regresyjne jest ważne, ponieważ bez niego można wprowadzić zamierzone poprawki do systemu, które stwarzają więcej problemów niż rozwiązują.

Korzyści z testowania regresji

Przeprowadzanie testów regresjiprzynosi korzyści firmom na wiele sposobów, takich jak:



  • Zwiększa szansę na wykrycie błędów spowodowanych zmianami oprogramowania i aplikacji
  • Może pomóc wcześnie wykryć usterki, a tym samym obniżyć koszty ich usunięcia
  • Pomaga w wyszukiwaniu niepożądanych skutków ubocznych, które mogły wystąpić z powodu nowego środowiska operacyjnego
  • Zapewnia lepszą wydajność oprogramowania dzięki wczesnej identyfikacji błędów i błędów
  • Co najważniejsze, sprawdza, czy zmiany kodu nie powodują ponownego wprowadzenia starych defektów

Testy regresyjne zapewniają poprawność oprogramowania tak, aby na rynek trafiała najlepsza wersja produktu. Jednak w prawdziwym świecie zaprojektowanie i utrzymywanie niemal nieskończonego zestawu testów regresji jest po prostu niewykonalne. Dlatego powinieneś wiedzieć, kiedy zastosować testy regresji.

Kiedy stosować testy regresyjne?

Zaleca się wykonanie testów regresyjnych na wystąpieniu następujących zdarzeń:

    • Gdy zostaną dodane nowe funkcje
    • W przypadku wymagań zmian
    • Kiedy jest naprawa wady
    • Gdy występują problemy z wydajnością
    • W przypadku zmian otoczenia
    • Kiedy jest poprawka

Następna część tego artykułu dotyczy różnych typów testów regresji.

Jakie są rodzaje testów regresji?

Testowanie regresji obejmuje kilka faz testowania. Z tego powodu istnieje kilka rodzajów testów regresyjnych. Oto niektóre z nich:

Testów jednostkowych: W testach jednostkowych, gdy zmiany w kodowaniu są dokonywane dla pojedynczej jednostki, tester, zwykle programista odpowiedzialny za kod, ponownie uruchamia wszystkie wcześniej zaliczone testy jednostkowe. W środowiskach, zautomatyzowane testy jednostkowe są wbudowane w kod, dzięki czemu testy jednostkowe są bardzo wydajne w porównaniu z innymi typami testów.

Testowanie progresywne: Ten rodzaj testowania działa skutecznie, gdy wprowadzono zmiany w specyfikacji oprogramowania / aplikacji, a także nowe są zaprojektowane.

Testowanie selektywne: W testowaniu wybiórczym testerzy wykorzystują podzbiór obecnych przypadków testowych, aby zmniejszyć koszty i wysiłek ponownego testowania. Jednostka testowa musi zostać ponownie uruchomiona wtedy i tylko wtedy, gdy którykolwiek z objętych nią podmiotów programu został zmieniony.

Ponowne testy wszystkich: Ten typ strategii testowania obejmuje testowanie wszystkich aspektów konkretnej aplikacji, a także ponowne wykorzystanie wszystkich przypadków testowych, nawet jeśli zmiany nie zostały wprowadzone. Jest to czasochłonne i mało przydatne, gdy w aplikacji wprowadzane są jakiekolwiek niewielkie modyfikacje lub zmiany.

Pełne testowanie: To testowanie jest bardzo przydatne, gdy wprowadzono wiele zmian w istniejącym kodzie. Przeprowadzenie tego testu jest bardzo cenne w celu zidentyfikowania nieoczekiwanych błędów. Po zakończeniu tych testów ostateczny system można udostępnić użytkownikowi.

Bardzo ważne jest, aby wiedzieć, jaki rodzaj testów odpowiada Twoim wymaganiom. Następnie omówimy sposób implementacji testów regresyjnych.

W jaki sposób wdrażane są testy regresji?

Procedura wdrażania testów regresyjnych jest taka sama, jak w przypadku każdego innego procesu testowania. Za każdym razem, gdy oprogramowanie przechodzi zmiany i pojawia się nowa wersja, programista wykonuje następujące kroki w ramach procesu testowania:

  • Przede wszystkim wykonuje testy regresji na poziomie jednostki, aby sprawdzić poprawność kodu, który zmodyfikowali, wraz z wszelkimi nowymi testami, które napisali w celu pokrycia nowych lub zmienionych funkcji.
  • Następnie zmieniony kod jest scalany i integrowany w celu utworzenia nowej wersji testowanej aplikacji (AUT)
  • Następnie przeprowadzane są testy dymne, aby upewnić się, że kompilacja jest dobra, przed wykonaniem jakichkolwiek dodatkowych testów
  • Gdy kompilacja zostanie uznana za dobrą, przeprowadzane są testy integracyjne w celu sprawdzenia interakcji między jednostkami aplikacji oraz z usługami zaplecza, takimi jak bazy danych
  • W zależności od rozmiaru i zakresu wydanego kodu planowana jest częściowa lub pełna regresja
  • Błędy są następnie zgłaszane zespołowi programistycznemu
  • W razie potrzeby przeprowadza się dodatkowe rundy testów regresji

W ten sposób testowanie regresji jest włączane do typowego procesu testowania oprogramowania. Poniższy obraz wyraźnie przedstawia sposób przeprowadzania testów regresji.

Za każdym razem, gdy w kodzie źródłowym wprowadzane są zmiany, wykonanie programu kończy się niepowodzeniem z oczywistych powodów. Po awarii kod źródłowy jest debugowany w celu zidentyfikowania błędów w programie. Wprowadzane są odpowiednie modyfikacje. Następnie odpowiednie przypadki testowe są wybierane z już istniejącego zestawu testów, który obejmuje wszystkie zmodyfikowane i dotknięte problemem części kodu źródłowego. W razie potrzeby dodawane są nowe przypadki testowe. Ostatecznie testowanie odbywa się przy użyciu wybranych przypadków testowych. Teraz możesz się zastanawiać, które przypadki testowe wybrać.

Efektywne testy regresji można przeprowadzić, wybierając następujące przypadki testowe:

  • Przypadki testowe z częstymi defektami
  • Złożone przypadki testowe
  • Przypadki testowe integracji
  • Przypadki testowe, które obejmują podstawową funkcjonalność produktu
  • Funkcjonalności, które są często używane
  • Testuj wazony, które często zawodzą
  • Przypadki testowe z wartością graniczną

Po zakończeniu procesu testowania regresji przyjrzyjmy się różnym technikom.

Techniki testowania regresji

Testy regresyjne po prostu potwierdzają, że zmodyfikowane oprogramowanie nie uległo przypadkowej zmianie i jest zwykle wykonywane przy użyciu dowolnej kombinacji następujących technik:

Ponów wszystkie: Ta metoda po prostu ponownie testuje cały pakiet oprogramowania, od góry do dołu. W wielu przypadkach większość tych testów jest wykonywana za pomocą zautomatyzowanych narzędzi. W niektórych przypadkach automatyzacja nie jest konieczna. Ta technika jest kosztowna, ponieważ wymaga więcej czasu i zasobów w porównaniu z innymi technikami.

Wybór testu: Zamiast wybierać wszystkie przypadki testowe, metoda ta pozwala zespołowi wybrać zestaw testów, które będą przybliżać pełne testowanie zestawu testów. Podstawową zaletą tej praktyki jest to, że jej wykonanie wymaga znacznie mniej czasu i wysiłku. Zwykle wykonywane przez programistów, którzy zazwyczaj mają lepszy wgląd w niuanse skrajnych przypadków testowych i nieoczekiwanych zachowań.

Priorytetyzacja przypadków testowych: Celem tej techniki jest nadanie priorytetu ograniczonemu zestawowi przypadków testowych poprzez rozważenie większej liczby potencjalnych przypadków testowych przed mniej ważnymi. Wybrano przypadki testowe, które mogą mieć wpływ zarówno na obecne, jak i przyszłe wersje oprogramowania.

Oto trzy główne techniki. Czasami w oparciu o wymagania testowe techniki te są łączone.

Jobtracker i Tasktracker w Hadoop

Testy regresji mogą być przydatne, ale nie są pozbawione punktów ujemnych. Musisz zrozumieć wyzwania, które możesz napotkać podczas jego wdrażania.

Wyzwania testowania regresji

  1. Czasochłonne: Techniki takie jak retest-all wymagają dużo czasu, aby przetestować cały zestaw przypadków testowych
  2. Kosztowny: Kosztowne ze względu na zasoby i siłę roboczą, które trzeba wielokrotnie testować, coś, co zostało już opracowane, przetestowane i wdrożone na wczesnych etapach
  3. Złożony: Wraz z rozwojem produktu testerzy są często przytłoczeni ogromną liczbą przypadków testowych i stają się ofiarami utraty ścieżki przypadków testowych, pomijając ważne przypadki testowe

Pomimo tych negatywnych punktów testowanie regresji jest bardzo przydatne w procesie testowania oprogramowania. Dzięki testom regresyjnym firmy mogą zapobiegać przekroczeniu budżetu projektów, utrzymywać zespół na dobrej drodze, a co najważniejsze, zapobiegać uszkodzeniu produktów przez nieoczekiwane błędy. Tym samym dotarliśmy do końca bloga. Mam nadzieję, że to, czego się tu dzisiaj nauczyłeś, pomoże ci wyruszyć w podróż do testowania oprogramowania.

Jeśli znalazłeś to artykuł dotyczy, Sprawdź na żywo online autorstwa Edureka, zaufanej firmy zajmującej się edukacją online, z siecią ponad 250 000 zadowolonych uczniów rozsianych po całym świecie.

Masz do nas pytanie? Proszę wspomnieć o tym w sekcji komentarzy tego „ Co to jest testowanie regresji? ”, A my skontaktujemy się z Tobą.