Платформа тестирования для функционального / системного тестирования на C / C ++?

StackOverflow https://stackoverflow.com/questions/438809

  •  22-07-2019
  •  | 
  •  

Вопрос

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

Точка в деле:Какой фреймворк помогает при тестировании таких вещей, как, работает ли ваш ввод-вывод?У меня есть отлаженная система, которая создает временные папки, копирует кучу данных, поэтому тесты всегда выполняются в одной и той же среде, но прежде чем я потрачу больше времени на свою пользовательскую платформу - есть ли уже хорошая?

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

Решение

Я уже писал один с нуля три раза - дважды для тестирования приложений C ++, которые общались с биржами по протоколу FIX, один раз для приложения с графическим интерфейсом.

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

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

Несколько советов: убедитесь, что ваши журналы легко разбираются, детализированы, но не слишком многословны. Иметь нормальную конфигурацию по умолчанию. Упростите «сброс» приложение - вам нужно делать это после каждого теста.

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

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

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

Для части того, что вам требуется, Корпорация Майкрософт предоставляет Верификатор приложения:

Верификатор приложений (AppVerifier) - это инструмент проверки во время выполнения, используемый при тестировании приложений на совместимость с Microsoft Windows XP.Этот инструмент можно использовать для проверки широкого спектра известных проблем с совместимостью во время работы приложения.В этой статье подробно описаны шаги по использованию AppVerifier в качестве эффективного дополнения к циклам разработки и тестирования приложений.

Application Verifier может быть полезен для тестирования нехватки памяти, других ограниченных ресурсов и другого использования API.

Другой частью головоломки является пакет Microsoft Detours, который можно использовать для замены вызовов API вашим собственным кодом (полезно, скажем, для возврата кодов ошибок в тестах, которые сложно настроить).

Detours - это библиотека для инструментирования произвольных функций Win32 на компьютерах x86, x64 и IA64.Обходные пути перехватывают функции Win32 путем перезаписи кода в памяти для целевых функций.Пакет Detours также содержит утилиты для присоединения произвольных библиотек DLL и сегментов данных (называемых полезными нагрузками) к любому двоичному файлу Win32.

Доступны и другие, более крупные (и более дорогие) комплексные пакеты.Borland производит Шелк.
Автоматизированное программное обеспечение делает Тест завершен.Выбор одного из этих инструментов будет зависеть от ваших потребностей в ваших приложениях.
IBM/Rational предоставляет Рациональный Функциональный Тестер, который доступен на многих платформах и обладает множеством функций.

Привет, я не уверен, что имеющаяся у нас среда помогает в вашей ситуации, но она подключается к Rational Functional Tester и позволяет пользователю создавать различные наборы данных для присоединения к различным тестам и изменять условия без изменения сценариев и повторно использует автоматизация эффективным способом. Посмотрите, если вы заинтересованы: http://www.testpro.com.au/Test-Automation-Framework.html

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