Вопрос

Я относительно новичок в мире тестирования Whitebox, и мне нужна помощь в разработке плана испытаний для 1 проектов, над которыми я сейчас работаю. На данный момент я просто разбираюсь в поисках тестируемых фрагментов кода, а затем пишу несколько модульных тестов для этого. Я как -то чувствую, что это, безусловно, не так, как это должно быть сделано. Пожалуйста, не могли бы вы дать мне совет о том, как лучше всего подготовиться к тестированию этого проекта? Какие -нибудь инструменты или шаблоны плана тестирования, которые я мог бы использовать? Используемый язык C ++, если он будет иметь значение.

Это было полезно?

Решение

Одна из целей тестирования белой коробки-охватить 100% (или как можно ближе) кодовых операторов. Я предлагаю найти инструмент покрытия кода C ++, чтобы вы могли видеть, какой код выполняет ваши тесты и какой код вы пропустили. Затем проектируйте тесты так, чтобы как можно больше кода было протестировано.

Другое предложение состоит в том, чтобы посмотреть на граничные условия, если в законодательстве, для петли, в то время как петли и т. Д. И проверить их на любые «серые» области, ложные позитивы и ложные отрицательные.

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

Есть три идеи, чтобы начать вас. Удачи

Другие советы

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

Люди говорят, что одно из основных преимуществТестовая разработка«Это то, что вы можете разрабатывать ваши компоненты с учетом тестируемости: это делает ваши компоненты более тестируемыми.


Мой личный (не-TDD) подход выглядит следующим образом:

Поэтому мое тестирование не совсем «белая коробка», за исключением того, что я обратно инженерист проверяется функциональность. Затем я проверяю эту функциональность с обратным инженером и избегаю какого-либо бесполезного (и, следовательно, непроверенного) кода. Я мог бы (но не часто) использовать инструмент покрытия кода, чтобы увидеть, сколько из исходного кода осуществляется тестами черного ящика.

Попробуйте «эффективно работать с устаревшим кодом»: http://www.amazon.com/working-effectively-leagacy-michael-feathers/dp/0131177052

Это актуально, поскольку под «Наследием» он имеет в виду код, который не имеет тестов. Это также довольно хорошая книга.

Соответствующие инструменты: http://code.google.com/p/googletest/ и http://code.google.com/p/gmock/Там могут быть другие модульные тест и фиктивные рамки, но я знаком с ними, и я рекомендую их высоко.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top