owned this note
owned this note
Published
Linked with GitHub
# Testowanie Gier
**Zestaw zadań nr 1**
##### Zajęcia 16.03.2023r. grupa czwartkowa
## Zadanie 1
Zapoznać się z pojęciami: przypadek użycia, scenariusz przypadku użycia, przypadek testowy;
1. **Przypadek użycia** - jest opisem sekwencji nterakcji jakie zachodzą między systemem a aktorem, gdzie ważne jest aby aktor osiągnął zamierzony cel, np. wypłacił X złotych z bankomatu.
2. **Scenariusz przypadku użycia** - polega na określeniu sekwencyjnie interakcji/zdarzeń jakie zaachodzą pomiędzy aktorem a systemem. Powinno się je formułować w sposób spójny i prosty.
3. **Przypadek testowy** - jest zbiorem danych wejściowych zawierających wstępne warunki wykonania zadania, oczekiwanych rezultatów oraz końcowych warunków wykonania danego zadania.
A. Napisać scenariusze (główny i alternatywne) dla przypadku użycia: Szybka wypłata pieniędzy (dokładnie kwoty 50 zł) z bankomatu.
*Scenariusz główny dla szybkiej wypłaty z bankomatu:*
1. Aktor podchodzi do bankomatu;
2. Wprowadza kartę w sposób prawidłowy;
3. Bankomat wyświetla komunikat z prośbą o podanie PIN'u;
4. Aktor wprowadza PIN, a następnie zatwierdza go odpowiednim przyciskiem;
5. Bankomat wyświetla na ekranie zbiór operacji, możliwych do wykonania przez aktora;
6. Aktor korzystając z odpowiedniego przycisku wybiera opcję "wypłata 50zł bez potwierdzenia";
7. Bankomat zwraca kartę użytkownikowi, a następnie wysuwa gotówkę;
8. Aktor odbiera gotówkę z podajnika;
9. Bankomat rejestruje wypłatę na koncie, a bank pomniejsza saldo użytkownika o wypłaconą kwotę;
*Scenariusz alternatywny 1 dla szybkiej wypłaty z bankomatu przy podaniu błędnego PIN'u:*
1. Aktor podchodzi do bankomatu;
2. Wprowadza kartę w sposób prawidłowy;
3. Bankomat wyświetla komunikat z prośbą o podanie PIN'u;
4. Aktor wprowadza błędny PIN, a następnie zatwierdza go odpowiednim przyciskiem;
5. Bankomat wyświetla na ekranie informację, o błędnym PIN'ie z prośbą o wpisanie ponownie.
6. Aktor wprowadza PIN, a następnie zatwierdza go odpowiednim przyciskiem;
7. Bankomat wyświetla na ekranie zbiór operacji, możliwych do wykonania przez aktora;
8. Aktor korzystając z odpowiedniego przycisku wybiera opcję "wypłata 50zł bez potwierdzenia";
9. Bankomat zwraca kartę użytkownikowi, a następnie wysuwa gotówkę;
10. Aktor odbiera gotówkę z podajnika;
11. Bankomat rejestruje wypłatę na koncie, a bank pomniejsza saldo użytkownika o wypłaconą kwotę;
*Scenariusz alternatywny 2 dla szybkiej wypłaty z bankomatu przy braku wystarczającej kwoty na koncie:*
1. Aktor podchodzi do bankomatu;
2. Wprowadza kartę w sposób prawidłowy;
3. Bankomat wyświetla komunikat z prośbą o podanie PIN'u;
4. Aktor wprowadza PIN, a następnie zatwierdza go odpowiednim przyciskiem;
5. Bankomat wyświetla na ekranie zbiór operacji, możliwych do wykonania przez aktora;
6. Aktor korzystając z odpowiedniego przycisku wybiera opcję "wypłata 50zł bez potwierdzenia";
7. Bankomat wyświetla informację o niewystarczającym saldzie na koncie do zrealizowania operacji;
8. Aktor wybiera opcję wysunięcia karty;
9. Bankomat zwraca kartę użytkownikowi;
11. Bankomat rejestruje próbę wypłaty na koncie;
Inne alternatywne przypadki mogłyby uwzględnić:
- wprowadzenie kart w nieprawidłowy sposób uniemożliwiający jej zczytanie
- użytkownik używa nieaktywnej karty
- x-krotne wpisanie błędnego PIN'u skutkujące blokadą karty
- brak wystarczającej gotówki w bankomacie
- błąd bankomatu skutkujący brakiem wypłaty gotówki lub niewydaniem karty.
- użytkownik zapomina odebrać pieniądze co po chwili skutkuje ich wciągnięciem przez bankomat.
B) Sporządzić diagram stanów UML dotyczący działania bankomatu

