Wiadomości

Testowanie oprogramowania dla firm z wykorzystaniem crowdsourcingu część 1.

2 901

W skrócie

Świat Technologii Informatycznej zmienia się z napędzanego przez firmy na napędzany przez konsumentów, którzy oczekują większej elastyczności, ze względu na to, iż przeprowadzają swoje urządzenia poprzez mnóstwo środowisk i ekosystemów. Stanowi to oczywiste wyzwanie dla twórców oprogramowania i ich zespołów ds. zapewnienia jakości. Bezwzględnymi czynnikami niezbędnymi do budowania lojalności klientów są wysokiej jakości design i funkcjonalność. Crowdtesting poddaje oprogramowanie testom prowadzonym przez prawdziwych użytkowników w warunkach rzeczywistych. Pozwala to firmom na szybkie i tanie uzyskanie prawdziwego wglądu, zebranie opinii oraz informacji o błędach, co prowadzi do znacznej poprawy jakości i designu, zwiększenia szans przyjęcia oprogramowania przez klientów i użytkowników końcowych. Wykorzystanie crowdtestingu do testowania oprogramowania podnosi poprzeczkę jeśli chodzi o poziom jakości, elastyczność, szybkość i koszty w stosunku do innych typowych opcji, takich jak outsourcing czy automatyzacja.

Testowanie oprogramowania dla firm z wykorzystaniem crowdsourcingu Część I

Wprowadzenie

W ciągu ostatnich kilku lat, paradygmat crowdsourcingu ewoluował ze skromnych i pojedynczych inicjatyw klientów do przypadków wielkiego sukcesu, tj. Wikipedia czy Amazon Mechanical Turk. W dziedzinie technologii informatycznych, testowanie oprogramowania metodą crowdsourcing spotkało się ze zwiększonym zainteresowaniem i przyjęciem, zwłaszcza ze strony firm rozpoczynających działalność i mniejszych firm. Proces przyjęcia był jednakże dość powolny w przypadku większych firm, głównie z powodu nielicznych publikacji literatury biznesowej. Aby przekonać większe firmy do testowania z wykorzystaniem crowdtestingu, omówimy kilka ważnych kwestii, takich jak decyzje „wytworzyć czy kupić”, budowanie wewnętrznej społeczności testerów lub współpracę z agencjami zewnętrznymi, przydatność aplikacji, zarządzanie, jakość testera i zakończymy przedstawiając wytyczne w zakresie skutecznych inwestycji w testowanie z wykorzystaniem tłumów.

Współczesny krajobraz IT

W ostatnich latach, Technologia Informatyczna (IT) zyskała strategiczne znaczenie w związku z tym, iż wiele firm dokonało już znacznych inwestycji w ERP, CRM oraz inną działalność, co wskazuje na kluczowy charakter informatyki biznesowej. Firmy te stosują również elementy bezpośredniego kontaktu z klientem, takie jak strony internetowe i aplikacje mobilne, które powinny nie tylko posiadać dobry design, ale również zapewniać niezakłóconą funkcjonalność. Niemalże niemożliwym jest przewidzenie użytkowników takich systemów ani ich gustów a priori. Testowanie oprogramowania z wykorzystaniem crowdsourcingu pozwala osiągnąć wysokie prawdopodobieństwo akceptacji modułów oprogramowania przez konsumentów poprzez zapewnienie wolnego od wad oprogramowania.

