Jak testować serwisy i aplikacje internetowe? > Blog Intellect
Wciśnij enter, aby wyszukać
Blog Intellect / Technologie  / Jak testować serwisy i aplikacje internetowe?

Jak testować serwisy i aplikacje internetowe?

Jeśli chcecie zadbać o jakość realizowanych dla was rozwiązań internetowych – wszelkich serwisów WWW, e-sklepów czy innych aplikacji webowych – poza troską o unikalny design i nowoczesne technologie, warto również zwrócić uwagę na etap testowania zrealizowanego dla was projektu. Swoją agencję lub software house pytajcie więc, jak testuje swoje produkty i spodziewajcie się od nich konkretnych odpowiedzi. Dziś podpowiadamy, na co zwrócić uwagę na tym etapie prac nad projektem internetowym, aby finalnie cieszyć się najlepszą możliwą jakością oraz uniknąć kosztownych błędów.

1-27462-64088

2-27462-64088

Testowanie wszelkiej maści oprogramowania oraz aplikacji internetowych jest bardzo istotnym etapem prac nad projektem, który decyduje o sukcesie całego przedsięwzięcia. Celem testowania jest weryfikacja jakości wykonanej pracy i wskazanie ewentualnych obszarów do poprawy. Gotowy produkt, działający w środowisku produkcyjnym, a więc dostępny publicznie dla użytkownika końcowego, musi działać perfekcyjnie – w przeciwnym wypadku stracimy klientów i narazimy się na odpływ klientów. Dlatego w kosztorysach projektów digitalowych w profesjonalnych agencjach czy software house’ach etap testowania jest zawsze dodatkowo wyceniany i realizowany przez profesjonalny zespół, który – korzystając z odpowiedniego know-how, narzędzi oraz metodologii – wykonuje określony testy oprogramowania w końcowej fazie prac nad produktem lub też w trakcie prac nad jego poszczególnymi częściami. „Wypuszczenie” na rynek nieprzetestowanego rozwiązania jest więc niedopuszczalne, tym bardziej, że nawet najlepsza dokumentacja projektowa i precyzyjna specyfikacja, nie uchronią nas przed bugami, brakami czy niedociągnięciami o różnym charakterze – soft tworzą przecież ludzie, których prace zawsze trzeba kontrolować i weryfikować. Dlatego też testowanie jest etapem obligatoryjnym, na który trzeba poświecić odpowiednio dużo czasu, który w zależności od skali i zakresu projektu, mogę trwać kilka dni lub tygodni.

3-27462-64088

W zależności od charakteru i celów naszego projektu webowego testowanie powinno skupiać się na jego różnych aspektach, niemniej jednak do najważniejszych rodzajów testów oprogramowania należą:

• Testy w zakresie UI/UX – ten rodzaj testów pozwala zbadać ergonomię i przejrzystość wypracowanego interfejsu oraz wprowadzić odpowiednie modyfikacje, które poprawią użyteczność i konwersję serwisu czy sklepu internetowego. Idealnie jest wykonywać takie testy na samym początku prac koncepcyjnych (na poziomie stworzonego prototypu / makiet funkcjonalnych), a także na samym końcu – na docelowym użytkowniku naszego rozwiązania.

• Testy funkcjonalne – czynności sprawdzające, czy oprogramowanie działa prawidłowo i zgodnie ze specyfikacją. W praktyce tester „przeklikiwuje” się przez kolejne funkcjonalności aplikacji i bada, czy spełnia ona pierwotne założenia i cele oraz czy działa, jak należy. Złożone aplikacje webowe oraz działanie ich kluczowych modułów można także testować w sposób automatyczny – tutaj jednak w grę wchodzą dodatkowe koszty związane z pisaniem i implementacją tego typu narzędzi.

• Testy bezpieczeństwa – istotne są zwłaszcza w projektach, w których przetwarzane są dane osobowe oraz procesowane są zamówienia czy też realizowane płatności online. W ramach tego typu testów sprawdzana jest odporność aplikacji na najpopularniejsze ataki i wirusy internetowe (np. SQL injection – wstrzykiwanie dowolnego kodu do bazy danych przez nieprawidłowo zakodowane formularze HTML).

• Testy integracyjne – jeśli nasz produkt ma komunikować się z zewnętrznymi systemami czy usługami w celu wymiany danych, testy integracyjne są bardzo istotne, bowiem wszelkie integracje z różnymi web services często narażone są na wiele błędów i problemów w zakresie synchronizacji danych między systemami. Tego typu testy powinny być więc realizowane cyklicznie, aby być pewnym ciągłości integracji naszego produktu z zewnętrznym oprogramowaniem.

• Testy obciążeniowe – jeśli nasz produkt przewidziany jest na obsługę dużego ruchu użytkowników (np. sklep internetowy, portal ogłoszeniowo-informacyjny, usługi typu SaaS) warto szczegółowo zbadać wydajność naszej aplikacji. Tego typu testy wykonywane są automatycznie – istnieją różne narzędzia, które symulują określony ruch użytkowników w naszym rozwiązaniu i weryfikuję jego działania w sytuacjach wzmożonego ruchu jednoczesnych użytkowników.

4-27462-64088

Wybierając firmę wdrożeniową, która będzie realizować nasz produkt warto, jest zbadać, w jaki sposób i w jakim zakresie będzie testowany projekt, a następnie należy podsumować ustalone warunki i zapisać je umowie o współpracy. Po wykonanym przez firmę zewnętrzną testowaniu warto jest poddać przygotowane i sprawdzone rozwiązanie kolejnym testom – realizowanym już przez zespół Product Ownera odpowiedzialnego za stronę biznesową produktu ewentualnie wykonać dodatkowy audyt rozwiązania przez firmy specjalizujące się w testowaniu. Na te potrzeby jest wykorzystać odpowiedni system do zarządzania zgłoszeniami błędów (np. Redmine, Jira, Mantis, Bugzilla) – w projekcie o dużym zakresie, który trwa wiele miesięcy, komunikacja via e-mail po prostu zawodzi. Na sam koniec trzeba z kolei pamiętać o tzw. testach regresyjnych. Ich celem jest weryfikacja, czy nasza aplikacja bądź serwis WWW, działają poprawnie po dokonaniu modyfikacji czy poprawieniu błędu – zdarza się, że wskazany pierwotnie bug został wyeliminowany, ale wprowadzona do systemu zmiana wygenerowała inny błąd, bo wpłynęła na pozostałe funkcjonalności.

Najlepszymi testerami są jednak końcowi użytkownicy i to ich feedback na temat działania naszego produktu jest najcenniejszy, bo zgodny z realnymi oczekiwaniami. Warto więc być otwartym na tego typu zgłoszenia finalnych odbiorców i zachęcać ich do współpracy nad rozwojem i ulepszaniem projektu.

Sławomir Turkiewicz

Client Service Director


2 komentarze
  • Odpowiedz 9 kwietnia 2020 12:11

    Ten obszar wiedzy jest bardzo interesujący i trudny do pojęcia, a co będzie za kilka lat? tego niestety nikt nie będzie wiedział. Co nowego zostanie wynalezione i w jaka stronę pójdzie ML? Czy SI nas przerośnie??:)

  • Odpowiedz 9 kwietnia 2020 12:12

    Ten obszar wiedzy jest bardzo interesujący i trudny do pojęcia, a co będzie za kilka lat? tego niestety nikt nie będzie wiedział. Co nowego zostanie wynalezione i w jaka stronę pójdzie ML? Czy SI nas przerośnie??:)

Napisz komentarz