Q-Patterns – czyli testowanie dedykowanych systemów e-commerce

Osoby z branży IT pewnie doskonale wiedzą, po co są prowadzone testy funkcjonalne, jakie są ich rodzaje, jak wygląda książkowo zaprojektowany proces, ale czy tak naprawdę zawsze czujemy przełożenie czasu poświęconego na testy na jakość systemu?

Co to są Q-Patterns

Q-Patterns, a właściwie Questioning Patterns, to zbiór (spis) powiązanych ze sobą pytań, które zostały odpowiednio pogrupowane i posegregowane względem kontekstów, które najczęściej kojarzone są z konkretnymi elementami systemów informatycznych i ich zastosowań. Te zestawy pytań, składających się na tzw. „wzorce”, mają za zadanie wspomagać pracę testerów.

Wzorzec opisuje najczęściej powtarzające się struktury powiązań elementów, które rozwiązują problem w określonym kontekście. Odpowiada poszczególnym działaniom na systemie, spodziewanym efektom tych działań, możliwym błędom itd. Nie myślcie proszę, że jest to gotowe do zaimplementowania rozwiązanie, które pozwoli wskazać każde możliwe miejsce powstania błędu w systemie – jest to bardziej meta-narzędzie wspomagające pracę testera, służące zarazem do gromadzenia wiedzy pozwalającej na ciągłą poprawę jakości procesu testowania.

I co dalej ?

Możliwe, że w tym momencie powiecie: „to po co komu takie ogólniki?” – i słusznie, skoro Questioning Patterns to zestawy pytań i podpowiedzi.

Otóż, Q-Patterns, to nie są zwykłe ogólniki, czy też same łatwe pytania lub podpowiedzi. Questioning Patterns to otwarte, a zarazem zdefiniowane zestawy pytań, które wymagają dobrego zrozumienia kontekstu wykonanych mechanizmów, a tym samym bardzo dobrej znajomości wymagań i założeń biznesowych typowych dla aplikacji e-commerce. Osoby odpowiedzialne za tworzenie i rozwijanie narzędzia, jakim są wzorce testów, powinny posiadać duże doświadczenie w tej dziedzinie.

Wzorce tworzone są na podstawie codziennych doświadczeń, dzięki czemu w pierwszej fazie rozwoju narzędzia, tworząc pytania bazowe, łatwiej przychodzą na myśl kolejne pytania pomocnicze dla danego obszaru. W ten sposób, krok to kroku, budujemy całe zbiory Q-Patterns.

Tworząc wzorce, wspieramy też szybsze tworzenie scenariuszy testowych. Dzięki temu potrafimy precyzyjnie zadać pytania dotyczące kluczowych aspektów działania wykonanych mechanizmów (np. koszyk), pozwalające na wykonanie kompleksowego testu, który nie tylko wychwyci ewentualne wady w działaniu, ale także zwróci uwagę na pominięcie pewnych dobrych praktyk.

Jak to wygląda w naszej praktyce – czyli diabeł tkwi w szczegółach

iStock_000000345491Small

Słyszałem opinię: „samo w sobie jest to dość proste” – koncepcyjnie może i tak, ale czy na pewno? Choć to, co wyżej już opisałem wygląda na „szybką piłkę” i można odnieść wrażenie, że wystarczy „burza mózgów” i już gotowe… otóż jest to tylko złudzenie. Wytworzenie całych zbiorów wzorców testów jest procesem bardzo czasochłonnym. Tego nie da zrobić się w 5 minut pomimo, iż samo wytworzenie pojedynczego wzorca wygląda dość prosto.

Umiejętność zadawania właściwych pytań znacznie przyspiesza i upraszcza nam proces testowania systemu e-commerce, począwszy od etapu analizowania dokumentacji projektowej pod kątem wykonania testów przez stworzenie scenariuszy testowych, aż do finalnych testów akceptacyjnych.

Dla przykładu, prezentuję przygotowany wzorzec bazowy służący do „Obsługi filtra”, którego intencją jest: „Opisanie obsługi filtra w wyszukiwarce produktów w sklepie internetowym”.