C) Napisać przypadki testowe pokrywające wszystkie scenariusze przypadków użycia szybkiej wypłaty 50 zł z bankomatu.
*Przypadek testowy główny*:
Stan początkowy:
- Aktor posiada aktywną kartę,
- Aktor zna PIN do swojej karty,
- Aktor posiada wystarczającą kwotę na koncie,
- Bankomat jest czynny,
- Bankomat posiada wystarczającą liczbę gotówki.
Sekwencja kroków:
- Aktor podchodzi do bankomatu;
- Aktor umieszcza kartę w bankomacie;
- Aktor wprowadza PIN, a następnie zatwierdza go odpowiednim przyciskiem;
- Aktor korzystając z odpowiedniego przycisku wybiera opcję "wypłata 50zł bez potwierdzenia";
- Aktor wybiera opcję wysunięcia karty;
- Aktor wyciąga gotówkę z podajnika;
Warunek spełnienia testu:
- Aktor otrzymał wypłacone 50zł,
- Aktor otrzymał z powrotem swoją kartę,
- Bank potrącił z konta odpowiednią kwotę,
*Przypadek testowy alternatywny 1 dla szybkiej wypłaty z bankomatu przy podaniu błędnego PIN'u:*
Stan początkowy:
- Aktor posiada aktywną kartę,
- Aktor nie jest pewny co do PIN'u do swojej karty,
- Aktor posiada wystarczającą kwotę na koncie,
- Bankomat jest czynny,
- Bankomat posiada wystarczającą liczbę gotówki.
Sekwencja kroków:
- Aktor podchodzi do bankomatu;
- Aktor umieszcza kartę w bankomacie;
- Aktor wprowadza błędny PIN, a następnie zatwierdza go odpowiednim przyciskiem;
- Aktor po otrzymaniu informacji o błędnym PIN'ie próbuje go wprowadzić jeszcze razm tym razem podając poprawny.
- Aktor korzystając z odpowiedniego przycisku wybiera opcję "wypłata 50zł bez potwierdzenia";
- Aktor wybiera opcję wysunięcia karty;
- Aktor wyciąga gotówkę z podajnika;
Warunek spełnienia testu:
- Aktor otrzymał wypłacone 50zł,
- Aktor otrzymał z powrotem swoją kartę,
- Bank potrącił z konta odpowiednią kwotę,
- Bankomat wyświetlił odpowiedni komunikat o błędnym PIN'ie
*Przypadek testowy alternatywny 2 dla szybkiej wypłaty z bankomatu przy braku wystarczającej kwoty na koncie:*
Stan początkowy:
- Aktor posiada aktywną kartę,
- Aktor zna PIN do swojej karty,
- Aktor nie posiada wystarczającej kwoty na koncie,
- Bankomat jest czynny,
- Bankomat posiada wystarczającą liczbę gotówki.
Sekwencja kroków:
- Aktor podchodzi do bankomatu;
- Aktor umieszcza kartę w bankomacie;
- Aktor wprowadza PIN, a następnie zatwierdza go odpowiednim przyciskiem;
- Aktor korzystając z odpowiedniego przycisku wybiera opcję "wypłata 50zł bez potwierdzenia";
- Bankomat wyświetla komunikat o niewystarczających środkach na koncie;
- Aktor wybiera opcję wysunięcia karty;
- Bankomat zwraca kartę użytkownikowi;
- Bankomat rejestruje próbę wypłaty na koncie;
Warunek spełnienia testu:
- Aktor nie otrzymał pieniędzy,
- Aktor otrzymał z powrotem swoją kartę,
- Bank zarejestrował próbę wypłaty z konta,
- Bankomat wyświetlił na ekranie komunikat o niewystarczającej kwocie na koncie,
Inne alternatywne przypadki testowe:
1. Nieprawidłowe wprowadzenie karty:
Stan początkowy:
- Aktor posiada aktywną kartę,
- Bankomat jest czynny,
Sekwencja kroków:
- Użytkownik wkłada kartę w nieprawidłowy sposób;
- Bankomat wyświetla informację, że nie jest w stanie zczytać karty;
Warunek spełnienia testu:
- Bankomat wyświetli informację o problemie z kartą,
2. Karta jest nieaktywna:
Stan początkowy:
- Aktor posiada nieaktywną kartę,
- Bankomat jest czynny
Sekwencja kroków:
- Aktor wkłada kartę do bankomatu w prawidłowy sposób
- Bankomat wyświetla informację, o nieaktywnej karcie oraz ją zwraca,
Warunek spełnienia testu:
- Bankomat wyświetli informację o nieaktywnej karcie
3. 3-krotne wpisanie błędnego PIN'u:
Stan początkowy:
- Aktor posiada aktywną kartę,
- Aktor zna PIN do swojej karty,
- Aktor posiada wystarczającą kwotę na koncie,
- Bankomat jest czynny,
- Bankomat posiada wystarczającą liczbę gotówki.
Sekwencja kroków:
- Aktor podchodzi do bankomatu;
- Aktor umieszcza kartę w bankomacie;
- Aktor wprowadza błędny PIN, a następnie zatwierdza go odpowiednim przyciskiem;
- Aktor po otrzymaniu informacji o błędnym PIN'ie próbuje go wprowadzić jeszcze razm tym razem podając poprawny.
- Aktor korzystając z odpowiedniego przycisku wybiera opcję "wypłata 50zł bez potwierdzenia";
- Aktor wybiera opcję wysunięcia karty;
- Aktor wyciąga gotówkę z podajnika;
Warunek spełnienia testu:
- Bankomat blokuje kartę
- Bankomat wyświetla informację o blokadzie karty oraz powodzie blokady
## Zadanie 2 - analiza serwisu https://www.ilovepdf.com/merge_pdf pod względem zgodności z 10 heurystykami użyteczności Nielsena
### 1. Pokazuj status systemu
Strona wydaje się mieć dość jasny i spójny układ, który umożliwia użytkownikom łatwe zorientowanie się w tym, co się dzieje na stronie. Na przykład, po załadowaniu się strony od razu widoczny jest duży przycisk umożliwiający wykonanie pierwszego wymaganego kroku, czyli zaimportowania plików. Po wybraniu plików do przetworzenia, użytkownik widzi od razu informację o tym, że powinien dostosować kolejność plików. Następnie widoczna jest informacja, że pliki są przetwarzane i w końcu użytkownik jest informowany, że przetwarzanie się zakończyło i może pobrać plik.




