Projekt

Obecné

Profil

Testovaci scenare » Historie » Verze 22

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