EvilsInterrupt
@EvilsInterrupt
System programming, Reversing Engineering, C++

Прошу подсказать Test Framework по принципу черного ящика для тестирования консольных приложений

Нуждаюсь в средстве, которое бы позволило бы мне организовать тестирование консольных приложений.

Основными критериями являются:
  1. Мультиплатформеность
  2. Тестирует по принципу черного ящика
  3. Минимализм


Тест-план, который понимает эта тест-система, примерно должен быть таким:
[general]
[general]
testobject = ..\..\my_tools.exe
expected_reports = ..\expected_reports\
output_logs = ..\output_logs\
test_vectors = ..\test_vectors\
output_files = ..\output\
out_postfix = output

[setup_emptyfile]
input_file = sample.bin
input_md5 = 104B0FF4DA7DA7B91C447830BEECBABD
cmdline = --source_file %input_file% --output_file %input_file%_%out_postfix%.bin --nologo

[test_emptyfile]
exit_code = 5
outlog_md5 = 221CCDCAB9DF2A06150AA93D07CA455A
output_md5 = D41D8CD98F00B204E9800998ECF8427E
stdout_md5 = 8E5338AD169E2D7DDB57109BB2A5FAB2
stderr_md5 = 8E5338AD169E2D7DDB57109BB2A5FAB2

[teardown_emptyfile]
output_file = sample_output.bin
stdout_file = sample_stdout.bin
stderr_file = sample_stderr.bin

  • Вопрос задан
  • 3324 просмотра
Пригласить эксперта
Ответы на вопрос 3
@mpetrunin
Совсем прямо в том виде, что вы хотите подсказать не могу. Но есть плагин Aruba для замечательного BDD-фреймворка cucumber.

Как выглядит его использование можно посмотреть, например, в тестах (фичах) самого cucumber'а. Пример конкретной фичи.

Разобраться как устроены шаги в фичах можно, почитав описания этих шагов.

Писать сценарии можно даже на русском.

Вообще, из тестов кукумбера получается хорошая наглядная документация.
Пример документации автоматически сгенерированной из тестов кукумбера — собственно, один из видов дорументации к кукумберу или документация к Rspec2. Например, вот документация для той фичи, на которую я ссылался выше.

Aruba: github.com/cucumber/aruba
Форк Aruba: github.com/byrnejb/aruba

Выбирайте, что больше нравится.
Ответ написан
Комментировать
EvilsInterrupt
@EvilsInterrupt Автор вопроса
System programming, Reversing Engineering, C++
Я рассматривал LoadRunner и cocumber, но отмел их в силу нарушения критерия №3(см. мой топик). К примеру для тулзы подобной readelf(известная среди UNIX-юзеров), которую разрабатываю в данный решение основанное на LoadRunner и cocumber будет подобно обстрелу воробьев из пушек.

Пока склоняюсь к собственной разработке на Python 3.2 в виду мультиплатформенности и широкой известности последнего.

Мне хочется тестировать тулзы подобные readelf, а также тулзы обрабатывающие входной поток из STDIN или файла и выдающие результат в STDOUT или в файл. При этом заключаю с самим собою договор, что тулза не имеет право писать сообщения об ошибках в STDOUT и пишет их только в STDERR или в лог-файл.
Ответ написан
Комментировать
EvilsInterrupt
@EvilsInterrupt Автор вопроса
System programming, Reversing Engineering, C++
Прошло уже довольно много времени моих поисков. В общем для решения своей задачи стартовал опен-сурс проект code.google.com/p/non-smoker/. Вероятно все же где-то есть подходящее моим требованиям проект, но в виду того что не нашел до сего дня, то не имеет смысла ждать и оставлять на потом те задачи тестирования которые хочу решить уже давно. Обрадуюсь любой критике, предложениям
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы