ТестированиеПрограмм: различия между версиями

Материал из ALT Linux Wiki
Строка 18: Строка 18:


==== Обработку --help ====
==== Обработку --help ====
Dmitry Levin:
{{начало цитаты|источник=Dmitry Levin}}
Программа, корректно обрабатывающая --help, должна
Программа, корректно обрабатывающая --help, должна
# выводить текст в stdout;
# выводить текст в stdout;
Строка 24: Строка 24:


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


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

Версия от 21:24, 28 октября 2008

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 так тестировать.

Ссылки