Obsah Ú v o d ...................................................................................................................................n Pro ja ké ty p y p ro je k tů a d o m é n y se kn ih a h o d í? ....................................... i i J a k je kniha s tru k tu ro v a n á ..................................................................................11 K om u je knih a u rče n á ? ....................................................................................... 12 Použitá te r m in o lo g ie ...........................................................................................12 O a u to re c h ............................................................................................................ 12 P o d ě k o v á n í.............................................................................................................14 1
B u s i n e s s o v á h o d n o t a t e s t o v á n í ...................................................15 Kam m o h o u v y š p lh a t n á kla d y za n e d o s ta te č n o u k v a litu ........................15 V ý p o č e t c e n y za k v a litu ...................................................................................... 17 P rostředky p ro a rg u m e n ta c i h o d n o ty te s to v á n í z p ra x e ......................... 18 Fáze získání informací....................................................................................18 Fáze přípravy argumentace.......................................................................... 19 Fáze použití argumentace............................................................................ 20 S h rn u tí..................................................................................................................... 21
2
R o le t e s t o v á n í v e f i r m ě a v p r o j e k t u ........................................23 T estování n e p ro b íh á ve v z d u c h o p rá z d n u ....................................................23 Faktory o v liv ň u jíc í p rů b ě h a fo rm u ž iv o tn íh o c y k lu .................................. 26 M e to d ik y vývo je , te s to v á n í a p ro v o z u ........................................................... 27 V model a W model: totéž, jen jinak?............................................................28 Agilní přístup................................................................................................ 31 DevOps jako spojení vývoje a provozu.........................................................33 Jak zapadá o d d ě le n í te s to v á n í d o o rg a n iz a c e ja k o ta k o v é ? .................. 33 Role m anažera te s to v á n í................................................................................... 35 Interpersonální role....................................................................................... 36 Informační role.............................................................................................. 36 Rozhodovací role.......................................................................................... 37 S h rn u tí..................................................................................................................... 38
3
S t r a t e g i e t e s t o v á n í ...................................................................................39 Trocha ch a o su na z a č á te k ................................................................................. 40 Co m á o b s a h o v a t h la vn í plá n te s to v á n í....................................................... 41 Co m á o b s a h o v a t d e ta iln í plá n te s to v á n í.................................................... 42 Business D riven Test M a n a g e m e n t.................................................................43 Cíle te s to v á n í......................................................................................................... 44
Mluvte jazykem, kterému investor rozumí................................................ 45 Přehled částí testovaného systému........................................................... 46 Co naopak netestovat?........................................................................................ 49 Určení priorit pro testování.......................................................................... 49 Pravděpodobnost selhání.............................................................................. 50 Možné dopady................................................................................................51 Určení produktových rizik.............................................................................. 51
Úrovně testování a intenzita testování...................................................... 52 Sestavení projektového plánu..................................................................... 54 Vstupní a výstupní kritéria............................................................................ 55 Shrnutí.............................................................................................................. 56 4
P r o je k to v á a p r o d u k t o v á
r i z i k a ......................................................57
P o h le d na rizika z v ý š k y ....................................................................................... 57 O b e c n ý p řís tu p к řízení r i z i k ............................................................................ 59 Jak říd it p ro je k to v á riz ik a ................................................................................... 60 Jak identifikovat projektová rizika.................................................................60 Jak na analýzu rizik.........................................................................................61 Jak s riziky naložit aneb plánování opatření................................................. 62 Realizace opatření pro řízení rizika................................................................63 Jak evidovat projektová rizika.......................................................................63 Jak projektová rizika ovlivňují produktová rizika...........................................65 Jak říd it p ro d u k to v á riz ik a ..................................................................................65 Co znamená kvalita.......................................................................................65 Příklady neošetrených produktových rizik................................................... 66 Identifikace a analýza produktových riz ik ................................................... 66 Významné kvalitativní charakteristiky webových aplikací.......................... 68 T e sto vá n í za lo ž e n é na rizicích (risk-based te s tin g ) ................................... 7i Techniky pro testování založené na rizicích.................................................71 Testování založené na rizicích v praxi.......................................................... 71 Prioritizace s ohledem na rizika....................................................................73 Reporting při testování založeném na rizicích............................................74 S h rn u tí.....................................................................................................................75
5
Odhadování pracnosti testovacích aktivit................ 77 C o p o nás c h c e m a n a g e m e n t.......................................................................... 77
Jaká je realita v odhadování - reálná přesnost............................................ 78 V čem je problém ?.........................................................................................79 Kognitivní klamy............................................................................................. 79 Metodické chyby............................................................................................ 82
Rychlé tipy jak zpřesnit odhady ........................................................................85 Základní metody pro odhadování te s tů ...................................................86 Odhadování pomocí podílu z jiné aktivity.................................................... 86 Velikost testovaného objektu........................................................................ 87 Hierarchický rozpad práce (Work Breakdown Structure)..............................88 Odhad na základě analogie........................................................................... 88
Planning poker............................................................................................. 89 Optimistický, střední, pesimistický scénář (tříbodový odhad)......................90 Extrapolace na základě předchozího průběhu............................................ 90 Kombinované metody................................................................................. 91 Jak vybrat vhodnou metodu?...................................................................... 92 Jak k o n tro lo v a t o d h a d y .....................................................................................92 V y tv o řte a z p ře s ň u jte vlastn í systém p ro o d h a d o v á n í............................ 93 Výchozí nastavení odhadovací metody.......................................................93 Jaká data budeme potřebovat?...................................................................93 Zpřesňování odhadovací metody................................................................ 94 S h rn u tí....................................................................................................................95
Statické testování.......................................................97 Testování d o k u m e n ta c e ....................................................................................97 Testování obsahu dokumentů.....................................................................98 Testování formální stránky dokumentu....................................................... 98 Metody testování dokumentace................................................................. 98 S tatické te s to v á n í k ó d u ..................................................................................... 99 Co je kvalitní kód........................................................................................100 Metriky kvality kódu....................................................................................101 Formální stránka kódu - kódovací standardy.......................................... 102 Metody statického testování kódu............................................................102 Z a čle n ě n í s ta tic k é h o te s to v á n í d o procesu v ý v o je .................................103 O věření přínosů s ta tic k é h o te s to v á n í v p ra xi............................................ 104 S h rn u tí..................................................................................................................105
Ověřování požadavků........................................................................ 107 Co je p o ž a d a v e k ? ............................................................................................. 107 Úrovně požadavků.....................................................................................108 Kategorizace požadavků........................................................................... 109 Forma zachycení požadavků..................................................................... 110 Textové šablony požadavků..................................................................... 111 Atributy požadavků................................................................................... 112 O věřován í spe cifikace p o ž a d a v k ů ................................................................112 Ověřování formálních náležitostí specifikace........................................... 112 Testování obsahové stránky specifikace................................................... 113 Z p ů s o b y o vě řo vá n í p o ž a d a v k ů .....................................................................114 S h rn u tí..................................................................................................................114
Testovací prostředí................................................................................ 115 Co je te sto va cí p rostře dí?................................................................................ 116 Ž iv o tn í cyklus te sto va cích p ro s tře d í........................................................... 116 Kdy začít s plánováním testovacích prostředí?.........................................116 Fáze životního cyklu testovacích prostředí............................................... 117 Stěžejní procesy podporující životní cyklus testovacích prostředí............118 Organizační zajištění životního cyklu testovacích prostředí......................120
Ú v o d d o s tra te g ie řízení te s to v a c íh o p ro s tře d í.........................................122 T y p y te s to v a c íc h p ro s tře d í.................................................................................123 Obecné atributy testovacího prostředí........................................................ 123 Pískoviště........................................................................................................125 Vývojové prostředí (DEV)...............................................................................125 Testovací prostředí pro systémové testy (SYS)............................................125 Testovací prostředí pro integrační testy (INT).............................................. 125 Testovací prostředí pro podporu produkce (PRS)........................................126 Předprodukční testovací prostředí (PRE)...................................................... 126 Produkční a záložní testovací prostředí (PROD)...........................................126 Školicí prostředí (EDU)................................................................................... 127 Jak to při v ý v o ji a p ro v o z u IT s y s té m u f u n g u je .......................................... 127 V y u ž ití te s to v a c íc h p ro s tře d í v č a s e ............................................................... 129 Modelový případ pro analýzu využití prostředí v čase................................129 Aktivity na prostředích.................................................................................. 130 Z p ů s o b p rá ce z v a n ý D e v O p s ........................................................................... 131 S h rn u tí...................................................................................................................... 133
9
P ř í p r a v a a s p r á v a t e s t o v a c í c h d a t ..............................................135 Proč js o u d o b rá te s to v a c í d a ta p o d s ta tn á ...................................................135 N e g a tiv n í je v y s te s to v a c ím i d a ty, k te ré k o m p lik u jí te s ty ....................... 136 Proces s p rá vy te s to v a c íc h d a t .......................................................................... 137 Sběr požadavků na data................................................................................ 137 Výroba testovacích d a t..................................................................................138 Přidělování dat ve sdíleném prostředí tým ům a testerům.......................... 139 Monitoring kvality d a t................................................................................... 139 Časování přípravy testovacích dat................................................................ 140 Centralizované nebo každý sám?.................................................................140 Z p ů s o b y v ý ro b y d a t a je jic h s ro v n á n í............................................................I4 i Ruční typování dat......................................................................................... 141 Automatická výroba dat................................................................................ 141 Kopie produkčních beze změny d a t............................................................ 142 Částečná kopie produkčních dat.................................................................. 143 Anonymizace produkčních d a t.................. :................................................144 Možné kombinace postupů..........................................................................145 Srovnání jednotlivých způsobů.....................................................................145 S h rn u tí...................................................................................................................... 147
1 0
S p r á v a d e f e k t ů ............................................................................................. 149 Rozdíl m e zi c h y b o u , d e fe k te m , s e lh á n ím a in c id e n te m ......................... 149 Role a o d p o v ě d n o s ti při správě d e fe k tů ...................................................... 150 P říčiny d e fe k tů ........................................................................................................150 P řip ra vte se na d e fe k ty ........................................................................................150 Atributy defektů.............................................................................................151
Jak defekt nahlásit.........................................................................................152 Životní cyklus defektu.................................................................................. 152 Řízení změn................................................................................................... 153 Komunikační mechanismy na projektu.......................................................154 Nástroje pro řízení testování......................................................................... 154 Z á važno st, u r g e n tn o s ta p rio rita d e fe k tu .....................................................155 O p ra va d e fe k tu a p ře te s to v á n í........................................................................ 157 M e trik y tý k a jíc í se d e fe k tů a r e p o r tin g .........................................................158 Příprava na reporting.................................................................................... 158 Metriky a reporting defektů..........................................................................159 Co lze vyčíst ze statistik defektů?..................................................................161 Lze p ře d e m o d h a d o v a t p o č e t d e fe k tů ? .......................................................162 D o p o ru č e n é p o s tu p y a tip y z p r o je k tů ....................................................... 162 Kontrolní seznam (test execution checklist)................................................ 162 Více dodavatelských týmů na jednom projektu..........................................162 S h rn u tí..................................................................................................................... 163 11
R e g r e s n í t e s t o v á n í ................................................................................... i65 C o je re g re sn í te s to v á n í..................................................................................... 165 T yp y re g re sn ích c h y b a je jic h p říč in y .............................................................166 T e stova cí s tra te g ie re g re sn ích te s t ů .............................................................. 166 Regresní testy v různých úrovních................................................................167 Kritéria volby typů regresních testů............................................................. 167 Regresní testování vs. testování zm ěn......................................................... 168 Co ovlivňuje rozsah regresních testů........................................................... 169 Optimalizace sady regresních testovacích případů.................................... 170 Plán vykonávání regresních testů.................................................................171 Příprava re g re sn ích te s to v a c íc h p ř íp a d ů ..................................................... 172 Na co se zaměřit při přípravě (regresních) testovacích případů................172 Testovací data pro regresní testy a jejich specifika..................................... 173 Údržba regresních testovacích scénářů.......................................................173 T ým p ro re g re s n íte s ty a je h o m o tiv a c e .......................................................174 S m o ke a s a n ity te s ty ............................................................................................174 S h r n u tí..................................................................................................................... 175
12
A u t o m a t i z o v a n é t e s t o v á n í .............................................................. 177 V y p la tí se a u to m a tiz o v a t te s ty ? .......................................................................178 M a n u á ln í vs. a u to m a tiz o v a n ý te s t - n a jd i o s m ro z d ílů ........................... 178 Jak e fe k tiv n ě v y u ž ít a u to m a tiz o v a n é te s ty ? ............................................... 180 J a k to v la s tn ě fu n g u je ? .......................................................................................181 Front-end testy: simulace aktivity manuálního testera...............................181 Jednotkové testy.......................................................................................... 183 Integrační testy............................................................................................. 185 Kam p a tří a u to m a tiz o v a n é te s ty ve V -m o d e lu ? ........................................ 186
Jaké největší problém y nastávají při au to m atizo vaném testování?.... 188 Jaké základní vlastnosti má m ít d ob rý autom atizovaný test?.............190 Jak testy efektivně udržovat?.......................................................................... 192 Jak vytvářet odolné autom atizované testy?............................................... 193 Jak dobře strukturovat autom atizované testy?......................................... 194 Jaký rozsah testů je vh o dn é au to m atizo vat? ............................................195 Co je obtížné automatizovat?.....................................................................196 Jak autom atizované testování zařadit do ostatních procesů?............ 197 Jak zapojit automatizované testy do procesu testování?...........................197 Inkrementální nebo/;big-bang" přístup?.....................................................197 Na co při nastavování procesů nezapomenout?........................................198 Průběžná integrace a související ko n cep ty.................................................199 Ekonomika a návratnost autom atizovaných tes tů .................................. 200 S h rn utí....................................................................................................................201 13
O u t s o u r c i n g a d a l š í s t r a t e g i e d o d á v k y t e s t o v á n í ......203 Kom oditizace testování: p om ůže nám testovací továrna?...................204 Co je to centrum excelence v testování?................................................... 205 Jak strukturovat centrum excelence v testování?.................................... 206 Outsourcing a další strategie sourcingu testování.................................. 209 Jak sourcing ovlivňuje centra excelence v testování?............................ 211 Izolované testování..................................................................................... 211 TCoE interní (onshore insourcing)...............................................................213 Řízená testovací služba poskytovaná lokálně (onshore outsourcing)....... 213 A co když jsou testeři za mořem (offshore outsourcing)?...........................216 Důvěra, kontrola a m oc - jako roli hrají v outsourcingu?...................... 219 S h rn u tí....................................................................................................................220 L i t e r a t u r a ..........................................................................................................221 A b s t r a c t .............................................................................................................229