Testowanie regresji

Testowanie regresji
Testy regresji to jedne z najważniejszych testów wykonywanych w procesie tworzenia oprogramowania. Mają one na celu kontrolowanie jakości oraz szybkie wykrywanie potencjalnego regresu oprogramowania.

Definicja ze słownika testerskiego:

Testowanie wcześniej przetestowanego modułu lub systemu po modyfikacji w celu upewnienia się, że w wyniku wprowadzonych zmian w niezmienionych obszarach oprogramowania nie zostały wprowadzone lub odkryte defekty. Jest wykonywane w przypadku zmiany oprogramowania lub jego środowiska.

Testowanie regresji jest w ISTQB traktowane jako jeden z czterech typów testów obok testowania funkcjonalnego, niefunkcjonalnego oraz białoskrzynkowego. Jest to jednak sprawa kontrowersyjna, ponieważ regres może nastąpić w obszarze zarówno funkcjonalnym, jak i w charakterystykach jakości lub w kodzie źródłowym. W związku z tym testy regresji są zbiorem wszystkich wymienionych testów. Zostało to opisane w artykule o typach testów.

Testowanie regresji jest ważną czynnością bez względu na to czy prowadzimy projekt w podejściu kaskadowym czy też zwinnym. W każdym nowym przyroście oprogramowania może nastąpić regres - coś, co wcześniej było testowane i poprawnie działało mogło zostać zepsute. Testowanie regresji może przyjmować zarówno formę weryfikacji, jak i walidacji.

W sylabusie ISTQB czytamy:

Istnieje ryzyko, że zmiana (poprawka lub inna modyfikacja) wprowadzona w jednej części kodu wpłynie przypadkowo na zachowanie innych części kodu w tym samym module, w innych modułach tego samego systemu, a nawet w innych systemach. Ponadto należy wziąć pod uwagę zmiany dotyczące środowiska, takie jak wprowadzenie nowej wersji systemu operacyjnego lub systemu zarządzania bazami danych. Powyższe, niezamierzone skutki uboczne, są nazywane regresjami, a testowanie regresji polega na ponownym wykonaniu testów w celu ich wykrycia.

Testy, które projektuje się do testowania regresji muszą być powtarzalne, dlatego, że często uruchamiane są na każdej kolejnej wersji oprogramowania. Dobrą i często powtarzaną praktyką jest automatyzowanie uruchamiania testów regresji. Przyjmują więc one postać testów jednostkowych uruchamianych przez programistów, testów integracji, zazwyczaj uruchamianych na interfejsach programowalnych (API) oraz testów na interfejsach graficznych uruchamianych przez testerów.

Co ciekawe istnieje jeszcze jedna definicja w słowniku, która mówi o testowaniu przeciwregresywnym (ang. regression-averse testing). Jest to "testowanie wykorzystujące różne techniki, tak by radzić sobie z ryzykiem regresji, np. przez projektowanie testaliów wielokrotnego użycia lub przez rozległą automatyzację testów na jednym lub wielu poziomach". Jest to zbiór technik, który realnie możemy interpretować jako strategię testowania. Używamy jej głównie w odniesieniu do utrzymania oprogramowania po jego wdrożeniu na produkcję.

Od 2019 roku i w najnowszych wersjach słownika testerskiego odchodzimy od pojęcia "testów regresywych" oraz "testów regresyjnych" na rzecz "testowania regresji". Regres ze słownika języka polskiego  to "powrót do wcześniejszego, gorszego stanu w rozwoju czegoś". Istnieje więc ryzyko nieuzasadnionego interpretowania testowania regresyjnego i regresywnego jako powodującego pogorszenia jakości oprogramowania. Postanowiono pozostawić jedno tłumaczenie z języka angielskiego, regression testing, jako "testowanie regresji". Zmiana ta została zaproponowana przez Jakuba Rosińskiego.

45817

Powiązane szkolenia

13-15
lutego
2023
Krzysztof Kołodziejczyk
online
Teoria testowania
1 400PLN
ISTQB® Poziom Podstawowy
7
Wolnych miejsc
Rezerwuj
13-17
marca
2023
Jarosław Hryszko
online
Teoria testowania
3 450PLN
ISTQB® Poziom Zaawansowany - Kierownik Testów
13
Wolnych miejsc
Rezerwuj
20-22
lutego
2023
Adam Roman
online
Teoria testowania
2 400PLN
ISTQB® Poziom Zaawansowany - Techniczny Analityk Testów
12
Wolnych miejsc
Rezerwuj
14-16
lutego
2023
Adam Roman
online
Teoria testowania
2 400PLN
ISTQB® Poziom Zaawansowany - Analityk Testów
9
Wolnych miejsc
Rezerwuj
06-08
marca
2023
online
Teoria testowania
2 550PLN
ISTQB® Inżynier Automatyzacji Testowania - Moduł Specjalistyczny
11
Wolnych miejsc
Rezerwuj
20-21
marca
2023
Arnika Hryszko
online
Teoria testowania
1 622PLN
ISTQB® Tester Zwinny
13
Wolnych miejsc
Rezerwuj
20-23
lutego
2023
Krzysztof Kołodziejczyk
Warszawa
Praktyka testowania
3 200PLN
Zawód Tester
9
Wolnych miejsc
Rezerwuj
05-06
czerwca
2023
Jarosław Hryszko
online
Praktyka testowania
1 750PLN
Testowanie aplikacji internetowych
12
Wolnych miejsc
Rezerwuj
06-07
marca
2023
Arnika Hryszko
online
Praktyka testowania
1 770PLN
Testowanie użyteczności
9
Wolnych miejsc
Rezerwuj
20-21
kwietnia
2023
Rafał Stańczak
online
Dobre praktyki testowania
1 700PLN
Testowanie w metodykach Agile
12
Wolnych miejsc
Rezerwuj
23-24
marca
2023
Krzysztof Kołodziejczyk
online
Praktyka testowania
1 770PLN
Testowanie aplikacji mobilnych - Android
9
Wolnych miejsc
Rezerwuj
12-13
czerwca
2023
Krzysztof Skarbiński
online
Automatyzacja testowania
1 800PLN
Testowanie REST API dla początkujących w języku python
11
Wolnych miejsc
Rezerwuj
27-28
lutego
2023
Krzysztof Kołodziejczyk
online
Języki programowania dla testerów
1 800PLN
JavaScript dla testerów oprogramowania
9
Wolnych miejsc
Rezerwuj
11-13
kwietnia
2023
Jarosław Hryszko
online
Teoria testowania
2 600PLN
Certified Tester - AI Testing
14
Wolnych miejsc
Rezerwuj
30-31
marca
2023
Piotr Dubiela
online
Automatyzacja testowania
1 700PLN
Testowanie REST API dla początkujących w języku JAVA
12
Wolnych miejsc
Rezerwuj
10-12
kwietnia
2023
Krzysztof Kołodziejczyk
online
Praktyka testowania
3 000PLN
Tester gier
11
Wolnych miejsc
Rezerwuj
13
marca
2023
-09
kwietnia
2023
Krzysztof Kołodziejczyk
online
Automatyzacja testowania
5 500PLN
Praktyka automatyzacji testowania
5
Wolnych miejsc
Rezerwuj

To powinno Cię zainteresować