Эквивалентное разбиение. Анализ граничных значений

Содержание

Слайд 2

Методы «черного ящика»

Эквивалентное разбиение
Анализ граничных значений
Метод причинно-следственных диаграмм
Прогнозирование

Методы «черного ящика» Эквивалентное разбиение Анализ граничных значений Метод причинно-следственных диаграмм Прогнозирование ошибок
ошибок

Слайд 3

Эквивалентное разбиение

Так как исчерпывающее тестирование невозможно, то следует выбрать такое подмножество тестов,

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

Слайд 4

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

Все множество возможных комбинаций входных условий разбивается на несколько классов эквивалентности
Если

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

Слайд 5

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

Каждое входное условие, приведенное в спецификации, разбивается на две или

Выбор классов эквивалентности Каждое входное условие, приведенное в спецификации, разбивается на две
более групп
Для каждой группы определяется допустимое множество входных значений - допустимый класс эквивалентности
Все остальное (не допустимое) множество входных значений - недопустимый класс эквивалентности
Выделение классов эквивалентности – это эвристическая задача
Выделение как допустимых, так и недопустимых значений, соответствует принципу тестирования, который говорит о необходимости тестирования программы на не допустимых условиях

Слайд 6

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

Если входное условие задает некоторый интервал значений [1, 10]

