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ý |