Testowanie jest nieodzowną częścią podczas procesu wytwarzania każdego rodzaju oprogramowania i towarzyszy mu od samego początku, aż po wdrożenie projektu w życie.

Jest to przede wszystkim proces mający na celu ocenę jakościową projektu, odszukanie i opisanie zawartych w nim błędów oraz określenie czy dana aplikacja spełnia wymogi UX (User Experience) czyli całości wrażeń, jakich doświadcza użytkownik podczas korzystania z aplikacji.

Podstawowymi celami testowania są:

  • Ogólna ocena jakości projektu.
  • Wykrycie błędów i szczegółowe opisanie ich, tak aby programista mógł szybko i sprawnie naprawić daną usterkę.
  • Omawianie możliwości poprawy oprogramowania poprzez dodanie różnych usprawnień.

W dalszej części postaram się przybliżyć i krótko omówić przykładowy proces testowy aplikacji webowych, zachodzący w firmie Clickray.

„Przed wyruszeniem w drogę należy zebrać drużynę.”

Zanim rozpoczniemy jakiekolwiek testy, kluczowym jest aby zebrać jak największą ilość danych związanych z testowanym projektem. W dalszym procesie ułatwi nam to przeprowadzenie testów i utrzyma ich jakość na odpowiednim poziomie. Oczywiście następnie należy szczegółowo zapoznać się z nimi.

Do takich danych należą:

  • Specyfikacja techniczna aplikacji/modułów.
  • Projekt stworzony przez grafika – wersja desktopowa/mobilna
  • Dodatkowe wymagania klienta.
  • Ustalenie jakimi materiałami w czasie wytwarzania aplikacji dysponowali deweloperzy t.j. kontent, grafiki/zdjęcia/filmy, które mają znaleźć się w aplikacji oraz linki zewnętrzne np: do portali społecznościowych, blogów, innych stron www.

Pamiętajmy, że po każdym kroku testowym i poprawieniu błędów przez dewelopera zmuszeni jesteśmy wykonać re-testy w celu sprawdzenia czy usterka rzeczywiście została usunięta oraz testy regresyjne w celu sprawdzenia czy nie spowodowało to powstania nowego błędu. Wszystko odbywa się w ścisłym porozumieniu z programistami. Narzędziem dzięki któremu proces ten odbywa się sprawnie i szybko w naszym przypadku jest Basecamp – służy on gównie do zarządzania projektami.

basecamp zrzut ekranu

basecamp zrzut ekranu

Rozpoczęcie procesu testowego.

Krok #1

Kiedy dana aplikacja webowa jest „gotowa”, wtedy rozpoczynamy proces testowy. Oczywiście zdarzają się sytuacje kiedy testy należy rozpocząć wcześniej np: w przypadku kiedy przed dodaniem danego modułu chcemy sprawdzić jego działanie – nazywamy to wówczas testami modułowymi (unit tests). Jednak w tym konkretnym przypadku zastosujemy testy akceptacyjne, czyli testy, których celem nie jest wykrycie błędów, a jedynie uzyskanie formalnego potwierdzenia wykonania oprogramowania o odpowiedniej jakości.

Mówiąc wprost: sprawdzamy czy dana strona zgadza się z projektem, założeniami, zawiera wszystkie elementy (jak np: poprawnie uzupełniony kontent) i wygląda dokładnie tak jak chce tego klient.

Krok #2

Następnym krokiem jest sprawdzenie jak strona działa na różnych systemach i przeglądarkach internetowych. Jeżeli wcześniej zostało to określone w specyfikacji technicznej, testy te mogą trwać krócej – jeżeli nie to wykonujemy testy na najbardziej popularnych systemach i przeglądarkach internetowych.

Dla systemu Windows (10, 8.1, 8, 7, Vista, XP) są to odpowiednio:

  • Internet Explorer
  • Edge
  • Firefox
  • Opera
  • Chrome

Dla systemów MacOS (Sierra, El Capitan):

  • Safari
  • Chrome
  • Firefox
  • Opera

Potrzeba wykonywania powyższych testów bierze się z tego, że każda przeglądarka czy system operacyjny „rządzi się własnymi prawami” – moduły aplikacji webowej pisanej pod przeglądarkę Chrom dla systemu macOS w większości przypadków nie będą poprawnie działać na przeglądarce Internet Explorer dla systemu Windows.

Krok #3

Kiedy błędy znalezione w poprzednim kroku zostaną naprawione możemy przystąpić do testów responsywności. Na czym to polega? Najprościej rzecz ujmując – na sprawdzeniu czy strona wyświetla się odpowiednio na różnych rozdzielczościach, a jej elementy znajdują się w odpowiednich miejscach nie utrudniając użytkownikowi korzystania z aplikacji. Najprostszym narzędziem do wykonywania tego typu testów (bez konieczności używania sporej ilości sprzętu) jest wbudowane w przeglądarkę (w tym przypadku Chrome) standardowe narzędzie testowe.

