Projekt

Obecné

Profil

Testovaci scenare » Historie » Verze 20

Jakub Homolka, 2025-04-23 23:13

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