Testy funkcjonalne nowego systemu sprzedaży PKP Intercity
PKP Intercity 11 października 2023 roku udostępniło użytkownikom nową wersję (0.1.51) systemu sprzedaży biletów. Z racji, iż jest to wersja pilotażowa, postanowiliśmy przyjrzeć się bliżej funkcjonalnościom aplikacji zaimplementowanej przez jednego z największych przewoźników w kraju.
Wchodząc na oficjalną stronę PKP Intercity www.intercity.pl możemy zauważyć znajdujący się nad wyszukiwarką połączeń niebieski przycisk zachęcający do wypróbowania nowej wersji systemu sprzedaży. Obok niego znajduje się pomarańczowy przycisk, za pomocą którego możemy rozwinąć informację od przewoźnika na temat zakresu usług jakie są obsługiwane przez nowy system.
Klikając na niebieski przycisk przenosimy się na stronę https://ebilet.intercity.pl/, gdzie możemy zakupić bilet korzystając z nowego systemu sprzedaży biletów kolejowych. W momencie pisania tego artykułu działają zatem dwa równoległe systemy sprzedaży.
Plan testów nowej platformy sprzedaży biletów
Testy były prowadzone w metodyce agile – SCRUM. Sprint miał jasno zdefiniowany cel, jakim była analiza poprawności działania funkcjonalności zaimplementowanych w nowym systemie sprzedaży. Nasz Zespół składał się z trójki testerów.
Wykonywanie testów przez zespół testerów Soflab
Każdy tester indywidualnie wykonał:
- analizę testowalności produktu
- identyfikację ryzyka
- szkic zakresu testów.
Później omówiliśmy wspólnie nasze spostrzeżenia, warunki testowe oraz dokonaliśmy analizy ryzyka.
Wyodrębniliśmy dwa główne procesy biznesowe (które stanowiły nasze elementy testowe): kupno biletu kolejowego oraz zarządzanie kontem użytkownika z poziomu nowego systemu.
Z informacji udostępnionych publicznie przez PKP Intercity wynika, że wiele funkcjonalności nie zostało jeszcze zaimplementowanych w systemie – jest on obecnie dostępny w wersji pilotażowej. Funkcje wyłączone z planu testów:
– wyszukiwanie tras międzynarodowych
– wyszukiwanie tras z dwoma i trzema przesiadkami
– rezerwacja i kupno biletów okresowych
– rezerwacja i kupno biletów Interrail
– rezerwacja i kupno biletów przesiadkowych z transferem (ze zmianą stacji w obrębie jednej aglomeracji).
Biorąc pod uwagę funkcje dostępne w systemie sprzedaży, projektowanie testów oparliśmy na opracowaniu kilku przypadków end-to-end pokrywających cały proces zakupu biletu przez użytkownika – zaczynając od strony głównej, a kończąc na otrzymaniu gotowego dokumentu uprawniającego do odbycia przejazdu, jakim jest bilet.
Dodatkowe testy, dotyczące pojedynczych funkcji i relacji między nimi, postanowiliśmy przeprowadzić w formie testów eksploracyjnych – dzieląc system na pojedyncze testowalne ekrany.
Projektowanie testów i opracowane przypadki testowe
Podstawą testów były opracowane przypadki testowe end-to-end, które koncentrowały się na pokryciu jak największej liczby funkcjonalności wpływających na zmianę ceny biletu oraz funkcjonalnościach powiązanych z procesem zakupu. Plan testów uwzględnił krótką trasę przejazdu, na której sprawdzone zostały między innymi takie funkcjonalności jak:
- wybór trasy bezpośredniej
- wybór trasy z przesiadką
- trasa z biletem powrotnym
- bilet z różną liczbą podróżnych włączając w to dorosłych i dzieci.
Ponadto jednym z przypadków testowych był wybór różnych ofert PKP Intercity, różne rodzaje ulg przysługujących pasażerom, kupno biletu z odroczoną płatnością, wymiana biletu czy kupno biletu poniżej czasu pięciu minut przed odjazdem wybranego pociągu.
W trakcie testów end-to-end procesu zakupowego biletów największe problemy napotkaliśmy w obszarach kombinacji wyboru miejsca dla pasażera czy też braku możliwości zakupu dodatkowego biletu na rower w dedykowanych temu połączeniach.
Testy eksploracyjne w celu ustalenia liczby funkcjonalności
Przeprowadzone testy eksploracyjne koncentrowały się na sprawdzeniu możliwie największej liczby funkcjonalności nowego systemu sprzedaży. Celem testów było sprawdzenie m.in. czytelnego wyświetlania tekstu po zmianie wielkości czcionki na stronie i problemu z edycją ulg w sekcji lista połączeń. Ponadto proces testowania wykazał niepoprawne sortowanie zakupionych biletów, problemy z wyszukaniem połączeń po zmianie kierunku trasy i edycji stacji docelowej czy brak możliwości usuwania oraz filtrowania dodanych profili zakupowych.
Testy funkcjonalne i raportowanie błędów
Podczas testów, zespół testerski na bieżąco zgłaszał znalezione błędy. Błędy były raportowane w narzędziu, które jest wykorzystywane do monitorowania projektów i śledzenia defektów jakim jest JIRA. Równolegle każdy błąd był także zgłaszany bezpośrednio do PKP Intercity za pomocą dostępnego na stronie przewoźnika formularza kontaktowego: https://www.intercity.pl/pl/site/dla-pasazera/obsluga-klientow/kontakt/
Testy strony głównej
W trakcie testów strony głównej systemu sprzedaży – ekranu Kup bilet, podczas skalowania czcionki występuje problem z doborem wielkości pola “Kiedy” względem powiększonej czcionki. Błąd występuje w przypadku dwóch z trzech wielkości fontu – średniej i dużej. Po zwiększeniu czcionki, litery i cyfry z wybranej przez użytkownika daty nachodzą na granice pola “Kiedy” oraz zlewają się z jego opisem.
Testy sekcji Kup bilet
Podczas testów sekcji Kup bilet znalezione zostały dwa błędy związane z przyciskiem zmiany kierunku trasy. W przypadku wyszukiwania biletów z zaznaczoną opcją “W dwie strony”, zmiana kierunku trasy w sekcji „Połączenie z powrotem” nie wpływa na zmianę kierunku trasy w sekcji „Połączenie tam”. Inaczej jest w przypadku zmiany kierunku trasy w sekcji „Połączenie tam”, która oddziałuje również na sekcję „Połączenie z powrotem”.
W drugim wspomnianym przypadku wybranie jedynie stacji początkowej z rozwijanej listy oraz kliknięcie przycisku zmiany kierunku trasy, a następnie anulowanie uzupełnionej w ten sposób stacji końcowej, uniemożliwia wyszukanie połączenia za pomocą wyboru jednej z przykładowych stacji końcowych.
Testowanie ekranu Listy połączeń i Twoja podróż
Na ekranie Listy połączeń występują problemy dotyczące edycji ulg. W przypadku braku możliwości kupienia biletu na przejazd 1 klasą przez przysługującą użytkownikowi ulgę, istnieje możliwość edycji wybranej ulgi. System pokazuje wtedy następującą informację (w przypadku ulgi dla studenta): „Ulga Studenci do 26 lat / doktoranci do 35 lat nie przysługuje na przejazd w klasie 1 pociągu kategorii EIP. Jeśli posiadasz inną ulgę lub zdecydujesz się kupić bilet bez ulgi, zmień zamówienie”. Jednak przy próbie edycji ulgi (w tym przypadku na bilet normalny) pomimo przyciśnięcia przycisku Potwierdź ulgi, rodzaj ulgi nie zmienia się.
Największa ilość usterek systemu została znaleziona na ekranie Twoja podróż. Problematyczną opcją był wybór miejsca dla osoby na wózku, ponieważ system usuwa wcześniej zapisaną edycję miejsca innego pasażera.
Zgłoszony został również błąd dotyczący braku możliwości bezpośredniego doliczenia opłat za rower (w polu wyboru dostępne są tylko opcje Pies i Bagaż). Po wyborze miejsca z rowerem w panelu wyboru miejsc otrzymujemy informację o naliczeniu opłaty za rower, jednak w dalszym ciągu nie jest ona widoczna w panelu Rower/Pies/Bagaż.
Kolejne zgłoszenie dotyczące rowerów odnosi się do przypadku wyszukania połączenia wskazującego na dostępność miejsc z rowerem – tutaj odnotowaliśmy brak opcji wyboru roweru w sekcji bilety dodatkowe.
Został wykryty także błąd na ekranie Twoja podróż, który obejmował wybór miejsca w pociągu.
Problem dotyczył bezczynności systemu w podsekcji “preferencje dotyczące wyboru miejsca” w momencie wyboru miejsca obok miejsca już zajętego. Po wpisaniu miejsca, obok którego chcemy finalnie kupić bilet i zapisaniu naszego wyboru, system nie reaguje i nie pojawia się żaden komunikat.
Proces testowania ekranu Moje konto
Ostatnie trzy znalezione błędy dotyczyły ekranu Moje konto. Pierwszy z nich dotyczył niepoprawnego filtrowania (które naprawdę było sortowaniem) biletów w zakładce Moje bilety przy użyciu filtrów „Od najwyższej kwoty” i „Od najniższej kwoty”. Po ich użyciu bilety układały się w losowej kolejności.
Dwa kolejne zgłoszenia dotyczyły sekcji Moje profile zakupowe. Zauważono, że opcja usunięcia utworzonego profilu zakupowego nie przynosi efektu, a przycisk ich filtrowania jest nieresponsywny.
Testy aplikacji mobilnej PKP Intercity „Kupuj bilety”
W następnej kolejności wykonaliśmy testy aplikacji mobilnej PKP Intercity „Kupuj bilety” na dwóch urządzeniach o różnych systemach operacyjnych:
- iPhone X z systemem operacyjnym iOS (wersja 16.7.1)
- Redmi Note 9 Pro z systemem operacyjnym Android (wersja RKQ1.200826.002, MIUI Global 12.5.6).
Procesy biznesowe zakupu biletu kolejowego i zarządzanie kontem użytkownika są identyczne w wersji desktopowej i mobilnej aplikacji „Kupuj bilety”. Dzięki temu wykorzystaliśmy wcześniej napisane scenariusze testów end-to-end dodając kilka nowych scenariuszy oraz przeprowadziliśmy sesje testów eksploracyjnych.
Nowe przypadki dotyczące procesu zakupu biletu wiązały się z funkcjonalnościami, które nie były dostępne we wcześniej testowanym systemie sprzedaży biletów PKP Intercity, lub wynikały z specyfiki urządzeń mobilnych. Dotyczyły kupna biletu z ofertą mWars (zamawianie posiłków w trakcie podróży), kupna biletu z przerwanym połączeniem sieciowym czy kupna biletu z ofertą Promobilet.
Przeprowadzone testy E2E aplikacji mobilnej dla systemów iOS oraz Android nie wykryły żadnych krytycznych defektów, natomiast testy eksploracyjne zidentyfikowały błędy, które zgłosiliśmy również przez formularz kontaktowy dostępny na stronie dostawcy.
Testy eksploracyjne wskazały na błędy w funkcjonalnościach dostępnych w sekcji Promobilet wybranego połączenia oraz przy zmianie wersji językowej aplikacji. Jeden z błędów pojawił się po wyszukaniu w sekcji Promobilet wybranego połączenia. Poniższa sekwencja doprowadziła do błędu:
- przejście do listy wyszukanych połączeń
- wejście w tryb edytowania filtrów
- odznaczenia klasy oraz dwóch kategorii pociągu.
Przy opcjach filtrowania pojawiała się nieprawidłowa liczba parametrów, według których zawężaliśmy wybór.
Kolejny błąd znaleziony w sekcji Promobilet związany był ze znajdowaniem najbliższej stacji za pomocą lokalizacji urządzenia. Kliknięcie opcji „znajdź najbliższą stację” w wyszukiwarce połączeń powoduje problem z pobieraniem lokalizacji w polach „jadę z” oraz „jadę do”.
W sekcji Promobilet problematyczne okazały się również opcje wyboru klasy oraz kategorii pociągu. Po odznaczeniu wszystkich checkboxów dotyczących wyboru kategorii pociągu, system zaznaczał je automatycznie na nowo, nie pozostawiając użytkownikowi możliwości samodzielnego wyboru.
Ostatni błąd znaleziony w sekcji Promobilet dotyczył filtrowania znalezionych połączeń za pomocą ustalenia ceny maksymalnej. Gdy w polu Cena maks. wpiszemy duża liczbę ujemną, ekran filtrów staje się szary, uniemożliwiając tym samym wybór jakiegokolwiek filtrowania wyników.
Błąd zmiany nazwy biletu
Aplikacja daje także możliwość zmiany nazwy zakupionego biletu, jednak w trakcie próby wprowadzenia nowej nazwy pojawia się błąd. Użytkownik nie jest ograniczany ilością znaków w polu na nazwę biletu, jednak kiedy wprowadza dłuższą nazwę, przycisk akceptacji przesuwa się w prawo wraz z nazwą, następnie wychodzi poza ekran i uniemożliwia zaakceptowanie nowej nazwy biletu.
Błąd dotyczący dodawania biletu do kalendarza
Użyteczną opcją w aplikacji jest możliwość dodawania biletu do kalendarza. Po wypróbowaniu tej opcji otrzymujemy informację, że bilet został dodany do kalendarza. Weryfikacja kalendarza Google pokazuje jednak, że nadchodzący przejazd nie został zapisany w kalendarzu. Z informacji, które uzyskaliśmy od PKP Intercity wynika, że może to być odosobniony błąd spowodowany modelem urządzenia.
Zauważone zostały liczne niedociągnięcia w tłumaczeniach ujawniające się po zmianie języka aplikacji. Braki w tłumaczeniu widoczne były między innymi w sekcjach Moje konto, Moje dane, Promobilet, Szczegółach biletu, Profilach zakupowych czy mWars.
Jeden ze znalezionych błędów, dotyczący braku możliwości usuwania Profili zakupowych został naprawiony dwa dni po jego zgłoszeniu do PKP Intercity.
Testy wykazały, że aplikacja mobilna PKP Intercity posiada znacznie mniejszą ilość błędów w porównaniu do wdrażanej wersji pilotażowej i jest dość intuicyjna. Zależnie od wybranego połączenia kolejowego czy ilości wybieranych biletów zdarzały się jednak zauważalne opóźnienia w procesowaniu składanych zamówień oraz w wyszukiwaniu dostępnych połączeń.
Wnioski dotyczące projektu
Projektowanie testów oparliśmy na opracowaniu kilku przypadków end-to-end pokrywających cały proces zakupu biletu przez użytkownika, dodając kilka nowych scenariuszy do testów aplikacji mobilnej.
Po skończonych testach pomimo zgłoszonych błędów do PKP Intercity, nasz zespół nie był w stanie kontynuować prac, takich jak dalsza analiza zgłoszonych defektów i ewentualne retesty z powodu ograniczonego kontaktu z dostawcą. Proces rozpatrywania zgłoszonych nieprawidłowości jest mocno wydłużony czasowo.
Uwzględniając dotychczasowe wyniki i podsumowania z przypadków testowych należy stwierdzić, że błędy które zostały znalezione nie były krytyczne i w większości przypadków pozwalały na normalne wykorzystanie systemu.
Rodzaj znalezionych defektów oraz wspólne podsumowanie wskazują na następujące wnioski:
- największa ilość usterek systemu w wersji desktopowej została znaleziona na ekranie Twoja podróż
- testy eksploracyjne aplikacji mobilnej wykazały najwięcej błędów w sekcji Promobilet wybranego połączenia oraz po zmianie wersji językowej, które zostały zgłoszone przez formularz dostawcy
- konieczne jest przygotowanie usprawnień zarówno funkcjonalnych jak i w obszarze UI/UX (takich jak np. lepsze dostosowanie warstwy graficznej oraz responsywności systemu).
Testy aplikacji i oprogramowania oferowane przez Soflab
Soflab specjalizuje się w dostarczaniu usług kompleksowego testowania rozwiązań i systemów IT. Pomagamy organizacjom rozwijać się poprzez dostarczenie w krótszym czasie wysokiej jakości oprogramowania wolnego od kosztownych błędów oraz zapewnienie najwyższych standardów bezpiecznego zarządzania danymi w środowiskach testowych. Nasz doświadczony i kompetentny zespół wykonuje różne typy testów:
- testy funkcjonalne oparte o historie użytkowników, scenariusze i przypadki testowe
- testy wydajnościowe – obciążeniowe, przeciążeniowe, długotrwałego obciążenia, skokowego obciążenia, monitorowanie wydajności
- testy automatyczne
- testy API
- testy bezpieczeństwa, np. weryfikacja dokumentacji projektowej pod kątem założeń bezpieczeństwa, testy penetracyjne, testy socjotechniczne, testy procedur i zabezpieczeń fizycznych
- testy aplikacji mobilnych.