Jakość, funkcjonalność oraz cena to najważniejsze kryteria podejmowania decyzji o zakupie oprogramowania. Użytkownicy coraz częściej rezygnują z produktu, jeśli jego jakość jest za niska. Producenci oprogramowania o tym wiedzą, dlatego zawsze próbują odpowiedzieć na pytanie, czy ich dzieło może być bardziej niezawodne i pracować wydajniej. Sukces zależy od umiejętności projektantów aplikacji i programistów, jednak ważniejszą rolę odgrywają testerzy oprogramowania. Kiedy faza produkcji dobiega końca, po stronie producentów często pojawia się szereg dylematów. Testy mogą spowolnić cały proces produkcji, nie wiadomo też czy lepiej wykonać je samemu czy zlecić to zadanie wyspecjalizowanej firmie.
Test czyli koszty
Testowanie bywa kosztownym i czasochłonnym procesem. Wykrycie błędów skutkuje oddaniem systemu z powrotem do produkcji, gdzie wprowadzane są poprawki, na co także potrzeba czasu. Ponoszone koszty są nieporównywalnie większe od kosztów modyfikacji wykonywanych w trakcie wytwarzania. Jeśli w fazie produkcyjnej coś idzie nie tak, takich iteracji może być kilka. W konsekwencji premiera produktu może odwlec się o kilka długich miesięcy. Dlatego producenci nierzadko ograniczają testy do „niezbędnego minimum”, oczywiście kosztem jakości. Liczą, że w ten sposób przyspieszą sprzedaż swojego produktu.
„Poważne podejście do testowania wymaga czasu. Warto też pamiętać, że jest kilka rodzajów testów, z których każdy ma inny cel. Jeśli już w fazie produkcji nie przewidzi się oraz nie wykona odpowiednich analiz systemu, zawsze potem pojawiają się problemy” – uważa Bartosz Kalinowski, prezes Edge Solutions, spółki która zajmuje się procesami SQA (wykonuje różnego rodzaju testy oprogramowania) dla producentów z kilkunastu krajów świata.
Jakie najczęściej pojawiają się problemy? Od prozaicznych – kiedy coś nie działa, tak jak podano w specyfikacji, przez kłopoty większego kalibru, np. system nie wytrzymuje obciążenia w swoim naturalnym środowisku, pracuje wolno, zawiesza się. Odrębną grupę problemów są luki bezpieczeństwa, które czynią system podatnym na różnego rodzaju ataki (możliwość włamania, wycieku danych itp.).
Gdzie przetestować
Producenci często zadają sobie pytanie: testować systemy w ramach własnych struktur czy skorzystać z usług firmy zewnętrznej, która jest ekspertem w testowaniu. Zdania są podzielone, a punkt widzenia często zależy od przeznaczenia oprogramowania. Na przykład Pentacomp produkuje i wdraża systemy m.in. w strategicznych jednostkach administracji państwowej i największych przedsiębiorstwach. Przez wzgląd na zachowanie tajemnicy klientów spółka nie widzi wielu możliwości testowania tego rodzaju systemów na zewnątrz. W Pentacompie powstają rozwiązania na indywidualne zamówienie. Często objęte są one umowami o zachowaniu ścisłej poufności. Firmy, których głównym źródłem przychodów są testy aplikacji, przekonują, że outsourcing się opłaca. Jednym z głównych „argumentów za” jest posiadanie wypracowanego w trakcie wielu zleceń know how. Kolejnym argumentem jest kompleksowa specjalizacja, wiedza i wysoka elastyczność – z reguły dowolny typ testów może się rozpocząć natychmiast, a cały proces można konfigurować wedle woli producenta. W efekcie producent traktuje testowanie jako zewnętrzny projekt, którego cena w całości wliczana jest w koszty – bez ZUS-u, podatków dochodowych, zasiłków, wszystkich kwestii kadrowych.
„Decydując się na outsourcing testów, producent może precyzyjniej zaplanować koszt. Poza tym może skoncentrować się wyłącznie na produkcji – nie musi tworzyć nowych miejsc pracy i utrzymywać infrastruktury niezbędnej do prawidłowego funkcjonowania działu testów. To są ewidentne oszczędności” – podkreśla Bartosz Kalinowski. Korzyści wydają się być ewidentne, ale w praktyce każdy producent powinien sam ocenić, co bardziej się opłaca. Wiele zależy od specyfiki organizacji, typu produktów oraz faktycznych kosztów, jakie firma ponosi w obszarze testowania.
Wybrane rodzaje testów
Oprogramowanie można poddawać weryfikacji na wiele sposobów – każdy z nich ma za zadanie usprawnić produkt w innym obszarze.
Testowanie nie zawsze daje gwarancję usunięcia z programu wszystkich błędów. Ma jednak zasadniczy wpływ na jakość oprogramowania, która decyduje o skutecznej sprzedaży i utrzymaniu przy sobie klientów.
Brak komentarzy...