Pytania wzorcowe:

I. Zarządzanie/administracja

  1. W której części strony internetowej znajduje się filtr wyszukujący?
  2. Czy można zmienić układ pól w filtrze? Kto ma uprawnienia do tej operacji?
  3. Z jakich części składa się filtr? Czy jest podzielony na konkretne sekcje? Ile pól zawiera?
  4. Czy jest możliwość utworzenia/zmodyfikowania/usunięcia pola filtru? W jaki sposób? Kto ma uprawnienia do tych operacji?
  5. Jaka jest nazwa filtra? Czy można ją zmienić? Kto może ją zmienić? W jaki sposób?

II. Zastosowanie

  1. Czy widzimy wszystkie pola, jakie zawiera filtr? Czy można rozwinąć/zwinąć filtr?
  2. W jakiej części filtra znajduje się przycisk potwierdzający wyszukiwanie? Czy jest on wystarczająco widoczny?
  3. Jaka jest nazwa przycisku potwierdzającego wyszukiwanie? Czy można ją zmienić? Kto ma uprawnienia do tej operacji?
  4. Czy po ustawieniu odpowiednio filtra przycisk „Enter” na klawiaturze jest równoznaczny z przyciskiem potwierdzającym wyszukiwanie na stronie?

III. Interfejs użytkownika

  1. Czy filtr jest wystarczająco widoczny na stronie? Jakim kolorem jest on wyróżniony? Czy możemy go nie zauważyć przeglądając serwis?
  2. Czy można zmienić umiejscowienie filtra na stronie? Kto ma uprawnienia do tej operacji?
  3. Czy jest możliwość przejścia na inne pole za pomocą klawisza Tab?
  4. Czy wszystkie pola filtru są wymagane do uzupełnienia? Jeżeli nie to, które nie a które są wymagane?
  5. W jaki sposób są odróżnione wymagane pola?
  6. Jeżeli nie uzupełnimy wymaganego pola to czy pojawi się stosowny komunikat uwzględniający przyczynę błędu?
  7. Jeżeli źle uzupełnimy pole to czy pojawi się stosowny komunikat informujący, co jest przyczyną błędu?
  8. Czy istnieje lista zawierająca ostatnio wyszukiwane elementy?
  9. W jakim miejscu jest ona umiejscowiona? Czy jest widoczna? Czy jest wyróżniona w jakiś szczególny sposób np. poprzez kolor?
  10. Jaka jest kolejność elementów na tej liście? Co o tym decyduje?
  11. „Ostatnio wyszukane”, czyli jakie? Jaki czas jest brany pod uwagę?
  12. Czy pozycje na liście ostatnio wyszukanych elementów, zawierają linki umożliwiające powrót do listy wyszukanych wcześniej produktów?

Słowo podsumowania

Jak widzimy, wytworzenie pojedynczego wzorca Q-Patterns nie jest być może zbyt skomplikowane, ale już zbudowanie całej biblioteki wzorców jest czasochłonne. W naszej firmie posiadamy już dość bogatą bibliotekę wzorców Q-Patterns (kilkadziesiąt), stosowanych przy wdrożeniach e-commerce. Wzorce ulegają ciągłym aktualizacjom pod kątem indywidualnych wymagań i założeń biznesowych dla każdego projektu osobno. Mogę jednak potwierdzić, że od momentu, gdy zadecydowaliśmy się na wdrożenie tego narzędzia w naszej codziennej pracy (2009 rok), jakość pracy naszych testerów znacząco wzrosła.

Mam nadzieję, że poruszony przeze mnie temat to nie tylko ciekawostka, ale pokazuje, jakie korzyści może przynieść gromadzenie wiedzy i stosowanie innowacyjnych rozwiązań w codziennej pracy testera.

Liczę na Wasze pytania lub refleksje nt. pracy z narzędziem, które opisałem.

Autor tekstu: Rafał Rękosiewicz

Tagi: , ,

O Autorze

Redakcja

Back to Top