Wiadomości

Jakie aplikacje nadają się do testowania w tłumie (crowdsourcingu)?

2 173

Metodologia testowania w tłumie jest najodpowiedniejsza dla aplikacji ukierunkowanych na użytkownika. Jest ona często stosowana w aplikacjach mobilnych i projektach opracowywania gier, poprzez wypuszczanie na rynek darmowych wersji produktów w stadium beta. Wielkie korporacje mogą skorzystać na testowaniu w tłumie poprzez symulowanie wielkiej bazy użytkowników w celu zrozumienia wzorców i ulepszenia informacji zwrotnych, upewniając się jednocześnie, że ich aplikacje działają bez zarzutu na wielu różnych urządzeniach, systemach operacyjnych, przeglądarkach i wersjach językowych.


Przykładowo Microsoft wypuścił wersję beta pakietu wydajności programu Office 2010, który został pobrany i przetestowany przez 9 milionów ludzi, którzy przekazali 2 miliony cennych uwag i wniosków, co zaowocowało znacznymi udoskonaleniami produktu.


Jak widać na Rysunku 1, aplikacje o wysokim Współczynniku Narażenia na Usterki, tj. krytyczności, jako miary bezpośredniego narażenia klienta po wypuszczeniu produktu na rynek, są dobrymi kandydatami do testowania w tłumie.

Krytyczność Aplikacji i Współczynnik Narażenia na Usterki


Jak to działa?


Większość firm zajmujących się testowaniem w tłumie dostarcza platformę i ramę zarządzania projektem, w tym nadzór i struktury prawne, dla cyklów testowania. Firma taka przydziela także wykwalifikowanego Kierownika Projektu, który czuwa nad procesem testowania.


Ze strony konsumenta, klienci określają rodzaj i układ testów, które chcieliby przeprowadzić, posiadane kwalifikacje i informacje demograficzne o osobach testujących, rodzaje i konfigurację urządzeń, na których
oprogramowanie musi być testowane itp. Firma będąca klientem może się także skonsultować z firmą prowadzącą testy w celu upewnienia się o ich dokładności.


Ze strony dostawcy, osoby testujące wypełniają profil, wskazując swoje doświadczenie i kwalifikacje, urządzenia i platformy, do których mają dostęp oraz inne istotne szczegóły. Osoby testujące mogą zostać poproszone o uczestniczenie w ocenie projektów próbnych, w ramach warunku wstępnego dla członkostwa w społeczności. Przed rozpoczęciem projektu, osoby testujące otrzymują szczegółowe plany testów, próbne scenariusze, narzędzia, skrypty i instrukcje. Podczas testowania, dokumentują swoje obserwacje i są oceniani na podstawie wielkości i jakości swoich raportów, co ma bezpośredni związek z ich strukturą wynagrodzenia i motywacji.


Społeczność łączy w sobie aspekty współpracy i współzawodnictwa, ponieważ członkowie pracują nad znalezieniem rozwiązania określonego problemu. Fora ułatwiają zarządzanie wiedzą, współpracę i dyskusję na temat błędów i innych istotnych problemów; systemy oceniania umożliwiają zidentyfikowanie dobrze wykonanego zadania, co pomaga uczestnikom uzyskać wiarygodność i rozwinąć karierę.


Testowanie w tłumie należy postrzegać jako dodatkowe, uzupełniające testowanie przed wypuszczeniem produktu na rynek, a nie jako samodzielną czynność lub alternatywę dla wewnętrznego zespołu testującego firmy. Jest ono skuteczne w wychwytywaniu wszelkich pozostałych błędów w interfejsie użytkownika i konfiguracji przed wypuszczeniem produktu na rynek.

Jakie aplikacje nadają się do testowania w tłumie (crowdsourcingu)?
Testowanie na miejscu, zlecane i w tłumie


