Огляди, перевірки та покрокові інструкції
Відгуки, Інспекції та покрокові інструкції Нільс фон Делфт 07/05/2006

Контур Мотивація Визначення та пояснення Огляд покрокового огляду Моделі інспекції за Хамфрі та Гілбом Подальші аспекти оглядів Побічні ефекти Людський фактор Практичне використання оглядів Комп’ютерна підтримка оглядів 2
Мотивація 1 30 25 Відносні витрати на помилки Помилки кодування Помилки проектування Помилки вимог 20 15 10 5 0 Перегляд вимог Перегляд дизайну Кодекс огляду Структурний тест Функціональний тест Кароль Фрюхауф, Йохен Людевіг, Гельмут Сандмайр: Тест програмного забезпечення: Посібник з тестування та перевірки, 1995 3
Мотивація 2 Помилки в циклі розробки програмного забезпечення часто з’являються на початку невизначені помилки спричиняють значно більші витрати, чим пізніше їх виявляють. Програміст часто не помічає помилок Відстань до екрану/програми необхідні Часто не можна (або лише з труднощами) знайти автоматизовані засоби Проблеми, особливо з більш неформальними документами (вимогами, дизайном)
Перегляньте повторно: перегляньте ще раз: див. Так Огляньте: перегляньте ще раз, перегляньте знову Офіційно організована зустріч людей для перегляду змісту або форми частини продукту (документа, частини програми тощо) відповідно до визначених критеріїв тестування та списків. * Отже: зустріч щодо помилок у програмі знайти (не виправляти). * Професор д-р М. Глінц, Цюріхський університет, Інженерія програмного забезпечення 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% збір даних без оцінки даних Дослідження Ciolkowski, Laitenberger, Biffl: Огляди програмного забезпечення: стан практики, 2002 15
Позитивні побічні ефекти оглядів Регулярні відгуки для програмістів Розробка та відповідність стандартам коду Краща оцінка прогресу процесу Розподіл знань Покращений командний дух Розширені знання проекту 16
Людський фактор Форма дня Час Тиск Мотивація Лояльність Їздити на принципах диявола Знайти помилки 17
Наскільки корисна зустріч? За синергією зустрічі командного духу, спілкування Розподіл знань. У деяких випадках до 80% помилок було знайдено лише на зустрічі. Проти 20% додаткових витрат Переривання графіка розробника значно більше організаційних зусиль Перевірка може бути значно розширена Багато помилок виявлено під час підготовки (зазвичай від 67% до 95%) 18
Чому комп’ютерна підтримка? вбивство? Багато повторюваних дій не мають нічого спільного з реальним процесом. Не допускайте виявлення помилок. Традиційні процедури можуть швидко стати заплутаними. Фактор часу стає все більш важливим. Програмісти все більше геогр. Окремі спільні зустрічі часто важко організувати 19
Відправні точки для комп’ютерної підтримки Що змінюється? друковані документи електронні документи розсипчасті в'язки колекція електр. Пошук документів через стос документів, запит до бази даних, фізичні записки електронною поштою, але фактичний процес перегляду все ще виконується вручну Інструменти втручаються лише за підтримки 20
Найважливіші знову Огляди: Процедури раннього усунення несправностей шляхом огляду людей Також широко застосовується на практиці Покрокові інструкції: Швидкий, дешевий тип огляду Перевірка: Сильна офіційність з великим успіхом особиста зустріч Комп’ютерна підтримка має сенс втручатися підтримуючим способом (видаляє всі атрибути), але не може полегшити фактичний процес огляду 21