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

Материал из ALT Linux Wiki
Версия для печати больше не поддерживается и может содержать ошибки обработки. Обновите закладки браузера и используйте вместо этого функцию печати браузера по умолчанию.
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 так тестировать.

Ссылки