Цель: изучение основных принципов функционального тестирования программного обеспечения, а также изучение методов анализа классов эквивалентности и анализа граничных значений и таблиц решений, создание тестового сценария.
Функциональное тестирование объекта-тестирования планируется и проводится на основе требований к тестированию, заданных на этапе определения требований. Цель функциональных тестов состоит в том, чтобы проверить соответствие приложения установленным требованиям.
В качестве примера рассмотрим программу отправки заявки для технической поддержки.
Одними из ключевых понятий теории тестирования являются классы эквивалентности и граничные условия. Разбиение на классы эквивалентности представляет собой технологию проектирования тестов, ориентированную на снижение общего числа тестов, необходимых для подтверждения корректности функциональных возможностей программы.
Класс эквивалентности – набор тестовых данных с общими свойствами. Обрабатывая разные элементы класса, программа ведет себя одинаково. Если один из тестов выявит ошибку, остальные, скорее всего, тоже это сделают и наоборот.
Класс эквивалентности может задавать набор допустимых или недопустимых значений. Нельзя забывать о классах, охватывающих заведомо неверные или недопустимые входные данные.
В данном случае значения между собой не зависимы, и можно провести тестирование значений полей параллельно, сократив количество тестов. Составим классы эквивалентности для каждого поля.
1. Поле ФИО
a. Ввод трех слов
b. Ввод менее трех слов
c. Ввод более трех слов
d. Ввод знаков препинаний
e. Ввод английских символов
f. Ввод цифр
2. Дата рождения
a. Ввод обычной даты
b. Ввод даты меньше текущей на срок более 100 лет
c. Ввод даты текущего дня
d. Ввод даты из будущего
e. Ввод даты меньше текущей на 18 лет и менее.
3. Телефон
a. Ввод нормального номера
b. Ввод не числовых символов
c. Ввод номера превышающего 11 символов
d. Ввод номера меньше 11 символов
4. E-mail
a. Ввод нормального адреса
b. Ввод адреса без какой либо части
c. Ввод адреса с дополнительными доменами
d. Ввод адреса с некорректными символами
5. Текстовое поле
a. Ввод любых символов в любом количестве, так как не оговорено их количество.
В сумме получилось 20 классов эквивалентности, но так как тестирование будет проводится параллельно из-за независимости классов эквивалентов для разных элементов, общее количество тестов можно сократить до 6, что соответствует самому большому количеству классовых эквивалентов для одного элемента.
Анализ граничных значений представляет собой технологию проектирования тестов, которая является дополнением разбиения на классы эквивалентности. Анализ граничных значений заключается в тестировании каждой границы класса эквивалентности, причем с обеих сторон. Программа, которая пройдет эти тесты, скорее всего, пройдет и все остальные, относящиеся к данному классу.
Правила анализа граничных условий.
1. Если условие ввода задает диапазон значений, то тестируется
· минимальное и максимальное значение диапазона.
· значения чуть меньше минимума и чуть больше максимума.
2. Если входные или выходные данные являются упорядоченными множествами, то тестируется обработка первого и последнего элементов этих множеств.
Программа должна иметь ограничения по возрасту, для избежания проблем с целостностью информации. Для данного приложения стоит ввести следующие ограничения:
1. Дата рождения не может быть текущим днем;
2. Дата рождения не может быть днем из будущего;
3. Возраст подающего заявку должен быть больше 18 лет;
4. Возраст подающего заявку не должен быть больше 100 лет.
Тестовый сценарий (test case) – это описание входной информации, условий и последовательности выполнения действий, а также ожидаемого выходного результата.
Тестовый сценарий должен обладать следующими свойствами:
· высокая вероятность обнаружения дефектов
· воспроизводимость
· наличие четко определенных ожидаемых результатов и критериев успешного или неуспешного выполнения теста
· неизбыточность.
Номер теста |
Описание |
Шаги теста |
Тестовые варианты |
Ожидаемые результаты |
1 |
Тестирование функциональности добавления одной записи |
Ввести информацию о компании и сохранить |
Название компании, адрес, ФИО директора, тефелон, e-mail |
Информация о компании должна быть сохранена корректно |
1. На основе тестового приложения, составить тестовые наборы для функционального тестирования. Написать тестовые сценарии тестирования одной из функций выбранного приложения.
2. Определить классы эквивалентности и соответсвующий набор входных тестовых данных.
3. Заполнить отчет.
1. Указание название и функций тестируемого приложения.
2. Снимок интерфейса приложения.
3. Описание классов эквивалентности для приложения
4. Анализ граничных значений
5. Заполненная таблица для тестовых сценариев.
Номер теста |
Описание |
Шаги теста |
Тестовые варианты |
Ожидаемые результаты |
|
|
|
|
|
Вывод:__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________