Recenzii, inspecții și progrese

Recenzii, Inspecții și ghiduri Nils von Delft 07/05/2006

cerințe proiectare

Motivarea conturului Definiție și explicații Revizuirea inspecției generale Modele de inspecție conform lui Humphrey și Gilb Alte aspecte ale recenziilor Efecte secundare Factorul uman Utilizarea practică a recenziilor Suport computerizat pentru recenzii 2

Motivare 1 30 25 Costuri de eroare relative Erori de codare Erori de proiectare Erori de cerință 20 15 10 5 0 Revizuirea cerințelor Revizuirea proiectării Revizuirea codului Test structural Structură test funcțional Karol Frühauf, Jochen Ludewig, Helmut Sandmayr: Test software: Ghid de testare și inspecție, 1995 3

Motivația 2 Erorile din ciclul de dezvoltare software apar adesea erori nedetectate devreme cauzează costuri semnificativ mai mari cu cât se găsesc mai târziu Programatorul trece cu vederea erorile Distanța până la ecran/programul necesar n ochii văd mai mult de 2 (pentru n> 2) erori adesea nu (sau doar cu dificultate) nu se găsesc cu mijloace automate Probleme mai ales cu documente mai informale (cerințe, proiectare) Examinarea ulterioară de către alte persoane are sens 4

Revizuire re: vizualizare din nou: vezi Deci Revizuire: revizuire, revizuire O întâlnire organizată formal de oameni pentru a revizui conținutul sau forma unei părți de produs (document, piesa de program etc.) în conformitate cu criteriile și listele de testare specificate. * Deci: întâlnire despre erori în program a găsi (a nu fi corectat). * Prof. Dr. M. Glinz, Universitatea din Zurich, Inginerie software I, 05 5

O prezentare generală este o recenzie în care autorul descrie modul în care funcționează examinatorul pas cu pas, în timp ce recenzorii ascultă cu atenție și se conectează oriunde descoperă deficiențe. * Formalizarea este flexibilă, de obicei convocată de autor și condusă de doi sau mai mulți Discuția oamenilor despre design și codul programului. O bună oportunitate de a face schimb de experiențe. Se pune accent pe detectarea erorilor * Prof. Dr. M. Glinz, Universitatea din Zurich, Inginerie software I, 05 6

Inspecții Inspecțiile includ un proces mai formalizat în care examinatorii examinează individual și sistematic un document și înregistrează rezultatele lor. * În mod tradițional, efectuate manual, necesită pregătire și întâlniri separate. Candidații principali sunt sisteme care trebuie să fie foarte sigure (trafic aerian, sisteme medicale) Ciolkowski, Laitenberger, Biffl: Recenzii software: Starea practicii, 2002 7

Inspecții 2 Formular de revizuire strict formal introdus de Michael Fagan la IBM (1976) Concentrare pe liste de verificare Distribuție fixă ​​a rolurilor și aici, depanare (mai puțin depanare) Examinatorii se pregătesc separat Examinatorii vin la întâlnire cu o listă de erori Reuniunea se desfășoară numai dacă toată lumea este bine pregătită durează max. 2 ore nicio discuție de proiectare sau ideologie în cadrul întâlnirii să nu fie considerată un indicator de calitate (loialitate) 8

Roluri în inspecție Managerul emite ordinea pentru crearea articolului de testare Declanșează revizuirea Este responsabil pentru lansarea articolului de testare Moderatorul gestionează și planifică inspecția Conduce ședința și se asigură că totul funcționează fără probleme și că ritmul este adecvat Autorul este persoana responsabilă pentru inspecție cine a scris candidatul joacă un rol subordonat 9

Roluri în timpul inspecției 2 Sarcina examinatorului este de a găsi erori, mai întâi în timpul pregătirii și apoi în ședința echipei

Faze de inspecție Planificare Inițializare Sesiunea de pregătire A treia oră de lucru de urmărire Analiza aprobării 11

Modele de Humphrey (89) (și Gilb (93) (Introducere Planificare organizațională fază Prezentare generală Planificare Kick-off Recunoaștere fază Pregătire analiză Inspecție Verificare Logare Brainstorming Faza finală Reelaborare Urmărire Editare Urmărire Ieșire 12

Posibile variații ale inspecțiilor Fiecare inspector indică erori - după aceea, coordonare asincronă (de acord, respingere, neutră) Fiecare eroare găsită este tratată și ca atare (tot ceea ce pare greșit are nevoie de îmbunătățire) Sesiune de brainstorming după întâlnire despre întrebări de proiectare sau altele asemenea să discute mai multe inspecții în același timp (posibil tehnici diferite) mai multe recenzii în paralel care iau în considerare diferite aspecte ale elementului de testare 13

Inspecții vs. Inspecții detaliate Detectarea foarte formală a aproximativ 60% din erori (reducerea costurilor de eroare cu 75%) cuprinde aproximativ 15% până la 20% din efortul de creare a unui obiect de testare De la 40% la 40% din erori, de asemenea, potrivite pentru grupuri mai mari, întrucât întâlnirile sunt foarte scumpe, pasajele sunt, de asemenea, scumpe 14

Revizuiri în practică Obiective de revizuire 73% creștere a calității 54% aplicarea standardelor 52% determinarea stării proiectului regularitatea revizuirilor efectuate 42% cerințe 40% proiectare 30% planificare cod, prezentare generală 20% planificare regulată 30% lipsa criteriilor de intrare formală și finalizare Finalizare 40% fără colectare de date 18% colectare fără evaluarea datelor Studiu realizat de Ciolkowski, Laitenberger, Biffl: Software Reviews: The State of the Practice, 2002 15

Efecte secundare pozitive ale recenziilor feedback regulat pentru dezvoltarea programatorilor și conformitatea cu standardele de cod evaluare mai bună a progresului procesului distribuția cunoștințelor îmbunătățirea spiritului de echipă cunoștințe extinse ale proiectului 16

Factorul uman Forma zilei Presiunea timpului Motivație Loialitate Plimbare pe principii precum iadul Găsirea greșelilor 17

Cât de utilă este întâlnirea? Per sinergia întâlnirii spirit-echipă, comunicare Distribuția cunoștințelor În unele cazuri, până la 80% din erori au fost găsite doar în ședință Contra 20% costuri suplimentare Întreruperea programului dezvoltatorului semnificativ mai mult efort organizațional Inspecția poate fi extinsă semnificativ În timpul pregătirii se găsesc multe erori (de obicei 67% până la 95%) 18

De ce suport computer? plată? Multe activități repetitive nu au nimic de-a face cu procesul actual. Evitați să găsiți erori. Procedurile tradiționale pot deveni rapid confuze. Întâlnirile comune separate sunt adesea dificil de organizat 19

Puncte de pornire pentru asistența computerului Ce se schimbă? documente tipărite documente electronice lianți cu foi libere colecție de electr. Căutarea documentelor printr-o grămadă de documente interogare e-mail memorii fizice Însă procesul de revizuire efectiv se desfășoară în continuare manual Instrumente nu intervin decât în ​​mod suportiv 20

Cea mai importantă din nou Recenzii: Proceduri pentru depanarea timpurie prin revizuire umană Este, de asemenea, utilizat pe scară largă în practică Proceduri de parcurs: Tip de revizuire rapidă, mai ieftină Inspecție: Formalitate puternică, cu mare succes Există diferite modele de inspecție cu accente și elemente diferite. întâlnire personală Suportul computerului are sens să intervină într-o manieră de susținere (elimină toate capcanele), dar nu poate reduce procesul de revizuire efectiv 21