Правила выбора классов эквивалентности Если входное условие задает некоторый интервал значений [1,
переменной X, то определите допустимый класс 1<=X<=10 и недопустимые классы: X<1 и X>10
Если входное условие задает некоторое количество значений (количество элементов массива от 2 до 5), то определите один допустимый класс – в массиве 4 элемента, и два недопустимых (один элемент, 7 элементов)
Если входное условие задает перечислимый набор возможных значений, каждое из которых обрабатывается по разному (должности лекторов: профессор, доцент, старший преподаватель), то определите допустимый класс для каждого возможного значения и один класс для недопустимого значения (ассистент)
Если входное условие задает обязательное для выполнения условие (пароль должен содержать как буквы, так и цифры), то определите один допустимый класс (пароль содержит буквы и цифры) и один недопустимый класс (пароль содержит только буквы или цифры)
Разбейте класс эквивалентности на подклассы, если не все элементы данного класса обрабатываются одинаково (пароль содержит только буквы, пароль содержит только цифры)

Слайд 7

Алгоритм разработки тестов

Присвойте каждому классу эквивалентности (допустимому и недопустимому) свой номер
Каждый новый

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

Слайд 8

Пример

Массив описывается оператором: DIMENSION ad[,ad]…
ad – описатель массива, имеющий вид: n(d[,d]…)
n –

Пример Массив описывается оператором: DIMENSION ad[,ad]… ad – описатель массива, имеющий вид:
символьное имя массива (не более 6 букв и цифр, начинается с буквы)
d – описатель измерения массива
d имеет вид: [lb:]ub. Максимум 7 измерений
lb – нижняя граница измерения массива. Если она не указана, то она равна 1
ub – верхняя граница измерения массива (ub >= lb)
Значение границы массива задается либо константой в диапазоне от -65534 до 65535, либо целочисленной переменной, не являющейся массивом
Оператор DIMENSION может быть записан на нескольких строках

Слайд 9

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

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

Слайд 10

Примеры тестов

DIMENSION A(2) – допустимые классы 1,4,7,10,12,15,24,28,29,43
DIM A12345(I, 9, J4XXXX, 65535, 1),

Примеры тестов DIMENSION A(2) – допустимые классы 1,4,7,10,12,15,24,28,29,43 DIM A12345(I, 9, J4XXXX,
KLM(X 100), ВВВ (-65534:100, 0:1000, 10:10, I:65535) – оставшиеся допустимы классы
Недопустимы классы и тесты

Слайд 11

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

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

Анализ граничных значений Граничные условия – это ситуации, возникающие в области граничных
(на границе, около границы) входных и выходных классов эквивалентности
При выборе элементов класса эквивалентности выбираются элементы, обеспечивающие тестирование каждой границы класса
При создании тестов учитываются не только входные условия, но и результаты работы программы
Выбор граничных значений не может быть формализован, поэтому целиком зависит от опыта тестировщика
Метод оказывается не эффективным, если не все граничные условия используются для построения тестов

Слайд 12

Рекомендации по выбору граничных значений

Если условие имеет вид -1 <= X >=

Рекомендации по выбору граничных значений Если условие имеет вид -1 = 1,
1, то используются значения: на границе (-1, 1) и недопустимые значения около границы (-1.001, 1.001)
Если условие определяет допустимое количество значений (файл содержит от 1 до 255 записей), то используются значения: на границе (1, 255) и недопустимые значения около границы (0, 256)
Используйте пункт 1 для тестирования выходных значений
Используйте пункт 2 для тестирования выходных значений
Если входные и выходные данные представляют, например, отсортированный массив, то тестируйте начальный и конечный элементы

Слайд 13

Пример

Чтобы три положительных целых числа могли быть сторонами треугольника, необходимо, чтобы любое

Пример Чтобы три положительных целых числа могли быть сторонами треугольника, необходимо, чтобы
из них было меньше суммы двух других.
Допустимый класс – числа, удовлетворяющие этому условию (3-4-5)
Недопустимый класс – числа, не удовлетворяющие этому условию (1-2-3)
Если в программе вместо условия А + B > C записано А + B >= C, то тест (1-2-3) сообщит, что это неравносторонний треугольник
Необходимо исследовать ситуации на границах области эквивалентных данных. Например, добавить еще тест (1-2-4)

Слайд 14

Программа оценки результатов экзамена

Входом программы является файл, содержит 80-символьные записи. Первая запись

Программа оценки результатов экзамена Входом программы является файл, содержит 80-символьные записи. Первая
содержит название выходного отчета.
Второе множество записей описывает правильные ответы на экзамене. Каждая запись этого множества содержит «2» в качестве последнего символа. В первой записи в колонках 1–3 задается число ответов (от 1 до 999). Колонки 10–59 содержат номера правильных ответов на вопросы с номерами). Последующие записи содержат в колонках 10–59 сведения о правильных ответах на вопросы с номерами 51–100, 101–150 и т. д.
Третье множество записей описывает ответы каждого студента; любая запись этого набора имеет число «3» в восьмидесятой колонке. Для каждого студента первая запись в колонках 1–9 содержит его имя или номер (любые символы); в колонках 10–59 помещены номера ответов студентов на вопросы с номерами 1–50. Если в тесте предусмотрено более чем 50 вопросов, то последующие записи для студента описывают ответы 51–100, 101–150 и т. д. в колонках 10–59. Максимальное число студентов – 200

Слайд 15

Формат входных данных

Формат входных данных

Слайд 16

Тестирование входных данных

Пустой входной файл
Отсутствует запись названия
Название длиной в один символ

Тестирование входных данных Пустой входной файл Отсутствует запись названия Название длиной в

Название длиной в 80 символов
Экзамен из одного вопроса.
Экзамен из 50 вопросов
Экзамен из 51 вопроса.
Экзамен из 999 вопросов
0 вопросов на экзамене
Поле числа вопросов имеет не числовые значения
После записи названия нет записей о правильных ответах
Записей о правильных ответах на одну больше, чем должно быть
Записей о правильных ответах на одну меньше, чем должно быть

Слайд 17

Тестирование входных данных

0 студентов
1 студент
200 студентов
201 студент
Существуют две записи о правильных

Тестирование входных данных 0 студентов 1 студент 200 студентов 201 студент Существуют
ответах, но для некоторого студента имеется только одна запись
Запись об ответе этого студента первая в файле
Запись об ответе этого студента последняя в файле
Существуют одна запись о правильных ответах, но для некоторого студента имеются две записи
Записи об ответе этого студента первые в файле
Записи об ответе этого студента последние в файле

Слайд 18

Выходные данные

Отчет, упорядоченный по идентификаторам студентов и показывающий оценку студента (процент правильных

Выходные данные Отчет, упорядоченный по идентификаторам студентов и показывающий оценку студента (процент
ответов) и рейтинг каждого студента
Аналогичный отчет, но упорядоченный по оценкам студентов
Отчет, показывающий математическое ожидание (среднее значение) и дисперсию (среднеквадратическое отклонение) для оценок
Отчет, упорядоченный по номерам вопросов и показывающий процент студентов, правильно ответивших на каждый вопрос

Слайд 19

Тестирование выходных данных

Оценки всех студентов одинаковы
Оценки всех студентов различны
Оценки некоторых, но

Тестирование выходных данных Оценки всех студентов одинаковы Оценки всех студентов различны Оценки
не всех студентов одинаковы (для проверки правильности ранжирования студентов)
Студент получает оценку 0
Студент получает оценку 100
Студент имеет идентификатор наименьшей длины (для проверки правильности сортировки)
Студент имеет идентификатор наибольшей длины
Число студентов таково, что отчет имеет размер ровно в одну страницу (чтобы посмотреть не будет ли отчет заходить на вторую страницу)
Число студентов таково, что отчет по всем студентам, кроме одного, располагается на одной странице
Имя файла: Эквивалентное-разбиение.-Анализ-граничных-значений.pptx
Количество просмотров: 42
Количество скачиваний: 0