Recenzie, inšpekcie a návody
Recenzie, Inšpekcie a návody Nils von Delft 07/05/2006

Osnova Motivácia Definícia a vysvetlenie Revízia podrobnej inšpekcie Inšpekčné modely podľa Humphreyho a Gilba Ďalšie aspekty recenzií Vedľajšie účinky Ľudský faktor Praktické využitie recenzií Počítačová podpora pre recenzie 2
Motivácia 1 30 25 Relatívne náklady na chyby Chyby v kódovaní Chyby v dizajne Chyby v požiadavkách 20 15 10 5 0 Preskúmanie požiadaviek Preskúmanie dizajnu Kontrola kódu Štrukturálny test Funkčný test Karol Frühauf, Jochen Ludewig, Helmut Sandmayr: Test softvéru: Sprievodca testovaním a inšpekciou, 1995 3
Motivácia 2 Chyby vo vývojovom cykle softvéru sa často vyskytujú včasné neodhalené chyby spôsobujú výrazne vyššie náklady, čím neskôr sa nájdu Programátor často chyby prehliada Prezerá si vzdialenosť od obrazovky/programu n oči vidia viac ako 2 (pre n> 2) chyby Automatizované prostriedky sa často nedajú nájsť (alebo len s ťažkosťami). Problémy najmä s neformálnejšími dokumentmi (požiadavky, dizajn). Ďalšie preskúmanie inými ľuďmi má zmysel 4.
Recenzia re: zobraziť znova: vidieť Takže skontrolovať: znova vidieť, znova prehliadnuť Formálne organizované stretnutie ľudí, aby skontrolovali obsah alebo formu časti produktu (dokumentu, časti programu atď.) Podľa zadaných testovacích kritérií a zoznamov. * Takže: stretnutie o chybách v programe nájsť (nebude opravené). * Prof. Dr. M. Glinz, University of Zurich, Software Engineering I, 05 5
Návod Návod je recenzia, v ktorej autor popisuje, ako testovaná osoba pracuje krok za krokom, zatiaľ čo recenzenti pozorne načúvajú a pripájajú sa, kdekoľvek zistia nedostatky. * Formalizácia je flexibilná, zvyčajne ju zvoláva autor a vedú ju dvaja alebo viacerí. Diskusia ľudí o dizajne a programovom kóde. Dobrá príležitosť na výmenu skúseností. Dôraz sa kladie na detekciu chýb * Prof. Dr. M. Glinz, University of Zurich, Software Engineering I, 05 6
Inšpekcie Inšpekcie zahŕňajú formalizovanejší proces, v ktorom skúšajúci individuálne a systematicky skúmajú dokument a zaznamenávajú ich výsledky. * Tradične sa vykonávajú ručne a vyžadujú samostatnú prípravu a stretnutia. Hlavnými kandidátmi sú systémy, ktoré musia byť veľmi bezpečné proti zlyhaniu (letová prevádzka, lekárske systémy). Ciolkowski, Laitenberger, Biffl: Recenzie softvéru: Stav praxe, 2002 7
Inšpekcie 2 Formulár na prísne formálne preskúmanie, ktorý predstavil Michael Fagan zo spoločnosti IBM (1976) Koncentrácia na kontrolné zoznamy Opravené rozdelenie rolí aj tu, riešenie problémov (menej riešení problémov) Skúšajúci sa pripravujú osobitne Skúšajúci prichádzajú na stretnutie so zoznamom chýb Stretnutie sa koná, iba ak sú všetci dobre pripravení trvá maximálne 2 hodiny, diskusia o dizajne alebo ideológii na stretnutí by sa nemala považovať za ukazovateľ kvality (lojalita) 8
Úlohy pri inšpekcii Manažér vydáva príkaz na vytvorenie testovanej položky Spustí kontrolu Je zodpovedný za vydanie testovanej položky Moderátor riadi a plánuje inšpekciu Vedie schôdzu a zaisťuje, aby všetko prebehlo hladko a aby bolo primerané tempo Autor je osoba zodpovedná za inšpekciu kto napísal kandidáta, hrá podradnú úlohu 9
Úlohy počas inšpekcie 2 Úlohou skúšajúceho je nájsť chyby, najskôr počas procesu prípravy a potom pri tímovom stretnutí. Tajomník zaznamenáva výsledky stretnutia, nemal by byť moderátorom.
Fázy kontroly Plánovanie Inicializácia Prípravná relácia Tretia hodina následných prác Analýza schválenia 11
Modely od Humphreyho (89) (a Gilba (93) (Vstupné informácie o plánovaní organizačnej fázy Plánovanie Kick-off rozpoznávanie Príprava fázy Analýza Kontrola Kontrola Logovanie Brainstorming Finálna fáza Prepracovanie Následné úpravy Upraviť Následné kroky Exit 12
Možné variácie inšpekcií Každý inšpektor označuje chyby - následne sa asynchrónna koordinácia (súhlas, odmietnutie, neutrálna) s každou nájdenou chybou zaobchádza ako s takou (všetko, čo vyzerá zle, je potrebné vylepšiť) brainstorming po stretnutí, o otázkach týkajúcich sa dizajnu alebo podobne prediskutovať niekoľko inšpekcií súčasne (prípadne rôzne techniky), niekoľko paralelných preskúmaní, ktoré zohľadňujú rôzne aspekty testovanej položky 13
Inšpekcie vs. návody Veľmi formálne inšpekcie Zistenie približne 60% chýb (zníženie nákladov na chyby o 75%) predstavuje približne 15% až 20% úsilia o vytvorenie testovacej položky. Zníženie celkových nákladov na projekt (14% až 25%). Detekcia 20% až 40% chýb vhodná aj pre väčšie skupiny, pretože schôdzky sú veľmi drahé, podrobné pokyny sú tiež drahé 14
Recenzie v praxi Ciele kontroly 73% zvýšenie kvality 54% presadzovanie štandardov 52% stanovenie stavu projektu pravidelnosť vykonaných kontrol 42% požiadavky 40% dizajn 30% plánovanie kódu, prehľad 20% pravidelné plánovanie 30% nepoužívanie formálnych vstupných a dokončovacích kritérií Dokončenie 40% žiadny zber údajov 18% zber bez vyhodnotenia údajov Štúdia Ciolkowski, Laitenberger, Biffl: Recenzie softvéru: Stav praxe, 2002 15
Pozitívne vedľajšie účinky recenzií Pravidelná spätná väzba pre programátorov Vývoj a dodržiavanie štandardov kódu Lepšie hodnotenie pokroku procesu Distribúcia znalostí Vylepšený tímový duch Rozšírené znalosti projektu 16
Ľudský faktor Forma dňa Časový tlak Motivácia Vernosť Jazda na princípoch sakra z toho Hľadanie chýb 17.
Aká užitočná je schôdza? Na synergiu stretnutia tímového ducha, komunikácia Distribúcia znalostí V niektorých prípadoch sa až 80% chýb zistilo iba na stretnutí Contra 20% dodatočné náklady Prerušenie harmonogramu vývojára podstatne väčšie organizačné úsilie Inšpekciu je možné významne predĺžiť Mnoho chýb sa zistí počas prípravy (zvyčajne 67% až 95%) 18
Prečo počítačová podpora? platba? Mnoho opakujúcich sa aktivít nemá nič spoločné so skutočným procesom. Nehľadajte chyby. Tradičné postupy môžu byť rýchlo mätúce. Časový faktor je čoraz dôležitejší. Programátori sú čoraz viac geografickí. Samostatné spoločné vymenovania je často ťažké zorganizovať19
Východiská počítačovej podpory Čo sa mení? tlačené dokumenty elektronické dokumenty voľné zakladače zbierka elektr. Vyhľadávanie dokumentov prostredníctvom hromady dokumentov dotaz na databázu fyzické poznámky e-mail Samotný proces kontroly sa však stále vykonáva ručne Nástroje zasahujú iba podporne 20
Najdôležitejšie znova Recenzie: Postupy pre včasné riešenie problémov pomocou kontroly človekom. V praxi sa tiež často používa. Návody: Rýchly a lacnejší typ kontroly Kontrola: Silná formalita s veľkým úspechom. Existujú rôzne modely kontroly s rôznymi dôrazmi a prvkami. Drahším a kontroverzným bodom je tvár- osobné stretnutie Počítačová podpora má zmysel intervenovať podporne (odoberá všetky ozdoby), ale nemôže znížiť skutočný proces kontroly 21