2.4. Контрольные вопросы и упражнения1. Является ли программа аналогом математической формулы? 2. В чем различие отладки и тестирования программ? 3. Какие подходы используются для обоснования истинности программ? 4. В чем различие статического и динамического тестирования? 5. Каковы основные функции Оракула (Oracle)? 6. Какие методы поиска причины возникновения test incident вы знаете? 7. Какие фазы имеет процесс тестирования? 8. Каковы особенности разработки тестового набора? 9. Какие существуют способы получения эталонных значений теста? 10. В примере из п. 2.2.2 используйте для тестового вывода один из способов условной компиляции, рассмотренных в разделе 1. 11. Расширьте возможности примера (задание 10) выводом отладочной информации в разные каналы (см. п. 1.2.2). 12. Перепишите пример программы п. 2.2.2, создайте для него подходящие классы исключительных ситуаций, разработайте и примените соответствующие обработчики исключений. 13. Примените к примерам п.п. 2.2.2., 2.2.6 схему Бертрана для обработки исключений. 14. Что собой представляют контрольная точка, трасса и дамп программы? 15. Выполните задания 10 и 11 для примера п. 2.2.5. 16. Для сквозного примера п. 2.2.6 примените схему Флойда. 17. Для сквозного примера п. 2.2.6 создайте подходящие классы исключительных ситуаций, разработайте и примените обработчики для них. 18. В чем заключается основная проблема тестирования? 19. Возможно ли тестирование программы на всех возможных значениях параметров? 20. Возможно ли тестирование программы на всех возможных путях УГП? 21. Что такое нереализуемые пути программы? 22. Какова мощность множества тестов, формально необходимая для тестирования операции в машине с 32-разрядным машинным словом? 23. Сколько тестов потребуется для проверки программы управления рукой робота, реализующей задержку на неопределенное количество тактов? 24. Можно ли гарантировать остановку программы на любом тесте? 25. Выполните все этапы тестирования для процедуры вычисления факториала. Используйте для своей программы рассмотренные в разделах 1 и 2 подходы к отладке. 26. Выполните все этапы тестирования для задачи решения квадратного уравнения, которая формулируется следующим образом: найти корни квадратного уравнения, заданного своими коэффициентами, с положительным дискриминантом; подстановкой в уравнение, убедиться в погрешности вычислений. Используйте для своей программы рассмотренные в разделах 1 и 2 подходы к отладке.
|