Co to jest regresja oprogramowania?
Regresja oprogramowania to błąd w oprogramowaniu, który powoduje, że oprogramowanie skutecznie się regresuje w co najmniej jednym obszarze. Istnieją dwa główne typy regresji oprogramowania: funkcjonalne i niefunkcjonalne. Funkcjonalny oznacza, że program działa z odpowiednimi prędkościami, ale jedna lub więcej funkcji nie działa, podczas gdy niefunkcjonalny oznacza, że wszystkie funkcje działają, ale prędkość jest znacznie zmniejszona. Zdarzenie, takie jak aktualizacja, jest zwykle przyczyną regresji. Testowanie regresji sprawdza oprogramowanie, aby upewnić się, że regresja nie wystąpiła lub nie wystąpi.
Regresja oprogramowania funkcjonalnego jest jednym ze sposobów, w jaki regresja programu może się przejawiać. Gdy to nastąpi, program będzie kontynuował działanie z pełną prędkością, więc użytkownik może początkowo nie zauważyć regresji. W tej manifestacji istnieją pewne funkcje, które już nie działają. Na przykład, jeśli program może wyszukiwać pliki, funkcja ta może już nie działać. Może to wpływać na funkcje akcesoriów - często nieużywanych - lub na główną funkcję programu.
Niefunkcjonalna regresja oprogramowania jest bardziej niebezpieczna i łatwiejsza do zauważenia, nawet jeśli wszystkie funkcje nadal działają. W tym przejściu regresja powoduje spowolnienie działania programu lub wyjście programu będzie znacznie mniejsze. Brak szybkości oznacza, że program może być również podatny na złośliwe kodowanie i ataki, narażając zarówno program, jak i komputer, na którym działa, na hakowanie. Prędkość może stać się tak wolna, że korzystanie z programu może być niemożliwe.
Aby nastąpiła regresja oprogramowania, musi mieć miejsce tzw. Zdarzenie. To zdarzenie zmienia kodowanie oprogramowania i wprowadza te błędy, celowo - co jest rzadkie - lub nieumyślnie. Deweloper może próbować naprawić błąd lub zaktualizować wersję, ale niepoprawnie wprowadza kod, który powoduje regres programu. Najbardziej typowym zdarzeniem jest aktualizacja, ponieważ ma to bezpośredni wpływ na kodowanie programu. Inne zdarzenia obejmują zmiany wersji lub konfiguracji.
Aby zmniejszyć szanse na regresję oprogramowania, zwykle stosuje się testy regresji. Ten rodzaj testowania sprawdza nowy program i porównuje go ze wszystkimi starymi wersjami programu. Następnie uruchamia programowanie przez test, aby sprawdzić, czy jest jakaś oznaka regresji i upewnić się, że całe kodowanie działa. Wszelkie oznaki zregenerowanego lub niedziałającego kodu zostaną zwrócone do programisty lub użytkownika i poinformują o tym, co się regresowało lub gdzie znaleziono regresję.