Прегледи, инспекции и прошетки
Осврти, Инспекции и прошетки Нилс фон Делфт 07/05/2006

Преглед на мотивација Дефиниција и објаснување Преглед на инспекција низ моделите на инспекција според Хамфри и Гилб Други аспекти на прегледите Несакани ефекти Човечки фактор Практична употреба на прегледи Компјутерска поддршка за прегледи
Мотивација 1 30 25 Релативни трошоци за грешки Грешки во кодирањето Грешки во дизајнот Грешки во побарувањата 20 15 10 5 0 Преглед на барањата Преглед на дизајнот Преглед на кодот Структурен тест Тест на функција Карол Фрухауф, Јочен Лудевиг, Хелмут Сандмаер: Тест на софтвер: Водич за тестирање и проверка, 1995 3
Мотивација 2 Грешки во циклусот на развој на софтвер често се појавуваат рано неоткриени грешки предизвикуваат значително поголеми трошоци, подоцна ќе бидат пронајдени Програмер често занемарува грешки Далечина до екран/програма неопходни n очи гледаат повеќе од 2 (за n> 2) грешки Честопати (или само со тешкотии) не може да се најде со автоматизирани средства Проблеми особено со повеќе неформални документи (барања, дизајн) Понатамошно испитување од други луѓе има смисла 4
Прегледајте повторно: прегледајте повторно: видете Така Прегледајте: видете повторно, погледнете одново Формално организиран состанок на луѓе за преглед на содржината или формата на дел од производот (документ, дел од програмата, итн.) Според наведените критериуми за тестирање и списоци. * Значи: состанок за грешки во програмата да се најде (да не се коригира). * Проф. М. Глинц, Универзитет во Цирих, софтверско инженерство I, 05 5
Прошетки Прошетка е преглед во кој авторот опишува како испитаникот работи чекор по чекор, додека рецензентите внимателно слушаат и се закачуваат каде и да откријат недостатоци. * Формализацијата е флексибилна, обично свикана од авторот и водена од двајца или повеќе Дискусија на луѓе за дизајнот и програмскиот код. Добра можност за размена на искуства. Акцентот е ставен на откривањето грешки * Проф. М. Глинц, Универзитет во Цирих, Инженерство на софтвер I, 05 6
Инспекции Инспекциите вклучуваат поформализиран процес во кој испитувачите индивидуално и систематски испитуваат документ и ги бележат нивните резултати. * Традиционално спроведено рачно, потребна е посебна подготовка и состаноци. Главни кандидати се системи што треба да бидат многу безбедни (воздушен сообраќај, медицински системи) Чиолковски, Лајтенбергер, Бифл: Софтверски прегледи: Состојба на пракса, 2002 година 7
Инспекции 2 Строго формален образец за преглед воведен од Мајкл Фаган во IBM (1976) Концентрација на списоци за проверка Фиксна распределба на улогите и тука, смена на проблеми (помалку смена на проблеми) Испитувачите се подготвуваат одделно Испитувачите доаѓаат на состанокот со список со грешки Средбата се спроведува само ако сите се добро подготвени трае максимум 2 часа, без дискусија за дизајн или идеологија на состанокот не треба да се смета како индикатор за квалитет (лојалност) 8
Улоги на инспекцијата Менаџерот издава наредба за создавање на тест-дел Активира прегледот е одговорен за ослободување на тест-моделот Модераторот управува и ја планира инспекцијата Води на состанокот и гарантира дека сè ќе се одвива непречено и дека темпото е соодветно Авторот е одговорно лице за инспекцијата кој го напиша кандидатот игра прилично подредена улога 9
Улоги за време на инспекцијата 2 Задачата на испитувачот е да најде грешки, прво за време на подготовката, а потоа и на состанокот на тимот. Секретарот ги бележи резултатите од состанокот, не треба да биде модератор 10
Фази на инспекција Планирање Иницијализација Сесија на подготовка Трет час на следна работа Анализа на одобрување 11
Модели од Хамфри (89) (и Гилб (93) (Преглед на организациска фаза на планирање Преглед на планирање на фаза на препознавање Подготовка на анализа Анализа Инспекција Проверка на најавување Бура на идеи Резултати од завршна фаза Следење Последователни измени Излез 12
Можни варијации во инспекциите Секој инспектор укажува на грешки - потоа, асинхроната координација (согласувам, отфрлам, неутрална) секоја пронајдена грешка исто така се третира како таква (сè што изгледа погрешно, треба да се подобри) сесија за идеи по состанокот, за прашања од дизајн или слично да се дискутира за неколку инспекции во исто време (евентуално различни техники) неколку прегледи паралелно кои разгледуваат различни аспекти на тест точка 13
Инспекции наспроти прошетки Многу формални инспекции Откривање на околу 60% од грешките (намалување на трошоците за грешки за 75%) опфаќаат околу 15% до 20% од напорите за создавање на тест ставка Намалување на вкупните трошоци на проектот (14% до 25%) Прошетки помалку формални помалку организациски напори Откривање од 20% до 40% грешки, исто така погодни за поголеми групи, бидејќи состаноците се многу скапи, проодните страници се исто така скапи 14
Прегледи во пракса Цели за преглед 73% зголемување на квалитетот 54% спроведување на стандардите 52% утврдување на статусот на проектот Редовноста на прегледите извршени 42% барања 40% дизајн 30% планирање код, преглед 20% редовно планирање 30% без употреба на формални критериуми за влез и завршување Заклучок 40% без собирање податоци Собирање 18% без проценка на податоците Студија на Чиолковски, Лајтенбергер, Бифл: Прегледи на софтвер: Состојба на пракса, 2002 15
Позитивни несакани ефекти од прегледите редовни повратни информации за развој на програмери и усогласеност со кодните стандарди подобра проценка на напредокот на процесот дистрибуција на знаење подобрен тимски дух проширено знаење за проектот 16
Човечки фактор Форма на денот Време на притисок Мотивација Лојалност Возете по принципите, по ѓаволите, Откривање грешки 17
Колку е корисен состанокот? По синергија на состанок за тимски дух, комуникација Дистрибуција на знаење Во некои случаи, до 80% од грешките беа откриени само на состанокот Контра 20% дополнителни трошоци Прекин на распоредот на програмерот значително повеќе организациски напор Инспекцијата може значително да се прошири Многу грешки се наоѓаат при подготовка (обично од 67% до 95%) 18
Зошто компјутерска поддршка? плаќање? Многу активности што се повторуваат немаат никаква врска со реалниот процес. Не чувајте грешки. Традиционалните процедури можат брзо да станат збунувачки. Факторот време станува сè поважен. Програмерите се повеќе географски. Одделни заеднички состаноци честопати е тешко да се организираат 19
Појдовни точки за компјутерска поддршка Што се менува? печатени документи електронски документи врзивно врзани лисја колекција на електро. Пребарување документи преку куп документи база на податоци за физички белешки е-пошта Но, вистинскиот процес на преглед сеуште се изведува рачно Алатките само интервенираат на поддржувачки начин 20
Повторно најважни прегледи: Процедури за рано решавање проблеми преку преглед на луѓе е широко користен и во пракса Прошетки: Брз, поевтин вид на преглед Инспекција: Силна формалност со голем успех Постојат различни модели на инспекција со различни нагласи и елементи Поскапа и контроверзна точка е лицето- лице-средба Компјутерска поддршка има смисла да се интервенира на поддржувачки начин (ги отстранува сите стапици), но не може да го олесни реалниот процес на преглед