Показаны сообщения с ярлыком код. Показать все сообщения
Показаны сообщения с ярлыком код. Показать все сообщения

среда, 12 января 2011 г.

Что нам стоит код постоить

Предположим, что необходимо оценит временные затраты по написанию кода (создание определенных функций). Как провести эту оценку.
Упрощаем задачу, пусть имеется код и его нужно покрыть тестами. Сколько нужно на это времени (дней).
За основу можно взять COCOMO. COnstructive COst MOdel (COCOMO – модель издержек разработки) – это алгоритмическая модель оценки стоимости разработки программного обеспечения, разработанная Барри Боэмом (Barry Boehm). Модель использует простую формулу регрессии с параметрами, определенными из данных, собранных по ряду проектов.

Мы будем проще. Что нам понадобиться:
  1. COLNC. Число не оттестированных строчек кода (т.е. строчка кода которую можно протестировать или оператор цикла и т.д.). Что-то вроде SLOC. По-русски: Количество строк кода (Source Lines of Code — SLOC) — это метрика программного обеспечения, используемая для измерения его объёма с помощью подсчёта количества строк в тексте исходного кода. (измеряется в строчках)
  2. k. Средняя сложность строчки кода, т.е. можно интерпретировать как: во сколько больше строчек кода теста нужно написать для тестирования исходной (не оттестированной) строчки кода. (безразмерный коэффициент)
  3. Tw. Длительность рабочего дня (пусть будет в минутах в день).
  4. t. Среднее время, которое тратиться на написание одной строчки теста. (должно быть тоже в минут).
Тогда, в самом простом случае имеем:
TotalTime = (k*COLNC)/(Tw/t), что получаем
(Tw/t) - это сколько строчек теста можем написать за день.
k*COLNC- это сколько строчек теста нужно написать.
(k*COLNC)/(Tw/t) - это сколько дней будем писать тест.

Забавно! =)