Testowanie na miejscu odnosi się do znanej praktyki zaangażowania wewnętrznego zespołu do testowania oprogramowania. Podejście to posiada ograniczenia jeśli chodzi o skalowalność oraz jest nieefektywne w odtwarzaniu realistycznych sytuacji z użytkowania produktu.


W przypadku zlecanego testowania oprogramowania, jest ono świadczone przez usługodawcę zewnętrznego, na podstawie umowy lub tylko dla jednego projektu. Przynosi ono oczywiste korzyści związane z kosztami – wysoce wykwalifikowana kadra za niewielkie pieniądze – dzięki arbitrażowi płacowemu.


W przypadku testowania w tłumie, ludzie testują oprogramowanie dobrowolnie, umotywowani własną chęcią wykrycia jego wad, ustabilizowania swojej pozycji w społeczności, zyskania uznania wśród kolegów itp., mimo ryzyka, że nie otrzymają zapłaty, jeśli nie wykryją żadnych problemów. To samoorganizujące się zjawisko, wspólne cele społeczności i wewnętrzna motywacja są znaczącymi siłami determinującymi sukces testowania w tłumie.

Co wybrać?


Zespół miejscowy, z racji bliskości dla klientów, posiada zalety polegające na koncentrowaniu się na wyzwaniach technologicznych i biznesowych, które wymagają natychmiastowej uwagi. W przypadku projektu testowanego na zlecenie, zespół testujący może być zarówno związany, jak i niezwiązany z firmą.


W modelu związanym, zespół stanowi część firmy i wykonuje testy jako stałe zadania, dzięki którym zyskuje doświadczenie i skuteczność poprzez zwiększanie swojej świadomości na temat najpopularniejszych aplikacji wewnętrznych.


Zespoły niezwiązane są zespołami zewnętrznymi i współpracują z wieloma klientami przy wielu projektach. Zyskują przy tym doświadczenie i fachowość w różnych polach, domenach, funkcjach, branżach i technologiach. Firma-klient może wykorzystać tę różnorodność w projektach wymagających „nieszablonowego myślenia” oraz w specjalnych zadaniach (Brabham 2008).

Jakie aplikacje nadają się do testowania w tłumie (crowdsourcingu)?


Koncentracja, wysiłek, wewnętrzna motywacja i skalowalność zespołów testujących w tłumie przekładają się na wspaniałe efekty przez wykrywanie problemów przed wypuszczeniem produktu na rynek. Wiedza tłumu jest rozpraszana wśród bazy testujących, jednak łączna baza wiedzy jest większa niż w jakiejkolwiek firmie.


Biorąc pod uwagę złożoność nowoczesnych systemów, optymalna organizacja testowania powinna obejmować w odpowiednich proporcjach zespoły miejscowe, zewnętrzne i crowdsourcingowe. Znalezienie właściwych proporcji jest kwestią doświadczenia i eksperymentów.

Stworzyć społeczność czy ustanowić partnerstwo?


Chociaż niektóre firmy, np. Netflix i Amazon, stworzyły wewnętrznie swoje własne możliwości testowania w tłumie. Nie jest to strategia możliwa do zrealizowania przez każdą firmę, a także nie ma ona strategicznego sensu biznesowego. Testowanie w tłumie jest czynnością złożoną, która wymaga głębokiej wiedzy technicznej, funkcjonalnej i biznesowej.

W związku z tym, jeśli planowana praca nie ma wielkiego znaczenia strategicznego, ani nie jest wysoce poufna, to zaleca się zlecenie jej firmie zajmującej się testowaniem w tłumie, która dostarczy wszelkie niezbędne składniki do niemal natychmiastowego zaangażowania tłumu. Składniki te, to doświadczeni testerzy, urządzenia, konfigurowalne architektury, mechanizmy partycypacyjne, podstawowe prawidła.

Mithun Sridharan Przewodniczący ds. Komunikacji Niemieckiego Stowarzyszenia Outsourcingu