Приемочные испытания и покрытие кода

Каков наилучший способ измерения покрытия для ваших приемочных испытаний?

Как вы определяете, сколько охватывают ваши приемочные тесты и когда их достаточно?

1 ответ

Решение

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

Что касается измерений, Рон Джеффрис, один из отцов-основателей Agile, написал отличную сводку того, что он считает действительно ценной метрикой, RTF или Запуск проверенных функций. Вы можете просмотреть статью здесь. Я просто цитирую небольшую часть ниже:

В чем суть проекта?

Я просто догадываюсь, но я думаю, что смысл большинства проектов по разработке программного обеспечения - это программное обеспечение, которое работает, и в нем есть как можно больше функций на доллар инвестиций. Я называю это понятием "Проверка работоспособности" [Возможности], и на самом деле его можно измерить до некоторой степени.

Представьте себе следующее определение RTF:

  1. Желаемое программное обеспечение разбито на именованные функции (требования, истории), которые являются частью того, что значит доставить желаемую систему.
  2. Для каждой именованной функции существует один или несколько автоматических приемочных тестов, которые, когда они работают, покажут, что данная функция реализована.
  3. Метрика RTF показывает, в каждый момент проекта, сколько функций проходит все свои приемочные испытания.

Сколько определенных пользователем функций, как известно, благодаря независимому тестированию работают? Теперь есть метрика, с которой я мог бы жить.

Чтобы сообщить о прогрессе, мне особенно нравятся интегральные схемы. Они ясно показывают, когда что-то идет не так, например (здесь стиль выгорания):

http://xprogramming.com/images/BVCcustTest2.jpg

Для примера из реальной жизни взгляните на этот пост или на этот (таблица стилей).

Другие вопросы по тегам