top-image
WSTECZ

Dlaczego firmy nie testują szybciej, taniej i skuteczniej?

Skuteczne testowanie oprogramowania w dobie metodyk zwinnych i stale zwiększającego się tempa wytwarzania oprogramowania jest dla wielu firm wyzwaniem. Dlaczego testy wciąż bywają zbyt drogie, za wolne i nie dają oczekiwanych rezultatów? Odpowiedział w wywiadzie Marcin Laksander, Dyrektor Centrum Kompetencyjnego Usługi Testowe w Sii Polska.

Co jest kluczem do zaprojektowania skutecznych procesów testowych?

Marcin Laksander, Dyrektor Centrum Kompetencyjnego Usługi Testowe w Sii Polska: Testowanie można porównać do systemu alarmowego w domu. Aby alarm był skuteczny, musimy mieć odpowiednie urządzenia oraz właściwie je rozmieścić. Projektując dom myślimy już o tym, gdzie zainstalować czujki i wcale nie zależy nam na tym, aby było ich wiele. Optymalne rozwiązanie to minimalna ilość pokrywająca maksymalny zakres. Tak samo jest z testowaniem. Nie jest sztuką stworzyć 1000 testów, które sprawdzają to samo. Sztuką jest optymalne pokrycie ryzyka biznesowego. Jeżeli nie panujemy nad zakresem testów, to koszty usługi testowej wzrastają kilkukrotnie.

Co zatem zrobić, żeby lepiej optymalizować testy?

M.L.: Przede wszystkim trzeba odpowiednio zarządzać zakresem testów. Jeśli tego nie zrobimy, stracimy kontrolę nie tylko nad kosztem, ale również nad ryzykiem biznesowym. Określenie odpowiedniego zakresu ułatwia też skuteczną automatyzację testów.

Jakie znaczenie ma obecnie automatyzacja testów?

M.L.: Automatyzacja jest niezbędna do skutecznego testowania oprogramowania wytwarzanego w oparciu o zwinne metodyki. Dawniej większość firm wypuszczała nowe oprogramowanie w dużych edycjach 2 do 4 razy w roku i wytwarzała je w kaskadowych modelach Waterfall czy V-Model. Dzisiaj większość firm robi to znacznie częściej. Są firmy, które potrafią wypuścić nowe wersje systemu kilka razy dziennie. W takim świecie testowanie bardzo często nie nadąża za developmentem. Dotyczy to w szczególności testów regresji, które sprawdzają działanie istniejących funkcjonalności. Nie ma szans na wykonanie pełnej regresji co najmniej raz dziennie testując manualnie. Automatyzacja testów jest konieczna do tego, aby móc ze spokojem wdrażać zmiany w systemach i żeby uzyskać pewność, że podczas developmentu nic, co działało wcześniej, nie zostało zepsute. Jeśli nie mamy skutecznej automatyzacji, to tracimy przede wszystkim możliwość częstego wdrażania zmian w systemach, a na to żadna organizacja nie może sobie pozwolić.

Automatyzacja jest kosztem – w jaki sposób możemy go optymalizować?

M.L.: Tym, co najbardziej podnosi koszt automatyzacji jest brak priorytetów i dobrze określonych wymagań biznesowych, redundancja testów oraz niedbały kod. Warto pamiętać, że z release’u na release nie tylko zwiększa się ilość funkcjonalności w naszych systemach, ale również testów. Wśród nich bywają niestety takie, które niczego nie sprawdzają, nigdy nie znajdują błędów i mimo poniesionych kosztów nie dają nam gwarancji udanego wdrożenia. Aby działać optymalnie, powinniśmy też traktować automatyzację testów jak aktywność developerską. Musimy wymagać od ludzi tworzących testy znajomości zasad programowania obiektowego, umiejętności wykorzystania wzorców projektowych oraz dobrych praktyk pisania kodu, który powinien wykorzystywać mało pamięci i być czytelny. Dobrze zaplanowana i wykonana automatyzacja sprawia, że nie marnujemy czasu i nakładów potrzebnych na jej utrzymanie.

Z tej perspektywy zaplanowanie skutecznych i optymalnych testów oprogramowania wydaje się sporym wyzwaniem. Jak sobie z nim radzić?

M.L.: Zaprojektowanie odpowiedniego zakresu testów i dobranie zespołu, który sobie z nim poradzi, dobra automatyzacja, a przede wszystkim dostarczenie testów wysokiej jakości wymaga czasu, doświadczenia i często sporych inwestycji. To zrozumiałe, że wielu naszych klientów, dla których testowanie nie jest kluczowym obszarem działalności, nie chce się na tym skupiać i powierza nam zarządzanie swoimi procesami testowymi. W Sii Polska jesteśmy w stanie przejąć wszystko od strategii, planowania i zarządzania testami, przez wykonanie testów manualnych i automatycznych, po zapewnienie wydajności i bezpieczeństwa systemów i aplikacji. Pozwala to zredukować koszty funkcjonowania działu testowego o ponad 30% i przyspieszyć wypuszczanie produktów na rynek o 50%. Jak powiedział Henry Ford: „Jeśli jest coś, czego nie możemy zrobić bardziej efektywnie, taniej albo lepiej niż nasza konkurencja, nie ma sensu tego robić – powinniśmy znaleźć kogoś, kto zrobi to lepiej, niż my.”.

Jeśli chcesz dowiedzieć się więcej o naszej usłudze Managed Test Services Partner, odwiedź naszą stronę.

Sprawdź też, dlaczego nie warto marnować środków na wewnętrzny dział testów

Zobacz, jak możemy usprawnić usługi testowe w Twojej firmie

POBIERZ POBIERZ

Dziękujemy!

Przepraszamy, coś poszło nie tak.

Odśwież stronę i spróbuj ponownie.

Przetwarzanie...

Może Cię również zainteresować

Pokaż więcej newsów

Bądź na bieżąco

Zapisz się do naszego newslettera i otrzymuj najświeższe informacje ze świata Sii.

ZATWIERDŹ

Einige Inhalte sind nicht in deutscher Sprache verfügbar.
Sie werden auf die englische Sprachversion der Website weitergeleitet.

Möchten Sie fortsetzen?