Projekt

Obecné

Profil

Testovaci scenare » Historie » Verze 16

Jakub Homolka, 2025-04-23 23:07

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