Przy wzroście trendu cloud computing, BYOD, itd., usługi IT są dostarczane wieloma kanałami oraz wykorzystywane przez różne zainteresowane strony, których systemy informatyczne mogą występować w różnych konfiguracjach (Real-World On-Demand Apps Testing: http://www.youtube.com/watch?v=y_MhlbdODXQ). Naprawdę solidne testowanie oprogramowania jest czasochłonne, a zapewnienie wszystkich możliwych permutacji i kombinacji cech, lokalizacji i operacji platform, zgodnie z oczekiwaniami, jest niemalże niemożliwe. Na przykład, jeżeli aplikacja sieciowa nie będzie działać w konkretnej przeglądarce, lub jakieś narzędzie oprogramowania nie zapewni ważnej funkcji, mogą nastąpić zakłócenia w działalności. Dzięki testowaniu z wykorzystaniem tłumów, firmy mogą skutecznie zmniejszyć prawdopodobieństwo przeoczenia przez wewnętrzny zespół ds. testowania oprogramowania najważniejszych elementów podczas fazy testów wewnętrznych.

Według Paula Herzlicha, analityka ds. testowania oprogramowania w Ovum, niezależnej instytucji badawczej branży IT, „Jeśli testujecie oprogramowanie, które będzie używane przez różnych nieznanych użytkowników, dlaczego nie użyć grupy nieznanych użytkowników do jego przetestowania.”

A zatem, testowanie z wykorzystaniem tłumów oferuje proste, przejrzyste i ekonomiczne rozwiązanie dla trudnych do rozwiązania problemów.

Czym jest testowanie oprogramowania z wykorzystaniem crowdsourcingu?

Crowdtesting jest metodą testowania oprogramowania, która wykorzystuje społeczność testerów oprogramowania w postaci zewnętrznych ekspertów z różnych środowisk i szerokości geograficznych na całej kuli ziemskiej. Od tradycyjnego podejścia różni się tym, że testy przeprowadzane są na większej liczbie testerów z różnych miejsc, a nie przez ograniczoną liczbę wewnętrznych specjalistów ds. testowania. Wielkość takich społeczności wacha się w granicach od kilkuset do kilku tysięcy testerów z całego świata.

Testowanie z wykorzystaniem tłumów poddaje aplikację pod działanie zestawu realistycznych scenariuszy, obciążeń i ścieżek użytkowników, które nie mogą być replikowane przez wewnętrzny zespół ds. testowania. Wcześniejsze poznanie wydajności aplikacji w warunkach rzeczywistych czyni refaktoryzację prostszą i tańszą. Takie testy zwiększają również niezawodność i skracają czas potrzebny do opracowania i wdrożenia. Zazwyczaj prawie wszystkie zauważalne błędy lub problemy są wykrywane i usuwane przed rozpoczęciem pełnoprawnej dystrybucji.

Testowanie eksploracyjne oraz Testowanie z wykorzystaniem tłumów w firmach

Obecnie wiele uwagi poświęca się usługom testowania eksploracyjnego z wykorzystaniem tłumów, gdzie testerzy analizują oprogramowanie pod kątem problemów, błędów lub wad na podstawie ogólnych wytycznych i przypadków testowych. W przypadku testowania eksploracyjnego „na wolną rękę”, nie da się przewidzieć wyników pod względem ilościowym, gdyż trudno jest z góry określić zakres, obszar oraz ilość możliwych błędów. Testerzy zazwyczaj identyfikują problemy w miejscach najbardziej oczywistych, ale niektórzy wysoko wykwalifikowani testerzy mogą wykryć wady ukryte pod warstwami oprogramowania. Testowanie eksploracyjne nadaje się najlepiej do testowania mniej krytycznych aplikacji , z wykorzystaniem dużej liczby użytkowników w celu zapewnienia powtarzalności zestawu zagadnień w różnych konfiguracjach lub stymulowania typowego obciążenia aplikacji (Kaner 2008).

Testowanie z wykorzystaniem tłumów w firmach obejmuje w większym stopniu dyscyplinę i strukturę w procesie testowania oprogramowania, jednocześnie zachowując ducha i sprawność testów eksploracyjnych. Tak więc, testowanie z wykorzystaniem tłumów wykorzystuje najlepsze praktyki i koncepcje zarówno nieformalnych jak i formalnych metod testowania oprogramowania. Stopień profesjonalizmu testowania z wykorzystaniem crowdsourcingu w firmach jest wyższy.

W tym podejściu, testerzy są analizowani i rozmieszczani na podstawie kompleksowych kryteriów wyboru. Proces testowania oprogramowania ma jasno określony zakres oraz jest prowadzony zgodnie z rozległymi wytycznymi dostosowanymi do potrzeb projektu. Zespół ma jasno określone role i obowiązki, jeden punkt kontaktu dla społeczności organizacji klienta, sformalizowane raporty i struktury raportowania, obszerną dokumentację i monitoring projektu, itp.

Ponadto, testowanie z wykorzystaniem tłumów w firmach pociąga za sobą formalne procesy zbudowane na istniejących metodach testowania oprogramowania, tj. Agile, SCRUM, itp. W wyniku takiej współpracy, w organizacji klienta zapewniona jest sprawna synchronizacja pomiędzy jej dystrybucją wewnętrzną a cyklami zewnętrznego testowania oprogramowania. Pozwala to klientowi na zmniejszenie kosztów ogólnych zarządzania projektem i zmaksymalizowanie korzyści z obu zespołów.

Mithun Sridharan Przewodniczący ds. Komunikacji Niemieckiego Stowarzyszenia Outsourcingu