Wyzwania automatyzacji testowania
Zasoby ludzkie

Tagi: 0

W naszej analizie wyzwań, z jakimi należy się mierzyć, gdy chcemy tworzyć i przeprowadzać efektywne testy automatyczne nie poruszyliśmy jeszcze jednego wątku… Ktoś musi zaprojektować testy, przeprowadzić je i potem utrzymać. I choć mówimy ciągle o testach automatycznych, to wciąż ludzki pierwiastek jest potrzebny do ich wykonania. A najlepiej, jeśli ten pierwiastek wyposażony byłby w odpowiednią wiedzą i dysponował należytym doświadczeniem…

Analiza raportu

Zapytani o największe wyzwania, jakie stoją przed podnoszeniem poziomu automatyzacji testów 46% ankietowanych, stwierdziło, że brakuje odpowiednio wykwalifikowanych i doświadczonych pracowników do automatyzacji. Trudności te istnieją już od pewnego czasu i będą się pogłębiać, ponieważ coraz więcej zespołów decyduje się na automatyzację procesów testowych.

Zasoby ludzkie

Przyczyna problemów z zasobami ludzkimi

Narzędzia do automatyzacji testowania opierają się na skryptach umożliwiających interakcję z systemem testowanym (System Under Test, SUT). Nierzadko skrypty tworzone są w językach specyficznych dla danej dziedziny, np. Selenese dla aplikacji webowych. Nawet jeśli korzysta się z bardziej uniwersalnych języków, jak JavaScript czy Python, tworzenie testów automatycznych wymaga specyficznej wiedzy z zakresu zarówno testowania, jak i programowania oraz sporych umiejętności. Właściwie na poziomie programistycznym są to umiejętności fullstackowe. Niestety liczba ekspertów spełniających te wymagania nie jest wystarczająca w stosunku do zapotrzebowania. Z drugiej zaś strony odpowiednio wykwalifikowani w tej dziedzinie specjaliści nierzadko mają wysokie wymagania finansowe, którym nie każda firma jest w stanie sprostać.

Warto podkreślić także, iż angażowanie programistów do tworzenia i utrzymania testów automatycznych bywa nieopłacalne i zwyczajnie mija się z celem. Zamiast tworzyć strony, programy czy aplikacje, bądź przygotowywać nowe releasy, programiści poświęcają swój czas na pisanie kodu, który testuje inny kod.

 

Chcesz dowiedzieć się jak wygląda sytuacja testerów na rynku pracy?
Zapraszamy do jednego z naszych poprzednich wpisów

 

By załagodzić problemy kadrowe, zaczęto tworzyć różne narzędzia mające ułatwić automatyzację. Jednym z bardziej popularnych programów tego typu jest wypuszczony w 2006 roku Selenium IDE. Narzędzie to pozwala na nagrywanie interakcji z testowanym systemem. Nagranie wykorzystuje się do generowania podstawowego skryptu testowego, który potem można dostosować do indywidualnych potrzeb. Nowocześniejsze narzędzia wyprzedzają możliwości Selenium, ale wciąż powstałe w ten sposób skrypty często potrzebują ingerencji w kodzie.

Co więcej, stworzenie i przeprowadzenie testów automatycznych na bazie Selenium jest samo w sobie procesem technicznym i wymaga odpowiednich umiejętności. Jeśli w całość przedsięwzięcia zaangażujemy jeszcze szereg urządzeń wymagających konfiguracji, wówczas rozmiar i złożoność procesu wzrasta i to gwałtownie. Przyczynia się to nie tylko do rozciągnięcia całego postępowania w czasie, ale i do konieczności zaangażowania wykwalifikowanych w Selenium programistów, co implikuje wyższe koszty projektu. 

 

 

Możliwe rozwiązania

Jesteśmy świadomi tego, jakie problemy stawiane są przed zespołami chcącymi usprawnić testowanie, korzystając z narzędzi do automatyzacji. Nie każdy zespół może pozwolić sobie na wyznaczenie programisty (programistów) do tworzenia, przeprowadzania i utrzymania automatów i nie każda firma dysponuje takimi zasobami, by zatrudnić specjalistę od takich testów. Nie wszyscy testerzy dysponują odpowiednią wiedzą i umiejętnościami programistycznymi, by sprawnie tworzyć takie testy. Jednocześnie presja na szybkość i jakość analizy produktu zwiększa się, więc wykorzystanie automatów staje się nieodzowne.

Możliwość bezkodowego tworzenia testów automatycznych to znaczne ułatwienie dla wszystkich tych, którzy nie dysponują rozbudowanymi umiejętnościami programistycznymi. Wykorzystując funkcję drag and drop, nawet testerzy manualni mogą szybko ułożyć zaawansowany test automatyczny. Redukuje to konieczność szukania osób wykwalifikowanych w pisaniu testów automatycznych i zatrudniania odrębnych specjalistów tylko do tych zadań. Zmniejsza to znacznie koszty całego projektu. Ponadto programiści mogą skupić się na swoich zadaniach, a testerzy czy członkowie zespołów ds. QA mogą uskutecznić procesy testowe, korzystając z bezkodowego tworzenia testów automatycznych.

 

Drag and drop

Korzystanie z funkcji drag and drop w trakcie tworzenia testów automatycznych znacznie przyspiesza pracę.

 

Podsumowanie

Odpowiednie zaplecze techniczne jest niezbędne do tego, by tworzyć, przeprowadzać i utrzymywać testy automatyczne w sposób skuteczny. Całość jednak nie obejdzie się bez odpowiednio wyszkolonego personelu, co dla wielu firm stanowi barierę nie do pokonania.

Dlatego zmiana optyki w podejściu do zagadnienia automatyzacji testowania i stworzenie innego rozwiązania może okazać się strzałem w dziesiątkę dla wielu zespołów. Nie zawsze trzeba szukać wyspecjalizowanych w danej dziedzinie ekspertów, którzy potrafią płynnie posługiwać się skomplikowanymi narzędziami do automatyzacji. Czasem wystarczy zaproponować takie rozwiązanie, które jest na tyle zaawansowane, a jednocześnie proste, że korzystanie z niego nie wymaga wiedzy eksperckiej, a pożądany efekt zostaje osiągnięty.

DYSKUSJA

Skomentuj
wypróbuj

Zarejestruj się i zacznij działać!