Можно выделить следующее преимущество техники анализа граничных значений:
Эта техника добавляет в технику анализа классов эквивалентности ориентированность на конкретный тип ошибок. То есть, техника анализа классов эквивалентности просто говорит нам о том, что нужно разбить все тесты на классы и провести тестирование всех классов. А техника граничных значений ориентирована на обнаружение конкретной проблемы – возникновения ошибок на границах классов эквивалентности.
Но, как и для техники анализа классов эквивалентности, эффективность техники анализа граничных значений зависит от правильности ее использования. Мы должны приложить усилия, чтобы правильно определить классы эквивалентности и их границы. Если мы отнесемся к этому поверхностно – мы рискуем пропустить ошибки.
• Причина / Следствие (Cause/Effect — CE). Это, как правило, ввод комбинаций условий (причин), для получения ответа от системы (Следствие). Например, вы проверяете возможность добавлять клиента, используя определенную экранную форму. Для этого вам необходимо будет ввести несколько полей, таких как «Имя», «Адрес», «Номер Телефона» а затем, нажать кнопку «Добавить» — эта «Причина». После нажатия кнопки «Добавить», система добавляет клиента в базу данных и показывает его номер на экране — это «Следствие». • Предугадывание ошибки (Error Guessing — EG). Это когда тест аналитик использует свои знания системы и способность к интерпретации спецификации на предмет того, чтобы «предугадать» при каких входных условиях система может выдать ошибку. Например, спецификация говорит: «пользователь должен ввести код». Тест аналитик, будет думать: «Что, если я не введу код?», «Что, если я введу неправильный код? », и так далее. Это и есть предугадывание ошибки. • Исчерпывающее тестирование (Exhaustive Testing — ET) — это крайний случай. В пределах этой техники вы должны проверить все возможные комбинации входных значений, и в принципе, это должно найти все проблемы. На практике применение этого метода не представляется возможным, из-за огромного количества входных значений.
Задание на лабораторную работу:
Разработать набор тестовых сценариев для тестирования программы определения типа треугольника с использованием техник тест-дизайна и написать баг-репорты о выявленных ошибках.
Спецификация
Программа "треугольник"
=======================
Программа принимает на вход три целых или вещественных числа в виде аргументов командной строки и в стандартном потоке вывода сообщает пользователю о том, существует ли треугольник с указанными длинами сторон или нет. Если существующий треугольник равнобедренный, равносторонний или прямоугольный, то программа также сообщает об этом.
Описание входных данных
=======================
Три целых или вещественных числовых параметра, например, triangle 1 2 3.
Вещественные значения длин сторон обрабатываются с точностью 5*10^-6.
Описание выходных данных
========================
Программа выводит следующие сообщения:
Если число аргументов отлично от трёх:
- "Необходимо указать ровно три входных параметра"
Если хотя бы один из аргументов не задаёт длину стороны:
- "Значение длин сторон треугольника должно принадлежать множеству положительных вещественных или целых чисел"
Если треугольник с заданными длинами сторон невозможен:
- "Треугольник не существует"
Если треугольник существует:
- "Треугольник существует".
- "Треугольник существует"."Равносторонний треугольник"
- "Треугольник существует". "Равнобедренный треугольник"
- "Треугольник существует"."Прямоугольный треугольник"
Порядок запуска на Windows: Запустить командную строку (в Windows можно вызвать комбинацией Win+R->cmd, либо в проводнике: Пуск->Программы->Стандартные->Командная строка). Перейти в директорию программы, используя команду cd. Например, С:\> cd binaries\Release_Win32\. Запустите программу, вводя в командную строку triangle.exe с параметрами.
Контрольные вопросы:
В чем цель тестирования?
Из каких этапов состоит процесс тестирования?
Что такое баг-репорт?
Что такое тест-кейсы и для чего они нужны?
Почему необходимо использование техник тест-дизайна?
Какие техники тест-дизайна вы знаете?
Приведите плюсы и минусы использования эквивалентного разделения.
Приведите примеры использования техники анализа граничных значений.
Ссылки:
http://www.protesting.ru/
https://habrahabr.ru/post/254209/
http://qa-helper.com/test-design-techniques/
http://33testers.blogspot.ru/2013/07/blog-post_27.html