### 2. Zachowaj zgodność pomiędzy systemem a rzeczywistością
Strona jest intuicyjna i zachowuje zgodność pomiędzy systemem a rzeczywistością. Na przykład kolejność plików ustala się poprzez przeciąganie i upuszczanie miniaturek z podglądem plików. Przyciski również są skonstruowane intuicyjnie, na przykład przycisk do pobierania zawiera charakterystyczną ikonkę, a przyciski służące do poruszanie się między krokami zawierają strzałki.


### 3. Daj użytkownikowi pełną kontrolę
Strona wydaje się dawać odpowiednią ilość kontroli użytkownikowi. Umożliwia zaimportowanie plików z dysku komputera, ale również z dysków w chmurze. Po zaimportowaniu plików użytkownik ma możliwość zaimportowania jeszcze brakujących plików oraz usunięcie niepotrzebnych. Po zakończeniu przetwarzania użytkownik ma możliwość powrotu do pierwszego kroku, aby ponowić proces. Brakuje możliwości przejścia do pierwszego kroku z kroku ustawiania kolejności plików. Użytkownik chcąc wrócić do pierwszego kroku musi albo kliknąć w logo (co zmusza go do wyboru odpowiedniej usługi), albo wybrać usługę z paska nawigacyjnego.

### 4. Trzymaj się standardów i zachowaj spójność
Serwis wydaje się zachowywać standardy wewnętrzne oraz zewnętrzne. Na przykład logo strony znajduje się w lewym górym rogu i kliknięcie w niego przenosi użytkownika na stronę główną. Również menu nawigacyjne znajduje się w odpowiednim miejscu, czyli w pasku w górnej części ekranu. Dodatkowe opcje osiągalne są ze standardowego rozwijanego menu typu hamburger. Poza tym strona posiada spójny styl, a podstrony oferujące poszczególne usługi wyglądają podobnie.

### 5. Zapobiegaj błędom
Strona zapobiega popełnianiu błędów przez użytkownika, na przykład przy imporcie plików ogranicza wyszukiwanie do plików pdf. Strona również zapobiega próbie mergowania tylko jednego pliku, dezaktywując przycisk. Brakuje jednak zabezpieczenia przed utratą postępów przy ustawianiu kolejności plików - użytkownik może przejść do innej części strony bez ostrzeżenia.

### 6. Pokaż, zamiast zmuszać do zapamiętania
Strona realizuję tę heurystykę. Na przykład przy ustalaniu kolejności plików widoczne są podglądy ich zawartości w miniaturkach, żeby użytkownik nie musiał ich sprawdzać lub zapamiętywać ich nazw.
### 7. Elastyczność i efektywność
Strona zawiera funkcjonalności usprawniające korzystanie z niej, na przykład podczas ustawiania kolejności plików jest możliwość zaznaczenia kilku plików trzymając klawisz ctrl i, na przykład, zbiorcze ich usunięcie. Dodatkowo w tym kroku jest możliwość ustawienia kolejności w porządku alfabetycznym. Oprócz tego strona oferuje rejestrację przez konto Google czy Facebook.

### 8. Dbaj o estetykę i umiar
Strona jest estetyczna, prosta i przejrzysta. Interfejs zawiera tylko najpotrzebniejsze elementy. Formularze nie zawierają zbędnych pól.
### 9. Zapewnij skuteczną obsługę błędów
Serwis oferuje skuteczną obsługę błędów. Na przykład jeśli użytkownik w jakiś sposób zaimportuje plik o niewłaściwym formacie, plik jest odrzucany, a użytkownikowi serwowany jest odpowiedni komunikat z przyczyną błędu.

### 10. Zadbaj o pomoc i dokumentację
Strona oferuje bogatą jak na tego typu serwis dokumentację dostępną w menu rozwijanym. Są tam również odpowiedzi na najczęściej zadawane pytania oraz informacje kontaktowe.
