Projekt

Obecné

Profil

Stáhnout (5.78 KB) Statistiky
| Větev: | Tag: | Revize:
1
# Anotace pro analýzu smluvních podmínek a skrytých reklam - Testování
2
### Backend testování
3
Při testování backendu je potřeba převážně testovat Core/Services. Z této oblasti bylo nejprve testováno to, co bylo kritické a zároveň ve stavu, ve kterém to bylo možné testovat.
4
Pro testování backendu je potřeba prázdná databáze inicializovaná tak jak je v readme projektu, které se nachází v dev větvi.
5
Testování probíhalo jako blackbox testing, není tedy obtížné přidat další podobné testy. Dosavadní testy jsou komentované a nejsou obtížné na pochopení.
6
##### Testování dokumentů
7
Testování dokumentů probíhá tak, že je nad prázdnou databází vytvořena množina dokumentů a admin, který je má přiřazené. Tyto dokumenty jsou nahrávány a získávány z databáze s cílem určit, zda jsou do databáze správně uloženy a zpětně navráceny.
8
Toto testování bohužel neodhalí, pokud je dokument poškozen při přenosu. To je zapříčiněno sanitizací a úpravou daného dokumentu při nahrání do databáze.
9
##### Testování uživatelů
10
Testování uživatelů testuje všechny metody, které UserService systému poskytuje. Sem je zahrnuto vytváření, mazání, změna, změna hesla, přihlášení a získávání uživatelského účtu z databáze různými způsoby.
11
Přihlášení je testováno jak na validní, tak nevalidní data, stejně tak vytváření a změna uživatele.
12
##### Další možné testování
13
Testování na které nevyšel čas, nebo nebylo dost dobře možné testovat dostatečně brzo.
14
Jedná se o testování značek a anotace. Obě tyto třídy procházely změnami a bylo obtížné a časově neefektivní jim věnovat pozornost, kterou by si zasloužily.
15

    
16
### Frontend testování
17
Frontend testování probíhá na inicializované databázi. Automatické frontend testování probíhalo na stejném stroji, na kterém běžel server. 
18
Část kódu v C# byla spouštěna klasickým způsobem. Frondend byl spouštěn příkazy
19
```sh
20
yarn
21
yarn dev
22
```
23
Po spuštění obou částí bylo možné aplikaci automaticky testovat.
24
Automatické testy probíhají pomocí nástroje Selenium. To simuluje uživatelské akce.
25
Selenium použité na tyto testy využívalo prohlížeče Google Chrome a Mozilla Firefox.
26
Opět, z časových důvodů nebylo možné automaticky otestovat vše, co by automaticky testováno být mělo.
27

    
28
#### Testování přihlášení
29
Testování automatického přihlášení probíhá stejným stylem, jako na backend. Jedná se o sérii testů, které mají ověřit, zda se může přihlásit uživatel se správnými uživatelskými údaji, a zároveň nemůže uživatel s těmi špatnými, případně jestli se přihlášený uživatel dostal na stránku, na kterou měl.
30
Tyto testy naneštěstí jako jediné z této oblasti pracují s databází vytvořenou testama na backendu. Jedná se o defekt z vývoje aplikace, na který se zapomnělo a bylo by náročné jej nyní měnit z pohledu finalizace.
31

    
32
#### Testování přesměrování
33
Toto testování slouží k zajištění, aby anotátor neviděl administrátorské prostřední, ani tak že by se dokázal přesměrovat na stránky administrátora. Jelikož uživatele nepřesměrováváme, test kontroluje, zda element s obsahem stránky má nulové rozměry.
34
Test by mohl být postavený rozumněji, ale svoji funkci ve stávající implementaci plní.
35

    
36
#### Testování vytváření uživatele
37
Protože v nástroji spousta elementů, které nejsou nahrané v DOM ve chvíli načtení stránky, selenium může mít problémy s jejich získáváním. Tento test funguje asi hlavně jako inspirace pro vytváření dalších testů, na které v projektu nevyzbyl čas.
38
Test probíhá přihlášením administrátora, změnou stránku na seznam uživatelů a vytvořením uživatele ve vyskakujícím okně. Poslední krok je aktualizace stránky, získání všech uživatelů v tabulce uživatelů a zjištění, zda se uživatel úspěšně vytvořil.
39
Tato testovací sada je rozšiřitelná na editaci a mazání úživatele.
40

    
41
### Manuální testování
42
Manuální testování je velkou součástí testování tohoto nástroje. Jedná se o testování, které bylo převážně aplikováno během dokončování projektu a jeho finalizace.
43
Jednoduchý scénář pro takové testování se zaměřením na uživatele by mohl vypadat následovně:
44
```sh
45
Přihlásit se jako administrátor
46
Vytvořit uživatele anotátora
47
Odhlásit se
48
Přihlásit se jako nový anotátor
49
Odhlásit se
50
Přihlásit se jako administrátor
51
Změnit nového anotátora - jméno
52
Změnit nového anotátora - příjmení
53
Změnit nového anotátora - uživatelské jméno
54
Změnit nového anotátora - jméno, příjmení i uživatelské jméno
55
Změnit nového anotátora - heslo
56
Odhlásit se
57
Přihlásit se jako změněný anotátor
58
Odhlásit se
59
Přihlásit se jako administrátor
60
Změnit měněného anotátora na administrátora
61
Odhlásit se
62
Přihlásit se jako nový administrátor (změněný anotátor)
63
Zkusit vytvořit a editovat uživatele
64
Smazat nového uživatele
65
Odhlásit se
66
Přihlásit se jako původní administrátor
67
Změnit nového administrátora - jméno
68
Změnit nového administrátora - příjmení
69
Změnit nového administrátora - uživatelské jméno
70
Změnit nového administrátora - jméno, příjmení i uživatelské jméno
71
Změnit nového administrátora - heslo
72
Odhlásit se
73
Přihlásit se jako změněný administrátor
74
Odhlásit se
75
Přihlásit se jako původní administrátor
76
Smazat nového administrátora
77
Odhlásit se
78
```
79
Podobné scénáře lze napsat pro testování značek, dokumentů a anotace.
80
Důležité při manuálním testování ale je dávat si pozor na detaily, které jsou strojově těžko odhalitelné, jako například velikost tlačítek, nebo intuitivnost a celková použitelnost aplikace.
(3-3/5)