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

Материал из ALT Linux Wiki
Нет описания правки
Нет описания правки
 
(не показаны 4 промежуточные версии 2 участников)
Строка 1: Строка 1:
[[Category:Devel]]
[[Category:QA]]
{{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:


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


К сожалению, большинство программ нарушают как минимум одно из этих правил.
К сожалению, большинство программ нарушают как минимум одно из этих правил.
Строка 43: Строка 40:
* или средство cxTest для тестирования программ WINE
* или средство cxTest для тестирования программ WINE


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

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

Ссылки