Регрессионное тестирование в C++

Например:

sleep(num_secs)

Значение num_secs может быть целым числом или числом с плавающей запятой.

Кроме того, если вы пишете это в приложении Rails или включили библиотеку ActiveSupport в свой проект, вы можете создавать более длинные интервалы, используя следующий удобный синтаксис:

sleep(4.minutes)
# or, even longer...
sleep(2.hours); sleep(3.days) # etc., etc.
# or shorter
sleep(0.5) # half a second
8
задан Łukasz Lew 22 June 2009 в 00:44
поделиться

3 ответа

Ознакомьтесь с библиотекой ускоренной сериализации . Это позволит вам выгружать ваши файлы в xml, который затем вы можете сравнить для каждой версии.

Чтобы создать свои тестовые примеры, если вы еще этого не сделали, используйте gcov для определения покрытия через ваши функции. Это, по крайней мере, гарантирует, что в вашей функции есть все операторы.

Модульное тестирование

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

Это не модульное тестирование в строгом смысле слова, поскольку вы должны предполагать, что остальная часть библиотеки верна , тем не мение,

2
ответ дан 5 December 2019 в 23:17
поделиться

Вы можете взглянуть на Библиотеку тестирования ускорения . Я никогда им не пользовался, но может исполнить ваши желания.

Когда я работаю, я обычно пишу простые тестовые примеры в нашем тест-трекере, чтобы максимально упростить регрессионные тесты (особенно для не-меня людей :).

2
ответ дан 5 December 2019 в 23:17
поделиться

Хорошо, здесь обсуждаются три вещи: подгонка тестов под унаследованный код, модульное тестирование и приемочное / регрессионное тестирование - все на C ++.

Во-первых, чтобы взять унаследованный код и подобрать к нему тесты, я рекомендую приобрести копию «Эффективная работа с унаследованным кодом» Майкла Фезерса. Это потрясающая книга, и она научит вас, что любой унаследованный код может быть модульно протестирован! Я использовал приемы из этой книги, чтобы подобрать тесты для вещей, которые, как мне все говорили, нельзя тестировать, но я все равно сделал это : -) .

Во-вторых, для модульного тестирования на C ++ я только что написал серию сообщений в блоге из 5 частей, в которых подробно описывается, как это сделать с помощью Visual Studio: Модульное тестирование C ++ с Boost.Test .

Наконец, для приемочного / регрессионного тестирования я успешно использовал Fitnesse. По сути, это структура приемочного тестирования, в которой для организации и написания тестов используется вики. Страница вики просматривается и анализируется, превращаясь в вызовы в написанное вами тестовое приспособление. Затем инструмент тестирования является посредником между тестом, как описано на странице вики, и вашим производственным кодом. Я использовал этот механизм для сквозного регрессионного тестирования всего приложения. Объедините это с модульными тестами для классов, которые вы изменяете, и это очень мощный механизм обнаружения ошибок. Регрессионные тесты сжимаются сверху, модульные тесты сжимаются снизу, а ошибки отлавливаются посередине! У меня он отлично сработал.

Получите основной дистрибутив фитнеса с fitnesse.org Вы можете получить средство запуска тестов C ++ для FitNesse из sourceforge . (Я разработчик этого проекта.) Мы еще не добавили поддержку SLIM, которая есть в основной вики по фитнесу, но у нас есть хорошая поддержка для некоторых приспособлений. Мы надеемся вскоре добавить поддержку SLIM. У меня есть элементарная реализация, которую нужно доработать.

Добавлена ​​поддержка SLIM, которая есть в основной вики по фитнесу, но у нас есть хорошая поддержка для нескольких приспособлений. Мы надеемся вскоре добавить поддержку SLIM. У меня есть элементарная реализация, которую нужно доработать.

Добавлена ​​поддержка SLIM, которая есть в основной вики по фитнесу, но у нас есть хорошая поддержка для нескольких приспособлений. Мы надеемся вскоре добавить поддержку SLIM. У меня есть элементарная реализация, которую нужно доработать.

1
ответ дан 5 December 2019 в 23:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: