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

Тестирование. Принципы тестирования

Тестирование-процесс выполнения программы с целью обнаружения ошибок. Шаги процесса задаются тестами.

Каждый тест определяет:

  • Свой набор исходных данных и условий для запуска программы

  • Набор ожидаемых результатов работы программы.

Полную проверку программы гарантирует исчерпывающее тестирование. Оно требует проверить все наборы исходных данных все варианты их обработки и включает большое количество тестовых вариантов. Хороший тестовый вариант - тестовый вариант с высокой вероятностью обнаружения еще нераскрытой ошибки. Успешный тестовый вариант- обнаруживает нераскрытую ошибку.

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

Тестирование не может показать отсутствие дефектов.

Тест программы

Результаты тестов Ошибки Исправления

Исходные данные Ожидаемые результаты Интенсивность ошибок

для запуска

Прогноз надежности

Рисунок 5 Информационные потоки процесса тестирования

На входе процесса тестирования три потока:

Текст программы, исходные данные для запуска программы, ожидаемые результаты.

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

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

  1. качество и надежность ПО удовлетворены;

  2. тесты не способны обнаруживать серьезные ошибки.

Принципы тестирования:

  1. описание предполагаемых значений выходных данных или результатов должно быть необходимой частью тестового набора;

  2. тесты для неправильных и непредусмотренных входящих данных следует разрабатывать так же, как и для правильных и предусмотренных;

  3. необходимо также проверять, не делает ли программа того, что она не должна делать

  4. нельзя планировать тестирование в предположении, что ошибки небыли обнаружены;

  5. вероятность наличия необнаруженных ошибок в части программы пропорциональна количеству числу ошибок, уже обнаруженных в этой части;

  6. тестирование-процесс творческий.

При разработке программ очень полезным бывает метод “ручного тестирования” без компьютера на основе сквозного просмотра (тестирование “всухую”).

Инспекция и сквозной просмотр- это набор процедур и приемов обнаружения ошибок при чтении текста.

Основные ошибки программирования:

- Обращение к переменным, значения которых не присвоены или не инициализированы;

- Вывод индексов за границу массивов;

- Несоответствие типов или атрибутов переменных величин;

- Явные или неявные проблемы адресации памяти;

- Ошибочные передачи управления;

- Логические ошибки.

При проектировании процедуры тестирования предусматривается серия тестов, имеющих наивысшую вероятность обнаружения большинства ошибок.

Для целей успешного исчерпывающего тестирования создают эквивалентные разбиения входных параметров, причем предусматривается 2 класса: правильные входные данные и неправильные (ошибочные входные значения). Для каждого класса эквивалентности строят свой тип.

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

Особое внимание необходимо уделить тестам на граничных условиях. Граничные условия- ситуации, возникшие непосредственно на, выше или ниже границ внешних и выходных классов эквивалентности (т.е границ эквивалентных разбиений).

Сам принцип тестирования может быть пошаговым и/или монолитным. В обоих случаях используют стратегии неправильных тестирований, начиная с верхнего, главного модуля, и затем подключая последовательно другие модули(аппарат заглушек), и выходного тестирования, начиная с тестирования отдельных модулей.

В процессе отладки используют метод грубой силы - использование выводов промежуточных данных по всей программе (трассировка) или использование автоматизированных средств.

(-В Delphi:- интегральный отладчик,

- в TPascale-мощный аппарат автоматизированной отладки программ(Debig)).

Есть золотое правило программистов – оформляет свои программы в том виде, в котором бы ты хотел видеть программы, написанные другими. К каждому конечному программному продукту необходимо документированное сопровождение в виде помощи(help), файлового текста(read me.txt)

А.В.Могилев, Информатика, М: Академия, 2001, с:816,с:312-313