W czasach, kiedy istnieją dziesiątki rozwiązań dostępnych dla każdego, jedynie aplikacja wyróżniająca się swoją jakością może zdobyć zaufanie użytkownika. Od oprogramowania wymaga się, by było jednocześnie użyteczne, wydajne i niewrażliwe na ataki. Pewność w kontekście niezawodności projektu może zostać zapewniona jedynie, gdy zaangażowany zostanie odpowiedni zespół testerów. Co w sytuacji, gdy w kluczowym momencie trwania projektu będziemy musieli zmierzyć się z niedoborem takich właśnie specjalistów lub kompetencji? Jak uzupełnić braki w zespole testerskim?

Dobór zespołu testowego

Nie jest tajemnicą, że znalezienie odpowiedniego developera do projektu to trudne zadanie. Mnogość rozwiązań oraz podejść w programowaniu sprawia, że stack technologiczny dla każdego projektu jest inny. Jedynie znajdując osobę specjalizującą się w określonym zakresie, mamy pewność, że jej umiejętności będą wykorzystywane przez cały okres trwania projektu. Sytuacja ma się nieco inaczej, kiedy do projektu poszukiwany jest specjalista z zakresu jakości oprogramowania o określonych kompetencjach. Często w celu obniżenia kosztów projektu stawia się na jedną-dwie osoby odpowiedzialne za Quality Assurance, jednocześnie wymagając od nich szerokiego wachlarza umiejętności. Czy można jednak w takim przypadku oczekiwać, że testy każdego typu będą wykonane na najwyższym poziomie?

Warto wziąć uwagę wszelkie aktywności testera w obszarze testów. Pewne typowe zadania są co prawda uniwersalne. Na przykład analiza wymagań, tworzenie specyfikacji testów, przygotowanie danych testowych czy w końcu implementacja i wykonywanie testów oraz dokumentowanie odchyleń od oczekiwanych wyników. Jednak biorąc pod uwagę mnogość platform oraz typów testów, okazuje się, że jest to zaledwie ułamek aktywności, jakie mogą wykonywać testerzy podczas swojej codziennej pracy. Dobór odpowiedniego zespołu testerskiego wymaga więc znajomości specjalizacji w obrębie testowania oraz przyjęcia odpowiedniej strategii. Tylko wówczas możemy wymagać najwyższej jakości testów.

Testerzy – obszary specjalizacji

Podobnie jak w przypadku programistów – każda osoba zajmująca się szeroko pojętym Quality Assurance specjalizuje się w konkretnym obszarze testów. Dla przykładu wymieńmy chociażby:

  • testy manualne,
  • testy baz danych lub big data,
  • testowanie gier,
  • testowanie e-commerce,
  • testowanie wydajności,
  • testy bezpieczeństwa,
  • testy automatyczne.

Każdy z powyższych obszarów charakteryzuje się odmiennym podejściem i wymaga innych umiejętności i wiedzy testera. Dodatkowo należy wziąć pod uwagę mnogość rozwiązań w obrębie każdego z nich, jak:

  • języki i frameworki, w których są tworzone testy automatyczne,
  • narzędzia do tworzenia testów regresyjnych oraz zarządzania testami (jak: Ranorex, TestComplete czy Katalon),
  • różnice między poszczególnymi typami baz danych SQL (Oracle, MySQL, MS SQL) oraz istnienie innych modeli baz, jak NoSQL;
  • podatności różnych systemów informatycznych.

Zespół testerski – dobór strategii

Testy oprogramowania są ważne, równie ważny jest jednak dobór odpowiedniej strategii i zatrudnienie testerów o odpowiednim profilu specjalizacji. Specjalista doświadczony w testowaniu aplikacji webowych czy desktopowych nie będzie równie efektywny w testowaniu aplikacji mobilnych. Dlatego właśnie, aby zapewnić najwyższą jakość oprogramowania, należy dobrać zespół testerów odpowiedni dla naszego projektu.

Niezależnie od wybranej strategii na każdym etapie projektu testowanie przebiega w inny sposób i jego natężenie się zmienia. Czynności takie jak testy funkcjonalne, przygotowanie testów regresywnych czy re-testy wymagają na przykład poświęcenia większej ilości czasu i zaangażowania znacznie większej liczby testerów w porównaniu do testów niefunkcjonalnych. Jest to spowodowane ilością zmian wprowadzanych w aplikacji w danym jej obszarze. Natomiast aby testy wydajności, bezpieczeństwa bądź użyteczności były wiarygodne, powinny być przeprowadzone przez znacznie bardziej wykwalifikowanych specjalistów, z wiedzą ekspercką w danej domenie.

Braki w zespole testowym

Często problemy pojawiają się, gdy któryś z testerów odejdzie z firmy albo zachoruje. Nie jesteśmy w stanie przewidzieć wszystkich zdarzeń losowych, a rotacja przy obecnym dynamicznym rynku pracy jest naturalnym zjawiskiem. Może się też zdarzyć, że w trakcie estymacji testy zostaną niedoszacowane.

