Я ищу инструмент / фреймворк для автоматического приемочного тестирования. Интерфейс для создания новых тестов должен быть настолько простым, чтобы непрограммист (заказчик, начальник) мог добавлять спецификации, которые будут тестироваться автоматически.
Должен быть какой-то способ выполнять тесты из командной строки, чтобы включить запуск тестов в автоматические сборки.
Я предпочитаю Java и Open-Source, но мой вопрос этим не ограничивается.
Что вы можете порекомендовать и, пожалуйста, объясните, почему ваш инструмент / фреймворк лучший в мире.





http://fitnesse.org/ соответствует всем требованиям, которые вам нужны. Это то, что я использовал с успехом.
То, что вы просите, похоже, относится к очень четко определенной системе с очень конкретными наборами входов и высокой степенью автоматизации, встроенной в систему или разработанной для вашей системы.
Коммерческие приложения, такие как HP Quick Test Pro, не являются достаточно нетехническими и требуют дополнительной инфраструктуры, такой как Сонет, что является шагом в правильном направлении, но ни одно из них не является открытым исходным кодом или основано на Java.
Даже при наличии фреймворка довольно сложно сделать эту работу автоматизированной. Я бы хотел, чтобы вы оценили время, необходимое для разработки фреймворка, и время, необходимое для запуска этих тестов вручную, и убедитесь, что вы хорошо используете свое время.
В том-то и дело: я не хочу разрабатывать для себя такой фреймворк, я хочу использовать уже существующий.
Я нашел фреймворк Concordion, который может удовлетворить мои потребности.
Другой фреймворк, на который вы, возможно, захотите взглянуть, - это Робот Фреймворк. Чтобы увидеть, как выглядят тестовые примеры, взгляните на Инструкция по началу работы.
Как насчет Огурец:
Feature: Acceptance testing framework
Scenario: an example speaks volumes
Given a text example
When it is read
Then the simplicity will be appreciated
Вам понадобится разработчик, чтобы обсудить с боссом, что на самом деле означает каждая из этих строк, и реализовать определение шага для ее реализации:
Given /^a text example$/ do
file.open("example.txt", "w") { |file| file.write "text example" }
end
When /^it is read$/ do
SystemUnderTest.read("example.txt")
end
Then /^the simplicity will be appreciated$/ do
SystemUnderTest.simplicity.should be_appreciated
end
Я думаю, что несколько вариантов очень хороши, и вам следует протестировать их, чтобы увидеть, какой из них подходит вашей команде:
Я посмотрю, если это соответствует моим потребностям.