Введение

Экспертная оценка обученными специалистами

В разработке программного обеспечения инспекция – это экспертная оценка любого артефакта работы обученными специалистами, выявляющими дефекты с использованием четко определенного процесса. Инспекция также может называться инспекцией Фагана, по имени Майкла Фагана, создателя широко известного процесса инспектирования программного обеспечения.

Введение

Инспекция – один из наиболее распространенных видов анализа, используемых в программных проектах. Цель инспекции – выявление дефектов. К наиболее часто проверяемым артефактам относятся спецификации требований к программному обеспечению и планы тестирования. В ходе инспекции выбирается артефакт для анализа, и собирается команда для проведения инспекционного совещания. Выбирается модератор для ведения совещания. Каждый инспектор готовится к совещанию, изучая артефакт и фиксируя каждый обнаруженный дефект. В рамках инспекции дефектом считается любая часть артефакта, которая не позволит инспектору его одобрить. Например, если команда инспектирует спецификацию требований к программному обеспечению, каждый дефект будет представлять собой фрагмент текста в документе, с которым инспектор не согласен.

Процесс проверки

Процесс инспекции был разработан в середине 1970-х годов, после чего был расширен и модифицирован. Процесс должен иметь критерии входа, определяющие готовность к началу инспекции. Это предотвращает попадание незавершенных продуктов в процесс инспекции. Критериями входа может служить контрольный список, включающий такие пункты, как "Документ проверен на орфографические ошибки". Этапы процесса инспекции: планирование, обзорное совещание, подготовка, совещание по инспекции, доработка и последующий контроль. Этапы подготовки, совещания по инспекции и доработки могут повторяться. Планирование: Инспекцию планирует модератор. Обзорное совещание: Автор описывает предысторию создаваемого продукта. Подготовка: Каждый инспектор изучает продукт, чтобы выявить возможные дефекты. Совещание по инспекции: Во время совещания читающий просматривает продукт по частям, а инспекторы указывают на дефекты в каждой части. Доработка: Автор вносит изменения в продукт на основе плана действий, сформированного на совещании по инспекции. Последующий контроль: Изменения, внесенные автором, проверяются на предмет корректности. Процесс завершается модератором после выполнения заранее определенных критериев выхода. Термин "инспекция" относится к одному из важнейших элементов всего комплекса мероприятий, сопровождающих выполнение и успешное завершение проекта разработки программного обеспечения.

Роли инспекции

Во время проверки используются следующие роли. Автор: лицо, создавшее проверяемый продукт. Модератор: руководитель инспекции, который планирует и координирует ее. Читатель: человек, который просматривает документы по одному элементу за раз, после чего другие инспекторы указывают на дефекты. Секретарь/Записывающий: лицо, документирующее дефекты, обнаруженные в ходе проверки. Инспектор: лицо, которое изучает проверяемый продукт для выявления возможных дефектов.

Обзор кода

Обзор кода может проводиться как особый вид инспекции, в ходе которой команда рассматривает фрагмент кода и устраняет в нем любые дефекты. В процессе обзора кода дефектом считается блок кода, который некорректно реализует требования, не работает так, как задумал программист, или не является ошибочным, но может быть улучшен (например, его можно сделать более понятным или повысить его производительность). Помимо помощи командам в обнаружении и исправлении ошибок, обзоры кода полезны для взаимного обучения программистов коду, который подвергается проверке, а также для помощи начинающим разработчикам в освоении новых техник программирования.

Рецензии коллег

Рецензирование коллегами считается передовой практикой в отрасли для раннего выявления дефектов программного обеспечения и изучения программных артефактов. Рецензирование коллегами включает в себя просмотр программного обеспечения и инспекцию программного обеспечения и является неотъемлемой частью разработки программных продуктов. Совокупность согласованных знаний, навыков и моделей поведения способствует наиболее эффективному проведению рецензирования коллегами. Элементы рецензирования коллегами включают структурированный процесс рецензирования, контрольные списки для обеспечения качества, четко определенные роли участников, а также формы и отчеты. Инспекция программного обеспечения – это наиболее строгая форма рецензирования коллегами, которая в полной мере использует эти элементы для выявления дефектов. Просмотр программного обеспечения выборочно использует эти элементы, помогая разработчику получить глубокое понимание артефакта и достичь консенсуса среди участников. Полученные результаты показывают, что рецензирование коллегами обеспечивает привлекательную отдачу от инвестиций благодаря ускоренному обучению и раннему выявлению дефектов. Для достижения наилучших результатов рецензирование коллегами внедряется в организации посредством определенной программы, включающей разработку политики и процедур, обучение специалистов и руководителей, определение метрик и создание структуры базы данных, а также поддержание инфраструктуры внедрения.