Braki w zespole testowym, bez względu na ich przyczynę i sposób rozwiązania, wiążą się z dodatkowymi kosztami dla pracodawcy. Decydując się na zatrudnienie dodatkowego specjalisty QA, musimy liczyć się z kosztami, a często budżet projektu nie przewiduje takiej sytuacji. Jak zatem uzupełnić braki w zespole testowym? Jednym z rozwiązań jest oddelegowanie części zadań zewnętrznej firmie w ramach usługi TaaS (Testing as a Service). Testy jako usługa pozwalają na wykonanie testów określonego typu on-demand, czyli adekwatnie do naszych aktualnych potrzeb.

Kompetencje w chmurze

W chmurze przechowujemy ważne dokumenty, pliki oraz całe bazy danych i systemy. A gdyby tak przechowywać w niej… kompetencje?

Nieraz w końcowej fazie projektu okazuje się, że mimo zakończenia pracy nad developmentem liczba funkcjonalności do przetestowania przerasta możliwości zespołu. Może chodzić nie tylko o niewystarczającą liczbę testerów, ale także braki kompetencyjne. A gdy zespół staje pod ścianą trudności, zwykle jest już za późno na dodatkowe szkolenia. Testing as a Service to taka właśnie chmura kompetencji testerów. Nieprzemyślane działania rekrutacyjne i wydatki na szybkie szkolenia nie przysłużą się dostarczeniu produktu wysokiej jakości, natomiast korzystając z testów „na zawołanie”, zyskujemy dostęp do bazy sprawdzonych specjalistów. Oszczędzamy w ten sposób czas wymagany na wdrożenie nowych pracowników i przekazanie im know-how.

Uzupełnianie braków – testy jako usługa

Zaletą usługi Testing as a Service jest wysoka elastyczność, dzięki czemu sprawdza się w przypadku każdego rodzaju testów. Wielką zaletą rozwiązania Testing as a Service jest możliwość zatrudnienia testerów na określonym etapie, bez konieczności ponoszenia kosztów usługi przez cały czas trwania projektu.

Jedną z możliwości jest zaangażowanie testerów funkcjonalnych, których liczba i specjalizacja są dobierane indywidualnie do aktualnych potrzeb. Tacy testerzy są w stanie niezależnie wykonać testy interfejsu użytkownika, baz danych, regresji bądź akceptacyjnych czy UAT (User Acceptance Testing).

Inną opcją są testy wydajnościowe, przeprowadzane przez testerów wydajności wdrożonych do projektu w jego końcowej fazie w ramach usługi TaaS. Sprawdzą oni, czy przygotowane oprogramowanie spełnia wymagania dotyczące wydajności aplikacji podczas normalnego użytkowania przez określoną liczbę użytkowników oraz w sytuacji wyjątkowego obciążenia.

Warto również rozważyć usługę Testing as a Service w przypadku testów bezpieczeństwa. Wówczas testerzy zewnętrzni weryfikują zabezpieczenia zaimplementowane w aplikacji i wskazują słabe punkty systemu, które mogłyby np. w konsekwencji pozwolić nieautoryzowanym użytkownikom na niepożądane działania.

Podsumowanie

Dobór pracowników z zakresu Quality Assurance nie jest łatwy. Budżet projektu często nie pozwala na zatrudnienie specjalistów z każdego obszaru testowania lub szybkie przeszkolenie pracowników, a nieprzewidziane wydarzenia nieraz powodują opóźnienia. Nadmiarowe zadania mogą zostać co prawda powierzone pozostałym testerom, jednak wykonane w pośpiechu lub bez wymaganych umiejętności, nie zapewnią jakości na wysokim poziomie. W takich sytuacjach warto skorzystać z usługi Testing as a Service, dzięki której eksperci o wymaganych kompetencjach są dostępni dokładnie wtedy, kiedy ich potrzebujemy. Takie elastyczne rozwiązanie pozwala na zminimalizowanie kosztów przy zachowaniu najwyższych standardów testowania.

Autorem wpisu jest:
Kamil Czornyj, JCommerce
Testami zajmuje się od 3 lat, przez cały ten czas związany z JCommerce. Rozpoczął od stażu, na który dostał się z Politechniki Śląskiej, następnie był na stanowisku juniora, a obecnie na poziomie regular. Przygodę z testowaniem zaczynał od testów manualnych, aktualnie zajmuje się automatyzacją testów. Wykonywał testy aplikacji mobilnych, webowych i desktopowych. Od kilku miesięcy jest także wykładowcą w centrum szkoleniowym, gdzie uczy testowania manualnego.

Dodaj komentarz

Komentarze:

Skontaktuj się z nami

Chcesz dowiedzieć się więcej o naszych usługach? Napisz do nas – odpowiemy na każdą wiadomość.

