Projekt

Obecné

Profil

Testovaci scenare » Historie » Verze 21

Jakub Homolka, 2025-04-23 23:14

1 3 Jakub Homolka
2
h1. Testovací scénáře pro ALM Pumpy
3
4 19 Jakub Homolka
!check_mark.png! *Úspěšně otestováno* 
5
6
*Popis:* Scénář byl kompletně proveden a všechny kroky byly úspěšně dokončeny v souladu s očekávanými výsledky.
7 1 Štěpán Faragula
8 21 Jakub Homolka
*Vlastnosti:*
9
10 20 Jakub Homolka
* Všechny testovací kroky proběhly bez chyb
11
* Skutečné výsledky plně odpovídají očekávaným výsledkům
12 1 Štěpán Faragula
* Nevyžaduje se žádná další akce
13 21 Jakub Homolka
* Test může být považován za platný a úspěšný
14 1 Štěpán Faragula
15
!red_cross.png! *Netestováno*
16 21 Jakub Homolka
17
*Popis:* Scénář byl proveden, ale během testování byly zjištěny nesrovnalosti nebo chyby.
18
*Vlastnosti:*
19
20
* Minimálně jeden testovací krok nesplnil očekávání
21
* Skutečné výsledky se liší od očekávaných
22
* Je vyžadována oprava a následné přetestování
23
* Může být přidán komentář s popisem nalezeného problému
24
25 19 Jakub Homolka
!exclamation_mark.jpg! *Testováno neúspěšně*
26 13 Jakub Homolka
27 17 Jakub Homolka
h3. 1. Stažení projektu do DB bez inicializovaných dat (`data.sql`) !red_cross.png! !exclamation_mark.jpg!
28 4 Jakub Homolka
29 6 Jakub Homolka
*Popis:* Ověření chování aplikace při stahování projektu do prázdné databáze bez inicializovaných dat.
30
31 3 Jakub Homolka
**Kroky:**
32 7 Jakub Homolka
1. Vytvoří se prázdná databáze bez spuštění `data.sql`
33
2. Spustí se proces stahování projektu
34 1 Štěpán Faragula
35
**Očekávaný výsledek:**
36 7 Jakub Homolka
- Aplikace buď úspěšně inicializuje potřebné struktury, nebo vrátí srozumitelnou chybovou zprávu
37
38
*Výsledek testu:* netestováno
39 3 Jakub Homolka
40 5 Jakub Homolka
h3. 2. Stažení → Smazání → Znovu stažení projektu
41 4 Jakub Homolka
42 3 Jakub Homolka
**Kroky:**
43
1. Stáhni projekt do DB
44
2. Smazání projektu z DB (přes API)
45
3. Stáhni stejný projekt znovu
46
47
**Očekávaný výsledek:**
48
- Data by se měla znovu vytvořit bez duplicit nebo chyb
49
50 8 Jakub Homolka
*Výsledek testu:* netestováno
51
52 5 Jakub Homolka
h3. 3. Stažení více projektů pro 1 ToolInstance
53 4 Jakub Homolka
54 3 Jakub Homolka
**Kroky:**
55
1. Vyber 2 či více různých projektů ze stejného ALM nástroje (např. GitHub nebo Jira)
56
2. Spusť proces stahování pro každý z vybraných projektů
57
58 1 Štěpán Faragula
**Očekávaný výsledek:**
59 3 Jakub Homolka
- Data ze všech projektů by měla být uložena a přiřazena ke stejné ToolInstance
60
61 8 Jakub Homolka
*Výsledek testu:* netestováno
62
63 5 Jakub Homolka
h3. 4. Kontrola přiřazení autora u každého WorkItemu
64
65 3 Jakub Homolka
**Kroky:**
66
1. Stáhni více projektů z různých ALM nástrojů
67 1 Štěpán Faragula
2. Ověř, že každý `WorkItem` má vyplněné `author_id`
68 3 Jakub Homolka
69
**Očekávaný výsledek:**
70
- Žádný `WorkItem` nesmí mít prázdného autora
71
72 8 Jakub Homolka
*Výsledek testu:* netestováno
73
74 5 Jakub Homolka
h3. 5. Zadávání nevalidních dat do GUI formuláře
75 4 Jakub Homolka
76 3 Jakub Homolka
**Kroky:**
77
1. Zadej neexistující URL repozitáře
78
2. Zadej neplatný API klíč
79
3. Zkus SQL injection (`' OR 1=1 --`)
80 1 Štěpán Faragula
4. Zadej speciální znaky (např. `@#$%^&*`)
81
5. Překroč maximální povolenou délku vstupních polí
82 3 Jakub Homolka
83
**Očekávaný výsledek:**
84
- Aplikace by měla odmítnout nevalidní vstup a zobrazit uživatelsky přívětivou chybu
85
86 8 Jakub Homolka
*Výsledek testu:* netestováno
87
88 5 Jakub Homolka
h3. 6. Stažení prázdného projektu (nový repo bez souborů)
89
90 1 Štěpán Faragula
**Kroky:**
91 3 Jakub Homolka
1. Vytvoř nový prázdný repozitář na GitHubu
92
2. Pokus se jej stáhnout přes ALM pump
93
94
**Očekávaný výsledek:**
95
- Aplikace by měla zpracovat prázdný stav (tj. neměla by spadnout)
96
97 8 Jakub Homolka
*Výsledek testu:* netestováno
98
99 5 Jakub Homolka
h3. 7. Test integrity vztahů mezi Work Items
100 4 Jakub Homolka
101 3 Jakub Homolka
**Kroky:**
102 1 Štěpán Faragula
1. Stáhni projekt obsahující vzájemně propojené issues (například parent-child vztahy v Jira nebo propojení přes odkazy v GitHub Issues)
103 3 Jakub Homolka
2. Zkontroluj tabulku v databázi `work_item_relation`
104
105
**Očekávaný výsledek:**
106
- Vztahy mezi Work Items jsou korektně uloženy v tabulce `work_item_relation`
107
- Pro každý vztah existuje záznam s korektně naplněnými poli `leftItemId`, `rightItemId` a `relationId`
108
- Bidirektivní vazby jsou zachovány (pokud existuje vztah A->B, pak musí existovat i B->A s příslušnou relací)
109
110 8 Jakub Homolka
*Výsledek testu:* netestováno
111
112 5 Jakub Homolka
h3. 8. Test na správné mapování různých typů WorkItem
113 3 Jakub Homolka
114 1 Štěpán Faragula
**Kroky:**
115 3 Jakub Homolka
1. Stáhni projekt obsahující různé typy entit (Issues, Commits, Artifacts)
116
2. Zkontroluj záznamy v tabulce `work_item`
117
118
**Očekávaný výsledek:**
119
- Každý work item má správně nastavený podle svého původu (COMMIT, ISSUE, ARTIFACT atd.) `workItemType`
120
- Všechny work items mají správně nastavené pole podle zdrojového systému `externalId`
121
- Existuje korektní reference na autora v poli `authorId`
122
123 8 Jakub Homolka
*Výsledek testu:* netestováno
124
125 5 Jakub Homolka
h3. 9. Test na zachování historie změn WorkItem
126 1 Štěpán Faragula
127 3 Jakub Homolka
**Kroky:**
128
1. Stáhni projekt s issue, které prošlo několika změnami stavu
129
2. Zkontroluj strukturu tabulek a `field_change` `work_item_change`
130
131
**Očekávaný výsledek:**
132
- Pro každou změnu existuje záznam v tabulce `work_item_change`
133
- Pole v `name` správně indikuje typ změny (ADD, MODIFY, COMMENT) `work_item_change`
134
- V tabulce `field_change` jsou uloženy konkrétní změny polí s hodnotami před a po změně
135
136 8 Jakub Homolka
*Výsledek testu:* netestováno
137
138 5 Jakub Homolka
h3. 10. Test na správné mapování Category a Labels
139 4 Jakub Homolka
140 3 Jakub Homolka
**Kroky:**
141
1. Stáhni GitHub projekt s dobře označkovanými issues
142
2. Zkontroluj záznamy v tabulce `work_unit` a vazební tabulce mezi `work_unit` a `category`
143
144
**Očekávaný výsledek:**
145
- Všechny GitHub Labels jsou uloženy jako entity `Category`
146
- Vazby mezi Work Units a kategoriemi jsou korektně uloženy v propojovací tabulce
147
- Kategorie mají správný odkaz na `projectInstance`
148 1 Štěpán Faragula
149 8 Jakub Homolka
*Výsledek testu:* netestováno
150
151 5 Jakub Homolka
h3. 11. Test na integrace Configuration a CommittedConfiguration
152 4 Jakub Homolka
153 3 Jakub Homolka
**Kroky:**
154
1. Stáhni Git projekt s několika commity
155
2. Zkontroluj záznamy a vazby v tabulkách `committed_configuration`, `configuration` a `commit`
156
157
**Očekávaný výsledek:**
158
- Každý WorkItem typu COMMIT má přiřazenou konfiguraci
159
- V tabulce `committed_configuration` existuje záznam pro každý commit
160 1 Štěpán Faragula
- Tabulka obsahuje správné reference na branch a committed_configuration `commit`
161 3 Jakub Homolka
162 8 Jakub Homolka
*Výsledek testu:* netestováno
163
164 5 Jakub Homolka
h3. 12. Test na propojení mezi commit a branches
165 4 Jakub Homolka
166 3 Jakub Homolka
**Kroky:**
167
1. Stáhni Git repozitář s více větvemi obsahujícími stejné commity
168
2. Zkontroluj tabulku a vazební tabulku mezi `branch` a `commit`
169
170
**Očekávaný výsledek:**
171
- Pro každou branch v repozitáři existuje záznam v tabulce `branch`
172 1 Štěpán Faragula
- V propojovací tabulce mezi `commit` a `branch` je správně zaznamenáno, které commity patří do kterých větví 
173 3 Jakub Homolka
- Commit patřící do více větví má správný počet záznamů ve vazební tabulce
174
175 8 Jakub Homolka
*Výsledek testu:* netestováno
176
177 5 Jakub Homolka
h3. 13. Test na vazby Tool Instance a Project Instance
178 4 Jakub Homolka
179 3 Jakub Homolka
**Kroky:**
180
1. Nakonfiguruj více projektů na stejné instanci nástroje (např. více repozitářů na jednom GitHub účtu)
181
2. Zkontroluj záznamy v tabulkách `tool_instance` a `project_instance`
182
183
**Očekávaný výsledek:**
184 1 Štěpán Faragula
- V tabulce `tool_instance` existuje pouze jeden záznam pro jednu instanci nástroje
185 3 Jakub Homolka
- Každý project má vlastní záznam v `project_instance`
186
- Všechny project instance odkazují na správnou tool instance
187
188 8 Jakub Homolka
*Výsledek testu:* netestováno
189
190 5 Jakub Homolka
h3. 14. Test na Priority, Status a další klasifikační tabulky
191 4 Jakub Homolka
192 3 Jakub Homolka
**Kroky:**
193
1. Stáhni projekty z různých ALM nástrojů s různými prioritami a statusy
194
2. Zkontroluj záznamy v tabulkách `wu_type`, `priority`, `status`, `severity` a `resolution`
195
196
**Očekávaný výsledek:**
197
- Každá entita má správně nastavené pole `class` podle mapování z ALM nástroje
198
- Každá entita je správně přiřazena k příslušné `project_instance`
199
- Entity se stejným významem z různých nástrojů jsou mapovány na stejnou klasifikaci
200
201 8 Jakub Homolka
*Výsledek testu:* netestováno
202
203 5 Jakub Homolka
h3. 15. Test na persistenci Person a jejich vazeb
204 4 Jakub Homolka
205 3 Jakub Homolka
**Kroky:**
206
1. Stáhni projekt, kde stejná osoba vystupuje v různých rolích (autor, assignee, committer)
207
2. Zkontroluj tabulku `person` a `person_role` 
208
209
**Očekávaný výsledek:**
210
- V tabulce existuje pouze jeden záznam pro jednu osobu `person`
211 1 Štěpán Faragula
- V tabulce `person_role` jsou správně zaznamenány různé role osoby
212 2 Štěpán Faragula
- Osoby se stejným jménem ale různými identifikátory jsou správně rozlišeny
213 8 Jakub Homolka
214
*Výsledek testu:* netestováno
215 2 Štěpán Faragula
216 1 Štěpán Faragula
----
217
218
Autor: Jakub Homolka
219
Datum: 23.4.2025
220
Stav: rozdělaný