Задать вопрос
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 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 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/. Вероятно все же где-то есть подходящее моим требованиям проект, но в виду того что не нашел до сего дня, то не имеет смысла ждать и оставлять на потом те задачи тестирования которые хочу решить уже давно. Обрадуюсь любой критике, предложениям
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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