ТестированиеПрограмм

Материал из ALT Linux Wiki
Версия от 19:06, 28 июля 2008; PhpCoder (обсуждение | вклад) (Import from freesource.info)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Freesource-logo.png Blue Glass Arrow.svg MediaWiki logo.png
Эта страница была перемещена с freesource.info.
Эта страница наверняка требует чистки и улучшения — смело правьте разметку и ссылки.
Просьба по окончанию убрать этот шаблон со страницы.


Автоматическое тестирование программ

Сизиф должен стоять на рабочих машинах, иначе поиск багов и разработка прекратится. Предлагается первым шагов в реализации автоматического тестирования определить каталог типа %_datadir/rpm-autotest, в который будут класться сценарии для автоматического тестирования пакета. То есть вместе с пакетом будет устанавливаться и скрипт для его тестирования. После выполнения обновления по очереди вызываются все скрипты тестирования.

Продумать сценарий для запуска/завершения графических программ (или то же самое можно сделать с помощью ldd -r на бинарнике?)

Что именно проверять в сценарии

Функциональность программ в командной строке

  • inkscape, dia, convert (чтобы не повторять altbug:6400

, altbug:2441

соответственно)

Обработку --help

Dmitry Levin: Программа, корректно обрабатывающая --help, должна

  1. выводить текст в stdout;
  2. завершаться с кодом возврата 0.

При неправильном использовании параметров программа

1. Не должна показывать help.
2. Желательно выводить диагностику об ошибке.
3. Конечно, сообщение об ошибке должно быть отправлено в stderr.
4. Завершаться с кодом не 0

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

Способы тестирования

Автоматическое тестирование ПО

Автоматическое тестирование GUI:

  • см. пакет в Сизифе test-gui-dialog
  • или средство cxTest для тестирования программ WINE

Для библиотек - метод, поставленный на поток в перловых модулях - тесты, позволяющие убедиться, что функции ведут себя правильно. Для командной строки - предполагается при сборке пакета выполнять некие проверки (например, вызов команды с различными ключами - всё собираюсь dia так тестировать.

Ссылки