fbpx

Testy interfejsu użytkownika

Ten wpis jest kontynuacją serii dotyczącej różnych poziomów testów. Przed przystąpieniem do czytania zachęcam Cię do zapoznania się z poprzednimi postami o testach jednostkowychtestach integracyjnych. W tym wpisie postaram się przybliżyć testy na poziomie interfejsu użytkownika.

Aplikacja

Nasza aplikacja nie zmienia się pod względem funkcjonalności, którą dostarcza. Nie będzie to już zwykły kalkulator, a aplikacja która liczy ile wybranej waluty możemy otrzymać, gdy posiadamy konkretną ilość polskich złotych. W tym wpisie Nasza aplikacja zyskuje interfejs graficzny i jest gotowa do interakcji z realnymi użytkownikami.

Testowana funkcjonalność

Nasza aplikacja posiada interfejs użytkownika dostępny pod adresem: https://testeroprogramowania.github.io/selenium/CurrencyCalculator.html  Interfejs graficzny składa się z 3 elementów – dwóch pól tekstowych oraz przycisku. W pierwszym polu tekstowym wprowadzamy ilość złotówek, które chcemy wymienić, a w drugim polu podajemy nazwę waluty. Po wprowadzeniu danych wybieramy przycisk „Przelicz” co zwraca Nam ilość waluty jaką otrzymamy za konkretną ilość złotówek. 

Jak przeprowadzić test?

W celu przeprowadzenie testu należy wykonać następujące kroki:
1. Przejść na stronę https://testeroprogramowania.github.io/selenium/CurrencyCalculator.html 
2. Wprowadzić wartość w pole ilość zł 
3. Wprowadzić wartość w pole nazwa waluty.
4. Kliknąć na przycisk „Przelicz”
5. Zweryfikować czy przeliczona wartość jest zgodna z oczekiwaną

Jak działa aplikacja?

Użytkownik wprowadza wymagane wartości do pól na stronie internetowej. Po kliknięciu przycisku Przelicz, dane z pola ilość złotówek i waluta są wysyłane do metody która była testowana podczas testów integracyjnych ( calculate()). Następnie metoda calculate() łączy się z serwisem NBP i pobiera aktualny kurs wybranej waluty, a następnie wykorzystuje go w metodzie div() kalkultora. Wynik działania jest pobierany i przedstawiany użytkownikowi w postaci alertu.

Pierwszy test – happy path

Pierwszy test będzie tzw. happy pathem, czyli sytuacją w której podajemy bardzo proste dane wejściowe, które nie powinny zepsuć naszej aplikacji. Załóżmy, że wprowadzamy wartość 1000 zł oraz nazwę waluty jako USD. Po naciśnięciu przycisku przelicz powinien pojawić się alert z wynikiem dzielenia wartości 1000 zł przez wartość kursu dolara na dany dzień dostępnego w serwisie NBP. W naszym przypadku dla kursu dolara (4 zł) oczekiwany rezultat to 250 USD. Opisany test zakończył się sukcesem. Wynik jest zgodny z oczekiwanym.

Drugi test

Drugi test będzie zakładał, że użytkownik przez pomyłkę lub celowo wprowadzi nieodpowiednie wartości. Pamiętamy, że w przypadku, gdy wprowadzimy nieodpowiednie wartości to nasza aplikacja powinna zwrócić wartość 0 jako wynik działania. Spróbujemy przetestować działanie naszej aplikacji dla różnych walut i różnych ilości polskich złotych.

Nasza aplikacja nie zachowuje się poprawnie. Dostajemy komunikat o treści „Error” co nie jest zgodne z oczekiwanym zachowaniem programu. Możemy zgłosić błąd i oczekiwać na odpowiedź od programisty. Posiadając w projekcie testy jednostkowe i integracyjne jesteśmy w stanie w łatwy sposób określić, że problem jest powiązany z komunikacją między interfejsem użytkownika i warstwą logiki biznesowej.

Podsumowanie

W tym wpisie na prostym przykładzie przedstawiłem ideę testów UI . Jest to poziom testów najłatwiejszy do zrozumienia, ponieważ każdy z Nas był kiedyś użytkownikiem jakiejś aplikacji i weryfikował jej działanie poprzez interakcję z przygotowanym interfejsem użytkownika. Testy UI nie wymagają umiejętności programowania i zagłębiana się w kod źródłowy. Oczywiście warto wiedzieć jak powinna działać aplikacja, aby poprawnie weryfikować wyniki testów

5 1 vote
Article Rating
Subscribe
Powiadom o
guest
0 komentarzy
Inline Feedbacks
View all comments