Krok ten jest kluczowy w procesie testowym, gdyż wyeliminuje on część błędów, które z pewnością pojawią się w następnej fazie testów.

Przebieg procesu testowego aplikacji webowych

Przebieg procesu testowego aplikacji webowych

Krok #4

Tutaj czekają nas kolejne testy akceptacyjne – tym razem dla wersji mobilnej. Jeżeli oczywiście klient/grafik dostarczył wcześniej stworzony layout dla widoku mobilnego testowanej przez nas aplikacji. Jeżeli nie – musimy działać na własną rękę w porozumieniu z klientem i jego opinią.

Krok #5

Testy aplikacji na urządzeniach mobilnych.

Jak wiemy, w dzisiejszych czasach na rynku telekomunikacyjnym mamy do czynienia z ogromną ilością sprzętu i systemów mobilnych. Tablety, smartfony, urządzenia Apple – iPady, iPhony i wszelkiego rodzaju smart watch’e czy swego czasu popularne phablety. Każde z tych urządzeń posiada swój własny system operacyjny na który napisano osobne wersje przeglądarek internetowych. Celem tego testu będzie sprawdzenie zgodności aplikacji webowej z danym systemem, przeglądarką i rozdzielczością wyświetlacza (testy responsywności).

Niezastąpionym narzędziem w tych testach z pewnością jest BrowserStack, który pozwala na zdalne połączenie się z wybranym urządzeniem mobilnym.

Przebieg procesu testowego aplikacji webowych 2

Przebieg procesu testowego aplikacji webowych 2

Dzięki temu mamy możliwość sprawdzenia naszej aplikacji na obecnych oraz starszych wersjach systemów mobilnych takich jak iOS, Android czy Windows Phone. Jednak jak to w życiu bywa, nic nie jest doskonałe i testy przy użyciu BrowserStacka muszą być podparte również testami na urządzeniach fizycznych ponieważ możemy w nie bardziej ingerować, sprawdzać dostępność najnowszej wersji oprogramowania czy przeglądarki zainstalowanej na danym urządzeniu i w każdej chwili uaktualnić ją do najnowszej wersji. Dodatkowo fizycznie możemy sprawdzić jak aplikacja zachowuje się pracując na ekranie dotykowym.

Krok #6

Kolejnym krokiem są testy mające na celu sprawdzenie czy poszczególne fragmenty aplikacji webowej zostały połączone ze sobą w odpowiedni sposób. Przykładowo: czy jeżeli klikniemy w odpowiedni przycisk to dane działanie będzie takie jakie wymaga tego specyfikacja techniczna. Sprawdzamy w ten sposób czy strona nie zawiera pustych linków, czy wszystkie inne są prawidłowe, czy zgadzają się z sitemapą i strukturą strony. Testy te możemy wykonać manualnie albo automatycznie.

Ważnym elementem są również formularze i ich działanie – należy sprawdzić czy dany formularz działa zgodnie z wcześniej wymienionymi założeniami i czy zawiera wszystkie niezbędne elementy.

Krok #7 

W tym kroku sprawdzamy gównie aspekty związane z SEO i optymalizacją strony. Ponieważ nasza aplikacja zbliża się do upragnionego releasu, musimy upewnić się, że po wdrożeniu nie wystąpią żadne błędy związane z tym aspektem. Istnieje wiele narzędzi do tego typu testów. Przykładowymi stronami do tego typu zabiegów są: www.seorch.eu oraz www.website.grader.com które większość pracy wykonają za nas.

Aplikacje te wskażą nam elementy, które wymagają poprawy, takie jak ilość H1 na stronie czy ilość znaków w meta description, jednak to do nas należy ocena, które z tych rzeczy wymagają poprawy.

Przebieg procesu testowego aplikacji webowych 3

Przebieg procesu testowego aplikacji webowych 3

Krok #8 

Kolejne re-testy, które są ostatnim sprawdzianem przed wdrożeniem projektu w życie. Pomocne w tym przypadku będą spisywane wcześniej (podczas całego procesu testowania) test case’y – zwane przypadkami testowymi. Testy te pomogą nam dokładnie sprawdzić czy wszystko działa tak jak powinno.

Krok #9 – ostatni 

Opisany tutaj krok jest zależny od projektu/klienta oraz możliwości. Jest to final-test strony, która jest już dostępna w Internecie i z której mogą już korzystać inni użytkownicy. Testy te głównie mają na celu sprawdzenie ogólnego działania strony w sieci.

„Testowanie to praca żmudna, momentami monotonna (w zależności od projektu), irytująca ze względu na powtarzający się schemat, ale dającą ogromny pożytek – przede wszystkim oszczędza cenny czas programisty, a po dokładnym przetestowaniu klient otrzymuje kompletny, w pełni funkcjonalny produkt”.

33
  •  
    24
    Shares
  • 24
  •  
  •  
  •