Niniejszym wyrażam zgodę na przetwarzanie przez JCommerce Sp. z o.o. moich danych osobowych (dalej „dane osobowe”), takich jak: imię i nazwisko, adres e-mail, nr telefonu, firma, w celach handlowych.
Niniejszym wyrażam zgodę na przetwarzanie przez JCommerce Sp. z o.o. moich danych osobowych (dalej „dane osobowe”), takich jak: imię i nazwisko, adres e-mail, nr telefonu, firma, w celach marketingowych.
Niniejszym wyrażam zgodę na przetwarzanie przez JCommerce Sp. z o.o. moich danych osobowych (dalej „dane osobowe”), takich jak: imię i nazwisko, adres e-mail, nr telefonu, firma w celach rekrutacyjnych.
Niniejszym wyrażam zgodę na przetwarzanie przez JCommerce Sp. z o.o. moich danych osobowych (dalej „dane osobowe”), takich jak: imię i nazwisko, adres e-mail, nr telefonu, firma na potrzeby przyszłych rekrutacji.
W związku z obowiązującymi przepisami dotyczącymi ochrony danych osobowych tj. Ustawą o ochronie danych osobowych z dnia 10 maja 2018 roku, jak również treścią Rozporządzenia Parlamentu Europejskiego i Rady (UE) 2016/679 z dnia 27 kwietnia 2016 r. w sprawie ochrony osób fizycznych w związku z przetwarzaniem danych osobowych i w sprawie swobodnego przepływu takich danych oraz uchylenia dyrektywy 95/46/WE (RODO), informujemy, że: 1. Administratorem danych osobowych jest JCommerce Sp. z o.o. z siedzibą w Katowicach, ul. Ściegiennego 3, 40-114 Katowice (KRS: 00007393418).
2. Powyższe dane osobowe przetwarzane będą przez JCommerce Sp. z o.o. – w zależności od udzielonych przez Panią/Pana zgód (podstawa prawna przetwarzania: art. 6 ust. 1 pkt a) RODO):
• w celach handlowych,
• w celach marketingowych,
• w celach rekrutacyjnych;
• w celach przyszłych rekrutacji.
3. Podanie powyższych danych osobowych nie jest wymogiem ustawowym, umownym lub warunkiem zawarcia umowy. Nie jest Pan/Pani zobowiązany/a do podania powyższych danych osobowych, jednak brak ich podania uniemożliwi realizacje ww. celu.
4. Posiada Pan/ Pani prawo dostępu do treści swoich danych, w tym otrzymania ich kopii i ich sprostowania, usunięcia, ograniczenia przetwarzania, prawo do przenoszenia danych, prawo do sprzeciwu wobec przetwarzania, prawo do cofnięcia zgody w dowolnym momencie, jeśli została udzielona. Wycofanie zgody nie wpływa jednak na zgodność z prawem przetwarzania, którego dokonano na podstawie zgody przed jej wycofaniem; oświadczenie o cofnięciu zgody na przetwarzanie danych osobowych należy złożyć w siedzibie JCommerce Sp. z o.o. lub przesłać na adres mailowy zgody@jcommerce.pl. Cofnięcie zgody na przetwarzanie danych osobowych skutkuje brakiem możliwości realizacji ww. celów przetwarzania;
5. Dane osobowe są udostępniane przez JCommerce Sp. z o.o. upoważnionym pracownikom i osobom współpracującym z JCommerce Sp. z o.o. na podstawie umów cywilnoprawnych, przez których realizowany jest cel przetwarzania;
6. Wszelkie pytania dotyczące ochrony danych osobowych oraz realizacje przysługujących praw, prosimy kierować na adres odo@jcommerce.pl;
7. W zależności od udzielonej zgody, dane osobowe będą przetwarzane przez czas niezbędny do realizacji ww. celów przetwarzania. W przypadku wniesienia sprzeciwu, JCommerce Sp. z o.o. przestanie przetwarzać Pani/Pana dane w ww. celu, chyba że będzie w stanie wykazać, że w stosunku do tych danych istnieją ważne prawnie uzasadnione podstawy, które są nadrzędne wobec Pana/Pani interesów, praw i wolności, lub niezbędne do ewentualnego ustalenia, dochodzenia lub obrony roszczeń;
8. Nie przekazujemy Pani/Pana danych poza teren Europejskiego Obszaru Gospodarczego oraz do organizacji międzynarodowych.
9. Pani/Pana dane osobowe nie podlegają zautomatyzowanemu podejmowaniu decyzji, w tym profilowaniu.
10. Ma Pani/Pan prawo wniesienia skargi do organu nadzorczego gdy uzna Pan/Pani, iż przetwarzanie ww. danych osobowych narusza przepisy ogólnego rozporządzenia o ochronie danych osobowych z dnia 27 kwietnia 2016 r.