ТестированиеПрограмм: различия между версиями
Нет описания правки |
Ilis (обсуждение | вклад) Нет описания правки |
||
(не показаны 4 промежуточные версии 2 участников) | |||
Строка 1: | Строка 1: | ||
{{MovedFromFreesourceInfo|AltLinux/Sisyphus/devel/ТестированиеПрограмм}} | {{MovedFromFreesourceInfo|AltLinux/Sisyphus/devel/ТестированиеПрограмм}} | ||
== Автоматическое тестирование программ == | == Автоматическое тестирование программ == | ||
Сизиф должен стоять на рабочих машинах, иначе поиск багов и разработка прекратится. | Сизиф должен стоять на рабочих машинах, иначе поиск багов и разработка прекратится. | ||
Предлагается первым шагов в реализации автоматического тестирования определить каталог типа | Предлагается первым шагов в реализации автоматического тестирования определить каталог типа | ||
Строка 15: | Строка 13: | ||
==== Функциональность программ в командной строке ==== | ==== Функциональность программ в командной строке ==== | ||
* inkscape, dia, convert (чтобы не повторять [[altbug:6400]] | * inkscape, dia, convert (чтобы не повторять [[altbug:6400]], [[altbug:2441]] соответственно) | ||
, [[altbug:2441]] | |||
==== Обработку --help ==== | ==== Обработку --help ==== | ||
Dmitry Levin | {{начало цитаты|источник=Dmitry Levin}} | ||
Программа, корректно обрабатывающая --help, должна | Программа, корректно обрабатывающая --help, должна | ||
# выводить текст в stdout; | # выводить текст в stdout; | ||
Строка 26: | Строка 22: | ||
При неправильном использовании параметров программа | При неправильном использовании параметров программа | ||
# Не должна показывать help. | |||
# Желательно выводить диагностику об ошибке. | |||
# Конечно, сообщение об ошибке должно быть отправлено в stderr. | |||
# Завершаться с кодом не 0 | |||
{{конец цитаты}} | |||
К сожалению, большинство программ нарушают как минимум одно из этих правил. | К сожалению, большинство программ нарушают как минимум одно из этих правил. | ||
Строка 43: | Строка 40: | ||
* или средство cxTest для тестирования программ WINE | * или средство cxTest для тестирования программ WINE | ||
Для | Для библиотек — метод, поставленный на поток в перловых модулях — тесты, позволяющие убедиться, что функции ведут себя правильно. | ||
Для командной | Для командной строки — предполагается при сборке пакета выполнять некие проверки (например, вызов команды с различными ключами — всё собираюсь dia так тестировать. | ||
=== Ссылки === | === Ссылки === | ||
* [http://www.software-testing.ru/lib/kurskih/testing-start.htm http://www.software-testing.ru/lib/kurskih/testing-start.htm] | * [http://www.software-testing.ru/lib/kurskih/testing-start.htm http://www.software-testing.ru/lib/kurskih/testing-start.htm] | ||
[[Категория:Тестирование]] |
Текущая версия от 20:49, 23 декабря 2008
Автоматическое тестирование программ
Сизиф должен стоять на рабочих машинах, иначе поиск багов и разработка прекратится. Предлагается первым шагов в реализации автоматического тестирования определить каталог типа %_datadir/rpm-autotest, в который будут класться сценарии для автоматического тестирования пакета. То есть вместе с пакетом будет устанавливаться и скрипт для его тестирования. После выполнения обновления по очереди вызываются все скрипты тестирования.
Продумать сценарий для запуска/завершения графических программ (или то же самое можно сделать с помощью ldd -r на бинарнике?)
Что именно проверять в сценарии
Функциональность программ в командной строке
- inkscape, dia, convert (чтобы не повторять altbug:6400, altbug:2441 соответственно)
Обработку --help
Dmitry Levin:
Программа, корректно обрабатывающая --help, должна
- выводить текст в stdout;
- завершаться с кодом возврата 0.
При неправильном использовании параметров программа
- Не должна показывать help.
- Желательно выводить диагностику об ошибке.
- Конечно, сообщение об ошибке должно быть отправлено в stderr.
- Завершаться с кодом не 0
К сожалению, большинство программ нарушают как минимум одно из этих правил.
Способы тестирования
Автоматическое тестирование ПО
Автоматическое тестирование GUI:
- см. пакет в Сизифе test-gui-dialog
- или средство cxTest для тестирования программ WINE
Для библиотек — метод, поставленный на поток в перловых модулях — тесты, позволяющие убедиться, что функции ведут себя правильно. Для командной строки — предполагается при сборке пакета выполнять некие проверки (например, вызов команды с различными ключами — всё собираюсь dia так тестировать.