Выполнение и представление результатов при тестировании Blackbox - PullRequest
1 голос
/ 13 февраля 2012

Я разработал тестовую среду Blackbox в Python 3.2 для тестирования аппаратного обеспечения. В этой среде у меня есть модуль TestExecution.py, где я запускаю свои тесты следующим образом:

while(True):
    TestWithRestart("Test122")
    TestWithRestart("Test123",keys="invalid_keys.dat")
    TestWithOneComPort("Test200", keys="invalid_keys.dat")
    TestWithTwoComPorts("Test200")
    TestWithTwoComPorts("Test200", ppc_simulation_script="Test200.pcc")
    TestWithNoComPort()
    TestTime("Test500")
    Test600()
    TestWithComPortNoise("Test600")
    TestWithComPortInteruption("Test601")

Каждый аппаратный выпуск, который я тестирую, представлен на моем ПК своей собственной папкой Test Environment. Эта папка содержит журналы, ключи и TestExecution.py. Каждый тестовый случай имеет свою собственную папку результатов, и в этой папке у меня есть папки журналов для каждого выполнения теста.

Также возможно, что мне нужно разработать новые тесты для нового выпуска оборудования. В этом случае могут потребоваться многочисленные попытки, пока я не получу этот тест для правильной работы.

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

Мне интересно, смогу ли я интегрировать свою среду с ПО для непрерывной интеграции с целью представления как выполнения теста, так и / или результатов в удобной графической форме. Также было бы неплохо выбрать тесты, которые я хочу выполнить. Какое программное обеспечение с открытым исходным кодом вы бы порекомендовали?

Спасибо

Barry

1 Ответ

1 голос
/ 13 февраля 2012

Дженкинс .Например, вы можете вывести результаты теста в формате JUnit XML, и Jenkins автоматически создаст симпатичные графики .

Конечно, плагины зависят от ваших потребностей, но вот список основныхПлагины плюс мои любимые (некоторые из них входят в базовый пакет):

Как программист на Python, вы также получите большую выгоду от Python Jenkins API Wrapper .

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

Вы можете установить Jenkins локально на своей машине и поиграть с ним несколько дней, прежде чем решить, подходит ли он вашим потребностям.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...