Dlaczego testowanie oprogramowania jest konieczne?

Testowanie oprogramowania to złożony proces na który składa się wiele etapów. Podstawowym celem jest ocena czy stworzone oprogramowanie zostało wykonane zgodnie z założeniami, oraz czy pozwala na bezawaryjną pracę systemu. Testy powinny być wykonywane wieloetapowo czyli zarówno przy wdrożeniu kolejnych funkcjonalności, jak i po zakończeniu pracy nad całym produktem. Pierwszy etap sprawdzania systemu powinien być wykonany jeszcze przed napisaniem pierwszej linijki kodu, czyli już na poziomie finalnej wersji dokumentacji projektowej w celu oszacowania wąskich gardeł projektu.

testowanie oprogramowania

Po wykonaniu danej iteracji, czyli dodaniu kolejnej funkcjonalności do istniejącego kodu, przychodzi czas na rozpoczęcie testów. W dużym uproszczeniu należy wykonać następujące czynności:

  • sprawdzenie poprawności działania dołożonego kodu - czy jest zgodna z założeniami
  • analiza czy fragment kodu bezbłędnie pracuje z innymi, wcześniej przygotowanymi modułami
  • testy wydajności kodu, czyli czasu wykonania
  • test zachowania sytemu w przypadku podania mu błędnych danych wejściowych
  • testy wykonywania czynności poza wzorcową kolejnośą

Należy pamiętać, że zaawansowane oprogramowanie może zawierać setki tysięcy ścieżek wykonywania czynności, przez co sprawdzenie wszystkich kombinacji jest nie możliwe. Kluczowe czynności powinny być testowane wielokrotnie, najlepiej przez zespół testerów, aby wyeliminować prawdopodobieństwo wystąpienia kluczowych błędów w działaniu.

Bezpieczeństwo

Bardzo ważnym obszarem testów jest kwestia bezpieczeństwa. Słowo to w języku polskim ma dwa odpowiedniki w języku angielskim: security i safety. Oba te obszary należy szczególnie brać pod uwagę podczas wytwarzania oprogramowania.

Testowanie oprogramowania jest opłacalne ze względów jakościowych jak i ekonomicznych. Wykrycie błędów podczas wytwarzania pochłania znacznie mniejszy budżet, a co najważniejsze, dostarczenie dopracowanego produktu ma znaczny wpływ na jakość wdrożenia, zwłaszcza w przypadku systemów klasy ERP. Użytkownicy zmęczeni ciągłymi błędami mogą na stałe zrazić się do oprogramowania wspomagającego pracę przedsiębiorstwa.