Самоучитель по SQL-сервер в Linux

         

Этап 5. Регрессионное тестирование

Регрессионное тестирование — не обязательный, но рекомендуемый этап. Он позволяет убедиться в том, что после компиляции исходных текстов PostgreSQL работает так, как ожидается. В процессе тестирования проверяются как стандартные операции SQL, так и расширенные возможности PostgreSQL. Регрессионные тесты помогают выявить возможные проблемы, возникающие при работе PostgreSQL

Регрессионное тестирование выполняется командой gmake check. Результат ее выполнения показан в листинге 2.8.

Листинг 2.8. Регрессионное тестирование

[postgres(?host postgresql-7.1.3]f gmake check

gmake -С doc all

gmake[l]: Entering directory /usr/local/src/postgresql-7.1.3/doc'

gmake[l]: Nothing to be done for all'.

gmake[l]: Leaving directory /usr/local/src/postgresql-7.1.3/doc'



[...]

Команда gmake check строит тестовый вариант PostgreSQL и выполняет серию тестов. После завершения каждого теста выводится результат: ok для удачных тестов и failed для неудачных. Примерный вид сообщения об ошибке приведен в листинге 2.9 (вероятно, в вашей системе количество тестов будет выше указанного).

Листинг 2.9. Выходные данные регрессионных тестов

============
1 of 76 tests failed.
============

The differences that caused some tests to fail can be viewed in the file ./regression.(Jiffs'. A copy of the test summary that you see above is saved in the file ./regression.out'.

Файлы, упоминаемые в листинге 2.9 (regression.diffs и regression.out), размещаются в подкаталоге src/test/regress каталога исходных текстов. Если исходные тексты PostgreSQL размещаются в каталоге /usr/local/src, то файлы результатов регрессионных тестов будут находиться в каталоге /usr/local/src/postgresql-[версия]/src/ test/regress.

Регрессионные тесты не всегда выявляют все возможные ошибки. Проблемы иногда возникают из-за несогласованности параметров локального контекста (например, часовых поясов) или специфики оборудования (скажем, результатов операций с плавающей точкой). При разработке приложений PostgreSQL обязательно проводите собственное тестирование.

ВНИМАНИЕ

Регрессионные тесты не могут выполняться с правами root. Команда gmake check должна запускаться пользователем postgres.


Содержание раздела