Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тестирование программного обеспечения.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.06 Mб
Скачать

2.6. Применение технологии эквивалентности

Тестирование математических функций — не единственная область применения эталонных программ. Путем сравнения с готовым и проверенным продуктом можно тестировать самые разные аспекты поведения программы. Вот несколько примеров.

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

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

• Для программы, выполняющей выравнивание текста по ширине строки, необходимо проверить, насколько равномерно она разделяет слова пробелами. Для образца можно взять обычный текстовый процессор и обеим программам предложить один и тот же текст, набранный одинаковыми шрифтами.

• Для отладки посылаемых на принтер управляющих последовательностей можно перенаправить вывод в файл и то же самое сделать в эталонной программе, распечатав в ней точно такой же документ. Затем оба файла можно сравнить — они должны быть идентичны.

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

3. Задание для самостоятельной работы

Выберите для тестирования какую-нибудь программу. Вполне подойдет и коммерческий продукт, создатели которого ут­верждают, что он полностью протестирован. Весь продукт тестировать не нужно, достаточно выбрать пять полей ввода дан­ных — они обычно имеются в любой программе. Наиболее очевидным выбором может быть небольшая база данных, но и текстовый процессор как минимум позволяет ввести размеры отступов, размеры стра­ницы документа и другие параметры настройки программы Особенно хо­рошо, если можно вводить такую конфигурационную информацию, как объем па­мяти, выделяемой для определенной функции программы. Обыч­но подобные опции протестированы хуже всего, и некото­рые их установки могут привести к сбою системы. Поэтому перед экспериментами с памятью, портами и конфигурирова­нием жесткого диска не забудьте сделать его резервную копию.

Для каждого поля ввода данных выполните следующее:

  1. Проанализируйте значения, которые в него можно вводить. Сгруппируйте их в классы.

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

  3. Нарисуйте таблицу, в которой перечислите все классы значений для каждого поля ввода и все интересные тестовые при­меры (граничные и другие особые значения).

  4. Протестируйте программу, используя записанные значения (а если их слишком много, то некоторое их подмноже­ство). Протестировать программу, означает не только запустить ее, ввести данные и посмотреть, не произойдет ли сбой, — важно, чтобы программа правильно использовала введенные данные. Получаются ли, например, при печати указанные пользователем отступы? Обязательно придумайте тестовую процедуру, в которой программа использует вве­денную вами информацию.

Список литературы

  1. Майерс Г. Искусство тестирования программ. Пер. с англ. М., “Финансы и статистика ”, 1982 г.

  2. Котляров В.П., Пинаев Д.В. Методы и средства автоматизации тестирования программного проекта. Учебное пособие. Санкт-Петербург, С-ПГТУ, 1998г.

  3. Канер С. И др. Тестирование программного обеспечения. ”ДиаСофт”,2000г.

34