СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до 20.05.2025

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Тестирование ИС Практическая работа №11

Категория: Информатика

Нажмите, чтобы узнать подробности

Просмотр содержимого документа
«Тестирование ИС Практическая работа №11»

Практическое занятие № 11

Тема: «Тестирование методом анализа граничных значений»

Цель работы: применение методов тестирования логики программы, формализованного описания результатов тестирования и стандартов по составлению схем программ.

Краткие теоретические сведения ЭКВИВАЛЕНТНОЕ РАЗБИЕНИЕ

Разработка тестов методом эквивалентного разбиения осуществляется в два этапа: 1) выделение классов эквивалентности и 2) построение тестов.

Выделение классов эквивалентности

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

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


Входные условия

Правильные классы эквивалентности

Неправильные классы эквивалентности

...

...

...

Если задаться входными или внешними условиями, то выделение классов эквивалентности представляет собой в значительной степени эвристический процесс. При этом существует ряд правил:

  1. Если входное условие описывает область значений (например, "целое данные может принимать значения от 1 до 999"), то определяются один правильный класс

эквивалентности (1 значение целого данного 999) и два неправильных (значение целого данного 999).

  1. Если входное условие описывает число значений (например, "в автомобиле могут ехать от одного до шести человек"), то определяются один правильный класс эквивалентности и два неправильных (ни одного и более шести человек).

  2. Если входное условие описывает множество входных значений и есть основание полагать, что каждое значение программа трактует особо (например, "известны способы

передвижения на АВТОБУСЕ, ГРУЗОВИКЕ, ТАКСИ, ПЕШКОМ или МОТОЦИКЛЕ"), то определяется правильный класс эквивалентности для каждого значения и один неправильный класс эквивалентности (например, "НА ПРИЦЕПЕ").

  1. Если входное условие описывает ситуацию "должно быть" (например, "первым символом идентификатора должна быть буква"), то определяется один правильный класс

эквивалентности (первый символ – буква) и один неправильный (первый символ – не буква).

  1. Если есть любое основание считать, что различные элементы класса эквивалентности трактуются программой неодинаково, то данный класс эквивалентности разбивается на меньшие классы эквивалентности.

Построение тестов

Второй шаг заключается в использовании классов эквивалентности для построения тестов. Этот процесс включает в себя:

  1. Назначение каждому классу эквивалентности уникального номера.

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

  3. Запись тестов, каждый из которых покрывает один и только один из непокрытых неправильных классов эквивалентности, до тех пор пока всех неправильные классы эквивалентности не будут покрыты тестами.

Анализ граничных значений

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

Граничные условия - это ситуации, возникающие непосредственно на, выше или ниже границ входных и выходных классов эквивалентности. Анализ граничных значений отличается от эквивалентного разбиения в двух отношениях:

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

    • При разработке тестов рассматривают не только входные условия (пространство входов), но и пространство результатов (т. е. выходные классы эквивалентности).

Приведем несколько общих правил этого метода.
  1. Построить тесты для границ области и тесты с неправильными входными данными для ситуаций незначительного выхода за границы области, если входное условие описывает область значений. Например, если правильная область входных значений есть - 1,0 - +1,0, то написать тесты для ситуаций - 1,0, 1,0, - 1,001 и 1,001.

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

значений. Например, если входной файл может содержать от 1 до 255 записей, то получить тесты для 0,1, 255 и 256 записей.

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

вычисляет ежемесячный расход и если минимум расхода составляет 0,00 дол., а максимум

- 1165,25 дол., то построить тесты, которые вызывают расходы с 0,00 дол. и 1165,25 дол. Кроме того, построить, если это возможно, тесты, которые вызывают отрицательный

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

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

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

  1. Если вход или выход программы есть упорядоченное множество (например, последовательный файл, линейный список, таблица), то сосредоточить внимание на первом и последнем элементах этого множества.

  2. Выполнить поиск других граничных условий эмпирическими методами.

Существенное различие между анализом граничных значений и эквивалентным разбиением

заключается в том, что анализ граничных значений исследует ситуации, возникающие на и вблизи границ эквивалентных разбиений.

Оборудование, материалы

Персональный компьютер с установленной ОС. Текстовый редактор. IDE Visual Studio.

Порядок выполнения задания

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

  1. Выделите классы эквивалентности и определите их границы. Запишите полученные данные в таблицу.



Входные условия

Правильные классы эквивалентности

Неправильные классы эквивалентности




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


Тест

Ожидаемый результат

Фактический результат

Результат тестирования





  1. Сравните тесты, полученные методами черного ящика с тестами, полученными методами белого ящика, сделайте выводы.

  2. Дополните тестирующие методы соответствующими тестами.

  3. Выполните тестирование.

  4. Выполняйте отладку программы до тех пор, пока все тесты не будут пройдены.

  5. Опишите выполненные в программе изменения.


Скачать

Рекомендуем курсы ПК и ППК для учителей

Вебинар для учителей

Свидетельство об участии БЕСПЛАТНО!