Testowanie oprogramowania może dotyczyć różnego rodzaju produktów, które zaprojektowane są dla wielu branż. Inaczej będzie wyglądało testowanie aplikacji bankowej, w której najważniejszym aspektem może być bezpieczeństwo. Różnice będą również występować ze względu na funkcjonalność oprogramowania - testowanie aplikacji wymaga skupienia się na innych obszarach niż podczas testowania sklepu internetowego. W zależności od projektu tester musi więc wykazywać się wiedzą z różnych dziedzin oraz szerokim zestawem umiejętności.
Obecnie duży nacisk kładziony jest na użyteczność aplikacji oraz na to, aby użytkownik końcowy był z niej jak najbardziej zadowolony. Sam fakt, że produkt spełnia swoją funkcję i nie zawiera krytycznych błędów, nie zapewnia już satysfakcji klienta. Dlatego powstał specjalny dział, który dba o to, aby produkt był stworzony zgodnie z potrzebami użytkownika. Za użyteczność i pozytywne doświadczenia użytkownika końcowego odpowiedzialne są osoby zajmujące się tzw. User Experience.
Co to jest UX?
Dla formalności, zacznijmy od wyjaśnienia, czym jest dziedzina UX i czym tak dokładnie się zajmuje. UX Design, czyli User Experience Design, często tłumaczony jest jako projektowanie doświadczeń użytkownika. Nie jest to więc tylko projektowanie aplikacji czy strony internetowej a projektowanie ogólnych doświadczeń, czyli tego, jak użytkownik czuje się podczas korzystania z naszego rozwiązania. Aby stworzyć produkt, który wywołuje pożądane odczucia, często nie wystarczą tylko wytyczne klienta, dlatego na projektowanie doświadczeń użytkownika składa się wiele etapów a wręcz oddzielnych działań wykonywanych przez konkretnych specjalistów.
Projektowanie doświadczeń to nie tylko tworzenie prototypów i makiet. W pełnym procesie tworzenia doświadczeń użytkownika produkt jest kształtowany poprzez etap badań potrzeb użytkowników, analizy rynku, a także brana jest pod uwagę odpowiednia strategia biznesowa. Ważnym etapem jest też tworzenie architektury informacji, gdyż to dzięki niej użytkownik będzie się poruszał intuicyjnie po naszym produkcie bądź będzie miał problemy ze znalezieniem pożądanych treści/funkcjonalności. Na podstawie badań tworzony jest prototyp, a później następuje faza testów. Testować można zarówno prototyp, jak i gotowe produkty w ramach testów z użytkownikami. Przeprowadzane są czasami też testy A/B, aby wyłonić lepszą wersję produktu. W dalszej części przyjrzymy się tym etapom, których wyniki mogą być bardzo pomocne testerom oprogramowania w ich pracy.
Badania potrzeb użytkowników
Pierwszym i często najważniejszym etapem tworzenia produktu, z perspektywy UX designu, są badania potrzeb. Badania te mają na celu przede wszystkim poznać docelowych użytkowników oprogramowania. Dostarczają one informacji o tym, czego użytkownikom brakuje w innych tego typu produktach, w jaki sposób i w jakich sytuacjach z nich korzystają, co jest dla nich przydatne i jakich funkcji raczej nie używają.
UX Researcher, czyli osoba, która zajmuje się badaniami UX, próbuje uzyskać odpowiedzi na wszelkie tego typu pytania bez sugerowania badanemu, jakiego rozwiązania dotyczy badanie, aby nie ukierunkowywać badanego i otrzymać jak najbardziej adekwatne i obiektywne odpowiedzi. Wszystkie te informacje są bardzo cenne w późniejszym etapie projektowania produktu.
Zanim jednak takie badania zostaną przeprowadzone z użytkownikami, prowadzony jest tzw. desk research, czyli wstępne rozeznanie rynku, analiza konkurencji oraz tworzy się potencjalną grupę docelową, aby wybrać odpowiednie osoby do badań potrzeb. Są to np. osoby należące do danej grupy wiekowej, korzystające z konkretnych urządzeń lub danego oprogramowania albo po prostu osoby o podobnych zainteresowaniach.
Jak wyglądają badania potrzeb?
Badania potrzeb mogą przypominać formę zwykłej rozmowy/wywiadu z członkiem grupy docelowej, ale również mogą być wspomagane różnymi metodami oraz narzędziami.
Badania, które opierają się na wywiadzie z jedną osobą nazywane są IDI (Individual In-depth Interview), inaczej wywiady pogłębione. Jeśli z jakiegoś powodu korzystne byłoby przeprowadzać wywiad z dwoma użytkownikami jednocześnie, to takie badania nazywane są diadami.
W zależności od potrzeby stosuje się również inne typy badań:
- badania kwestionariuszowe, np. ankiety
- wywiad kontekstowy
- fokusy, czyli wywiady grupowe skoncentrowane na danym zagadnieniu bądź problemie,
- badania dzienniczkowe, podczas których badani przez określony czas wypełniają dzienniczek, dzięki któremu zespół UX będzie mógł lepiej poznać ich rutynę, codzienne zachowania i nawyki,
- badania etnograficzne, czyli obserwacja grupy docelowej w środowisku naturalnym, która pozwala na zauważenie kontekstu i tego, o czym użytkownicy mogą nam nie powiedzieć, gdyż jest to dla nich zbyt oczywiste, aby o tym wspominać,
Co jest efektem przeprowadzenia badań potrzeb użytkowników?
Dzięki badaniom potrzeb użytkowników przede wszystkim lepiej poznajemy grupę odbiorców. Uzyskujemy informacje dotyczące tego, jaki produkt stworzyć, by w możliwie najlepszym stopniu odpowiadał potrzebom użytkowników. Dzięki wynikom badań możemy projektować i tworzyć opierając się na faktach, a nie na przekonaniach i odczuciach zespołu. Możemy uzyskać też lepsze informacje na temat prawdziwego kontekstu użycia produktu. Jedną z ważniejszych zasad projektowania, ale także i testowania jest pamiętanie o tym, że to nie my jesteśmy użytkownikiem końcowym i to nie nam ma się podobać tworzone rozwiązanie.
Na podstawie przeprowadzonych badań potrzeb tworzy się takie narzędzia jak: personę, mapę empatii oraz User Journey Map.
Persona
Persona w uproszczeniu to przedstawiciel grupy docelowej. Jest to postać fikcyjna, jednak stworzona na podstawie danych zebranych podczas badań. Persona przede wszystkim reprezentuje potrzeby grupy docelowej. Jest przedstawiana w sposób wiarygodny, aby ułatwiała zobrazowanie typowego użytkownika końcowego. Persona zawiera takie informacje jak: imię i nazwisko, wiek, zawód, krótką biografię oraz cechy charakterystyczne osoby. Częstą praktyką jest dodawanie zdjęcia, dzięki temu stworzona sylwetka użytkownika końcowego nabiera prawdziwie ludzkiego wyrazu. Dodatkowo persona może nam dostarczyć takich informacji jak: hobby, urządzenia z których najczęściej korzysta, ulubione aplikacje a także cele, marzenia, obawy i bolączki użytkownika.
Mapa empatii
Mapa empatii to narzędzie skupiające się na emocjach i odczuciach odbiorcy. Narzędzie to służy do uzupełnienia persony i jeszcze lepszego poznania odbiorcy tworzonego przez nas produktu.
Typowymi pytania, na które mapa empatii próbuje odpowiedzieć to:
- co myśli i czuje użytkownik?
- co użytkownik słyszy (np. od swojego otoczenia)?
- co użytkownik widzi (np. obserwacje otoczenia)?
- co użytkownik mówi i robi, jak reaguje?
- jakie są typowe bolączki, frustracje, a także obawy użytkownika?
- jakie są korzyści lub pragnienia i potrzeby użytkownika?
User Journey Map
User Journey Map, inaczej mapa podróży użytkownika to narzędzie, które pozwala nam lepiej poznać relację użytkownika z produktem. Dzięki mapie podróży użytkownika możemy dowiedzieć się, jak i kiedy użytkownik będzie korzystał z produktu, w jakich konkretnie sytuacjach będzie miało to miejsce, z jakich urządzeń korzysta w danych momentach oraz jakie towarzyszą mu przy tym emocje. Dodatkowo z map empatii możemy dowiedzieć się, jakie mogą być uproszczenia i usprawnienia dla użytkownika w kontekście jego problemów i frustracji.
Jak tester może skorzystać na wiedzy zdobytej podczas badań z użytkownikami?
Badania potrzeb użytkownika są przeprowadzane przeważnie przez wyszkolony zespół bądź jedną osobę z działu UX i są niezbędne do późniejszych faz projektowania. Choć w teorii od projektowania do testowania aplikacji przez testera jest jeszcze bardzo daleka droga, to jednak narzędzia, których używa zespół UX oraz wyniki ich badań mogą okazać się ważne i pomocne również dla testera oprogramowania.
Bardzo przydatne jest, aby tester dobrze znał grupę docelową i wiedział, kto dokładnie będzie korzystał z produktu, który właśnie jest tworzony. Mimo że przeważnie zdajemy sobie sprawę, w mniejszym lub większym stopniu, kto będzie odbiorcą produktu, to często jako testerzy niestety nie mamy okazji zobaczyć efektów pracy zespołu UX i poznać dogłębniej grupę docelową, jej przedstawiciela w postaci persony czy zapoznać się z mapą podróży użytkownika.
Często słyszy się, że tester powinien mieć zawsze na uwadze dobro użytkownika końcowego. Współpraca testerów oprogramowania z działem User Experience może pomóc zrozumieć potrzeby odbiorcy i zaowocować lepszym zaprojektowaniem produktu.
Czasami zespoły drukują postać persony i wieszają ją w łatwo dostępnym miejscu, aby każdy mógł w dowolnym momencie spojrzeć i przypomnieć sobie kto jest przedstawicielem grupy użytkownika docelowego i dla kogo tworzymy, jak i testujemy produkt. To pozwala nie tylko projektować, ale również i testować mając na uwadze dobro użytkownika i przypomina o tym, że to nie my jesteśmy odbiorcami i to nie nam powinno być prosto i przyjemnie korzystać z produktu a właśnie użytkownikowi.
Inne przydatne zagadnienia i zasady z obszaru projektowania doświadczeń użytkownika
Wiedza z obszaru User Experience jest przydatna szczególnie w przeprowadzaniu testów użyteczności. Mimo iż audyt UX czy badania użyteczności przeważnie przeprowadzane są właśnie przez zespoły UX, często testowanie użyteczności należy wyłącznie do zadań testerów. Szczególnie gdy na projekcie nie ma zespołu, który zajmuje się=badaniami a czasami zdarza się również, że na projekcie bądź w firmie nie ma w ogóle osoby odpowiedzialnej za projektowanie doświadczeń użytkownika.
Mając na uwadze personę, mapę empatii oraz mapę podróży użytkownika łatwiej jest przeprowadzić testy użyteczności produktu. Jeśli wiemy czego użytkownik oczekuje i co mogłoby mu pomóc w osiąganiu konkretnych celów, znacznie sprawniej dokonamy oceny użyteczności produktu. Warto też poznać podstawowe zasady projektowania, by wyłapać mało użyteczne elementy produktu zanim jeszcze trafi na produkcję.
Dział UX może pomóc nam również uzyskać informacje na temat tego, z jakich urządzeń korzystają użytkownicy w kontekście już działającej aplikacji. Możemy dowiedzieć się nie tylko jakie przeglądarki i systemy operacyjne są najbardziej popularne wśród naszych użytkowników, ale również możemy się zagłębić w poszczególne części aplikacji, żeby zobaczyć częstotliwość używania danej funkcji/modułu. Jest to przydatne w ocenie ryzyka i w podejmowaniu decyzji o priorytetyzacji naprawy błędów aplikacji.
Heurystyki Nielsena
W ocenie użyteczności pomagają dostępne w internecie listy kontrolne lub zasady użyteczności, zwane Heurystykami Nielsena. Jest to zbiór 10 zasad, które przyczyniają się do powstania bardziej intuicyjnego i łatwego w obsłudze produktu.
Dokładniej o testach użyteczności na podstawie Heurystyk Nielsena przeczytacie w moim poprzednim artykule, do którego link znajdziecie tutaj.
Wykorzystanie psychologii w zarządzaniu doświadczeniami użytkownika
Zgłębiając się w tajniki projektowania doświadczeń użytkownika, poznamy wiele ciekawych informacji o zachowaniach człowieka, ponieważ dziedzina ta jest ściśle powiązana z psychologią. Nasze wybory często nie są podejmowane w momencie decyzji a podyktowane wcześniejszymi upodobaniami czy przyzwyczajeniami, a nawet zdolnościami i po prostu ograniczeniami ludzkimi. Znajomość tych schematów również pozwala na lepsze zaprojektowanie, a także przetestowanie produktu. Jedną z moich ulubionych ciekawostek dotyczących zachowań ludzkich jest fakt, że człowiek naturalnie podąża za czyimś wzrokiem i odruchowo najpierw spojrzy w miejsce, do którego prowadzi wzrok drugiej osoby. Jeżeli chcemy więc nakierować użytkownika na konkretny napis czy przycisk, to lepiej sprawdzi się zdjęcie z osobą patrzącą w kierunku tego elementu niż patrzącą na wprost, na użytkownika.
Podsumowanie
Testowanie oprogramowania jest bardzo szeroką i wymagającą dziedziną, wręcz można by powiedzieć, że testowanie staje się coraz bardziej interdyscyplinarne. Przydaje się nie tylko umiejętność obsługi konkretnych narzędzi czy wiedza z programowania, ale również z innych pokrewnych obszarów. W skrócie: im tester posiada szerszy zakres wiedzy i umiejętności, tym lepiej.
Wiedza z obszaru User Experience jest na pewno przydatna w szeroko pojętym testowaniu użyteczności, ale również przy analizowaniu prototypów czy po prostu podczas codziennego testowania. Wiedza ta może być szczególnie użyteczna dla testerów, pracujących w zespołach, w których nie ma osoby odpowiedzialnej za projektowanie doświadczeń użytkownika. Wtedy tester jest niejako strażnikiem użyteczności i dzięki znajomości podstawowych zasad może z większym powodzeniem wychwycić błędy w obszarze użyteczności produktu lub stanowić solidne wsparcie w dyskusjach dotyczących rozwiązań projektowych.