Прочтите это и посмотрите, полезно ли это. Вы бы назвали эту подпрограмму с именем вашего заголовка в столбце А.
Sub ScanAndColor(tblName As String)
Dim row As Integer
row = 1
'scan down until you find tblName, this is like "STEPS" or "STEPS1" or whatever
Do While Cells(row, 1).Text <> tblName
'just read the next row
row = row + 1
'since we're letting someone else tell us what value to stop at, maybe we should add some infinite loop protection
If row = 1000 Then GoTo EscapeHatch
Loop
'push down one column to start reading just under the headers
row = row + 1
'scan down through the table until we hit some whitespace
Do While Cells(row, 1).Text <> ""
'in each iteration, grab every 3rd column from col 2 and assign it a color
' according to the code in the first cell.
For col = 2 To 14 Step 3
Cells(row, col).Interior.Color = Cells(Cells(row, 1) + 15, 2).Interior.Color
Next col
'increment the row
row = row + 1
Loop
EscapeHatch:
End Sub
NCover (и коммерческий и открытый исходный код один с тем же именем) и инструмент покрытия кода в Visual Studio являются в значительной степени Вашими основными инструментами в мире MS.
Покрытие кода является обратной метрикой. Это действительно не показывает Вам, какой код соответственно тестируется. Как упомянутый Nick, у Вас может быть тест, которые покрывают, но действительно не тестируют много. Покрытие кода вместо этого говорит Вам, какая область Вашего кода не имеют абсолютно никаких тестов. Оттуда, можно решить, имеет ли это смысл к тестам записи на этот код.
В целом я думаю, что необходимо сделать покрытие кода, так как оно не прилагает много усилий для установки, и оно, по крайней мере, дает Вам больше информации о Вашем коде, чем, что Вы имели прежде.
Я соглашаюсь, что получение той последней части кода является, вероятно, самым жестким и может быть точка, где ROI на нем просто не имеет смысла.
При выполнении Разработки через тестирование код должен поражать по крайней мере 70% без попытки. Некоторые области Вы просто не можете или быть бессмысленными, чтобы иметь тестовое покрытие, это - то, где атрибуты NoCoverage для NCover пригождаются (можно отметить классы, которые будут исключены покрытием кода).
Покрытие кода не должно придерживаться к неукоснительно, это должен просто быть полезный способ дать Вам, намекает на области, которые Вы пропустили с тестированием. Это должен быть Ваш друг, не подобный нацисту!
NCover поможет показать Вам покрытие. Покрытие невероятно полезно, к сожалению, оно может, очевидно, играться. Если у Вас будут плохие разработчики, покрывающие код только для подъема %age, то да, это в конечном счете будет бесполезно и скроет раскрытые области. После того как Вы увольняете тех людей, можно зафиксировать его и возвратиться к полезной информации. Определение целей покрытия, которые недосягаемы, является верным способом получить плохое покрытие.
Я не использовал его лично, но один из моих коллег клянется nCover (http://www.ncover.com/).
Насколько покрытие идет в Ruby, по крайней мере, 70% легко, 90% является выполнимым, и 100% редко возможность.
Выпуск Разработчика системы Команды Visual Studio включает покрытие кода. Это может быть включено когда рабочие модульные тесты.
Откройте .testrunconfig и выбор, для каких блоков Вы хотите данные.
Существует две вещи принять во внимание при рассмотрении Покрытия Кода.
Возьмите, например, этот отрывок:
if (a == 2)
{
do_A_Stuff();
}
if (b == 3)
{
do_B_Stuff();
}
Запустите тест где = 2 и второй тест где b = 3. Это - 100%-е покрытие кода. Но что происходит когда с тестом где = 2 и b = 3? Они - "Переменные Отношения" и могут привести к самонадеянности в метриках покрытия.