Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Matlab_05.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
378.37 Кб
Скачать

5.3. Тестирование

Надо сразу сказать, что исчерпывающее тестирование невозможно. Известен классический пример. Пусть программа получает на входе два целых числа и в качестве результата выдает одно. Если для хранения чисел используются 32 бита, то различных комбинаций двух чисел может быть

И для 100% гарантии правильности программы их следовало бы проверить все. Что разумеется невозможно. Поэтому приходится ограниваться относительно небольшим количеством тестов.

Сколько их должно быть? Есть хорошее правило. Тесты должны быть составлены так, чтобы в ходе тестирования каждый оператор программы выполнялся хотя бы один раз.

Это важно при использовании условных операторов. Неаккуратно составленные тесты могут многократно проверять одну ветвь алгоритма и ни разу не заглянуть на другую. Там обычно и скрывается ошибка, которая проявит себя в самый неподходящий момент

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

При подготовке цифровых тестовых данных избегайте использования чисел 0 и 1. Эти два числа обладают своеобразными свойствами и могут не выявить скрытую ошибку.

Программу следует тестировать в нормальных, экстремальных и исключительных условиях. Что это значит, поясним на примере нашей программы polygon. Нормальным условием можно считать обработку обычного многоугольника, например с 4 или 5 сторонами. Экстремальные условия – обработка многоугольника с минимально возможным количеством сторон (треугольника) и многоугольника с очень большим количеством сторон.

Что касается исключительных условий, то здесь надо сначала покритиковать нашу вроде бы уже отлаженную программу polygon. Дело в том, что программисты вообще-то пишут программы, которыми должны будут пользоваться другие люди. По известному правилу: «Все что может испортиться – портится», кто-нибудь обязательно обратится к вашей программе неправильно. Например, переменная VERTEX окажется не матрицей с двумя столбцами, а вектором или вообще скалярной величиной. И хотя вам, может быть, и удастся доказать такому пользователю свою правоту, но мнение о ваших программах, как о ненадежных, сложится. Хорошая программа должна проверять, что поступает на ее вход, и сообщать пользователю о его возможных ошибках.

В частности, если доводить программу polygon до идеала, в ней надо предусмотреть проверку:

1) размеров входного массива (количество строк должно быть больше двух, а количество столбцов равно двум)

2) наличия в данных совпадающих вершин

3) наличия пересекающихся сторон

5.4. Библиотека функций matlab’а

Важным средством, позволяющим ускорить разработку программ, являются библиотеки стандартных программ. Есть такая библиотека и в MATLAB’е.

Надо научиться находить в HELP’е описания нужных программ. В частности в конце этого занятия вам будет предложено написать программу решения дифференциальных уравнений по методу Эйлера. Написав свою программу, вам надо будет найти функцию MATLAB’а, решающую эту же задачу и используя ее сравнить решения полученные вашей программой и библиотечной

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]