SlideShare a Scribd company logo
1 of 44
Download to read offline
Курс: Профессиональный тестировщик.
Занятие 4. Методы проектирования тестов.
Бульба Евгений, ISTQB Certified Test Manager.
Июль 03, 2019.
Содержание
Занятие 4. Методы проектирования тестов.
1. Категории методов проектирования тестов.
2. Тестирование методом черного ящика.
3. Тестирование методом белого ящика.
4. Тестирование на основе опыта.
2
Профессиональный тестировщик, Июнь
2019 г.
Категории методов
проектирования тестов
Профессиональный тестировщик, Июнь
2019 г.
3
1. Категории методов проектирования тестов (1 из 7)
Профессиональный тестировщик, Июнь
2019 г.
4
Цель методов проектирования тестов заключается в определении
тестовых условий, тестовых сценариев и тестовых данных.
Выбор конкретного метода проектирования тестов зависит от
множества факторов, включая:
• Тип системы или компонента;
• Сложность системы или компонента;
• Нормативные документы;
• Требования пользователей или контракта;
• Уровни рисков;
• Типы рисков;
• Задачи тестирования;
1. Категории методов проектирования тестов (2 из 7)
Профессиональный тестировщик, Июнь
2019 г.
5
• Доступную документацию;
• Знания и опыт тестировщиков;
• Доступные инструменты;
• Ресурсы времени и бюджет;
• Жизненный цикл разработки;
• Ожидаемое использование системы;
• Прошлый опыт использования методов проектирования тестов для
компонента или системы;
• Ожидаемые типы дефектов компонента или системы.
Обычно, используют комбинации различных методов в процессе
создания тестовых сценариев для достижения наилучших результатов.
1. Категории методов проектирования тестов (3 из 7)
Профессиональный тестировщик, Июнь
2019 г.
6
Тестирование
Статическое
Рецензирование
Динамическое
Статический
анализ
Метод белого
ящика
Метод черного
ящика
На основе
опыта
1. Категории методов проектирования тестов (4 из 7)
Профессиональный тестировщик, Июнь
2019 г.
7
Методы черного ящика (методы, основанные на поведении)
основываются на анализе соответствующего базиса тестирования
(формальных требований, спецификаций, бизнес-процессов и т.д.).
Методы черного ящика сосредотачиваются на связи входных данных и
выходных результатов объекта тестирования, а не на его внутренней
структуре.
?
Входные данные Выходные результаты
1. Категории методов проектирования тестов (5 из 7)
Профессиональный тестировщик, Июнь
2019 г.
8
Методы белого ящика (методы, основанные на структуре)
основаны на анализе архитектуры, детального проектирования,
внутренней структуры или кода компонента либо системы. В отличие
от методов черного ящика методы белого ящика сосредотачиваются
на структуре и обработке внутри объекта тестирования.
Методы, основанные на опыте, используют опыт разработчиков,
тестировщиков и пользователей для проектирования, реализации и
выполнения тестов.
Входные данные Выходные результаты
1. Категории методов проектирования тестов (6 из 7)
Профессиональный тестировщик, Июнь
2019 г.
9
Метод черного ящика Метод белого ящика Метод на основе опыта
Базис тестирования включает в
себя требования,
спецификации, сценарии
использования и
пользовательские истории.
Базис тестирования включает в
себя код, архитектуру, или
любой другой источник
информации о структуре
программного обеспечения.
Базис тестирования
включает в себя знания и
опыт тестировщиков,
разработчиков,
пользователей и других
заинтересованных лиц.
Тестовые сценарии могут
использоваться для
определения несоответствий и
отклонений между
требованиями и реализацией.
Спецификации используются
как источник дополнительной
информации для определения
ожидаемых результатов
тестовых сценариев.
Измерение покрытия основано
на элементах базиса
тестирования и методе
проектирования, применяемом
к базису тестирования.
Измерение покрытия основано
на элементах структуры (коде,
интерфейсах и т.д.).
1. Категории методов проектирования тестов (7 из 7)
Профессиональный тестировщик, Июнь
2019 г.
10
Международный стандарт
ISO/IEC/IEEE 29119-4:2015 Software and
systems engineering -- Software testing -
Part 4: Test techniques содержит описание
методов проектирования тестов и
соответствующие им методы измерения
покрытия.
Тестирование методом
черного ящика
Профессиональный тестировщик, Июнь
2019 г.
11
2. Тестирование методом черного ящика (1 из 17)
Профессиональный тестировщик, Июнь
2019 г.
12
Метод черного
ящика
Эквивалентное разбиение
Анализ граничных значений
Таблица решений
Таблица переходов
Сценарии использования
2. Тестирование методом черного ящика (2 из 17)
Профессиональный тестировщик, Июнь
2019 г.
13
Эквивалентное разбиение (equivalence partitioning) –
разработка тестов методом черного ящика, в которой тестовые
сценарии создаются для проверки элементов эквивалентной области.
Как правило, тестовые сценарии разрабатываются для покрытия
каждой области как минимум один раз.
Эквивалентное разбиение делит данные на группы (классы
эквивалентности), которые, как предполагается, обрабатываются
схожим образом. Области эквивалентности могут быть как для
правильных, или позитивных, так и неправильных, или негативных,
значений.
Эквивалентное разбиение
2. Тестирование методом черного ящика (3 из 17)
Профессиональный тестировщик, Июнь
2019 г.
14
Позитивные значения – это значения, которые
должны быть приняты. Класс, содержащий
позитивные значения, называется «действительный
класс эквивалентности».
Негативные значения – значения, которые
должны быть отвергнуты. Класс, содержащий
негативные значения, называется «недействительный
класс эквивалентности».
Эквивалентное разбиение
2. Тестирование методом черного ящика (4 из 17)
Профессиональный тестировщик, Июнь
2019 г.
15
Правила использования:
• Классы могут быть определены для любых данных, относящихся к
объекту тестирования.
• Любой класс может быть при необходимости разделен на
подклассы.
• Каждое значение должно принадлежать только одному классу
эквивалентности.
• Во избежание маскирования дефектов негативные классы
эквивалентности в тестовых сценариях следует использовать по
отдельности, то есть избегать комбинаций одних негативных
классов с другими.
Эквивалентное разбиение
2. Тестирование методом черного ящика (5 из 17)
Профессиональный тестировщик, Июнь
2019 г.
16
Пример.
Есть поле с допустимым диапазоном значений ввода от 1 до 1000. Можно
выделить два класса эквивалентности:
1. Допустимые значения: числа от 1 до 1000.
2. Недопустимые значения: числа от -∞ до 0, от 1001 до +∞, а также все
остальные буквы и символы. Данный класс можно разбить на несколько:
• От - ∞ до 0.
• От 1001 до + ∞.
• Специальные символы (# @ + — / _ : ; “ ‘ и т.д.).
• Буквы.
В результате, получаем минимум 5 тестов для тестирования поля ввода.
Например, в поле можно ввести следующие данные: 46, -37, 1773, АБВ, $=#.
Эквивалентное разбиение
2. Тестирование методом черного ящика (6 из 17)
Профессиональный тестировщик, Июнь
2019 г.
17
Анализ граничных значений (boundary value analysis) –
разработка тестов методом черного ящика, при котором тестовые
сценарии проектируются на основании граничных значений.
Граничное значение (boundary value) – входное значение или
выходные данные, которое находится на грани эквивалентной области
или на наименьшем расстоянии от обеих сторон грани, например,
минимальное или максимальное значение области.
Метод анализа граничных значений является продолжением
метода эквивалентного разбиения, но может быть применим, только
если классы состоят из упорядоченных числовых значений.
Максимальное и минимальное значение класса являются его
границами.
Анализ граничных значений
2. Тестирование методом черного ящика (7 из 17)
Профессиональный тестировщик, Июнь
2019 г.
18
Правила использования:
• Некорректное поведение более вероятно на границах класса, чем
внутри класса.
• Анализ граничных значений может использоваться на любом
уровне тестирования.
• Данный метод применяется при тестировании требований, в
которых присутствуют диапазоны значений (включая даты и время).
• Покрытие вычисляется как отношение числа тестируемых
граничных значений к общему числу граничных значений и чаще
всего выражается в процентах.
Анализ граничных значений
2. Тестирование методом черного ящика (8 из 17)
Профессиональный тестировщик, Июнь
2019 г.
19
Пример.
Например, для диапазона вводимых значений от 1 до 1000 все
значения от 1 до 1000 приведут к одному и тому же результату, то
границы две: нижняя и верхняя.
Первое граничное значение – 1. Второе граничное значение –
1000. Добавляем к ним, стоящие рядом значения:
• 0, 1, 2
• 999, 1000, 1001
Анализ граничных значений
2. Тестирование методом черного ящика (9 из 17)
Профессиональный тестировщик, Июнь
2019 г.
20
Тестирование таблицы решений (decision table testing) –
разработка тестов методом черного ящика, при котором тестовые
сценарии проектируются для проверки комбинаций входных данных
и/или причин, отраженных в таблице решений.
Таблица решений (decision table) – таблица, отражающая
комбинации входных данных и/или причин с соответствующими
выходными данными и/или действиям (следствиям), которая может
быть использована для проектирования тестовых сценариев.
В процессе создания таблицы, тестировщик определяет условия
(входы) и результирующие действия системы (выходы). Пары условий
и действий образуют строки таблицы. Каждый столбец представляет
собой бизнес-правило с уникальной комбинацией условий и действий,
связанных с этим правилом.
Таблица решений
2. Тестирование методом черного ящика (10 из 17)
Профессиональный тестировщик, Июнь
2019 г.
21
Правила использования:
• Полная таблица решений содержит по столбцу на каждую
комбинацию условий.
• Таблицу можно сократить, убрав столбцы, которые содержат
несуществующие комбинации или комбинации, не влияющие на
результат.
• Стандарт покрытия для таблиц решений подразумевает наличие
хотя бы одного теста для каждого столбца таблицы.
• Преимущество метода заключается в том, что он выявляет
комбинации условий, которые могли быть не проверены при
тестировании.
Таблица решений
2. Тестирование методом черного ящика (11 из 17)
Профессиональный тестировщик, Июнь
2019 г.
22
Пример.
Пользователь может использовать только одну форму оплаты,
кредитную или дебетовую карту (с PIN-кодом). Банк проверяет
кредитную / дебетовую карту и подтверждает наличие средств для
покрытия транзакции до окончательной продажи.
Таблица решений
Условия 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Кредитная
карта
Да Да Да Да Да Да Да Да Нет Нет Нет Нет Нет Нет Нет Нет
Дебетовая
карта
Да Да Да Да Нет Нет Нет Нет Да Да Да Да Нет Нет Нет Нет
PIN валиден Да Да Нет Нет Да Да Нет Нет Да Да Нет Нет Да Да Нет Нет
Наличие
средств
Да Нет Да Нет Да Нет Да Нет Да Нет Да Нет Да Нет Да Нет
Транзакция
разрешена
Да Нет Нет Нет Да Нет Нет Нет Да Нет Нет Нет Нет Нет Нет Нет
2. Тестирование методом черного ящика (12 из 17)
Профессиональный тестировщик, Июнь
2019 г.
23
Тестирование таблицы переходов (state transition testing) –
разработка тестов методом черного ящика, при котором сценарии
тестирования строятся на основе выполнения корректных и
некорректных переходов состояний.
Переход состояний (state transition) – переход между двумя
состояниями компонентам или системы.
Таблица переходов может быть построена на основе диаграмы
состояний. Диаграмма состояний и переходов показывает начальное и
конечное состояния системы, а также описывает переходы между
состояниями. Каждый переход вызывается событием (например,
вводом данных пользователем).
Таблица переходов
2. Тестирование методом черного ящика (13 из 17)
Профессиональный тестировщик, Июнь
2019 г.
24
Правила использования:
• Тесты создаются для покрытия типичной последовательности
состояний, покрытия каждого возможного состояния, покрытия
каждого возможного перехода, проверки специфических
последовательностей переходов, или для проверки
недействительных переходов.
• Диаграммы состояний и переходов обычно, показывают только
действительные переходы и исключают недействительные
переходы.
• Тестирование с помощью таблицы переходов наиболее
распространено в сфере встроенного ПО и при тестировании
программных меню.
Таблица переходов
2. Тестирование методом черного ящика (14 из 17)
Профессиональный тестировщик, Июнь
2019 г.
25
Пример.
Приведена диаграмма управления
телевизором.
Для покрытия всех переходов
необходимо 5 тестов.
Таблица переходов
Телевизор
выключен (S1)
Телевизор в
режиме
ожидания (S2)
Телевизор
включен
(S3)
Вкл.питания
Выкл.питания
Тест 1 2 3 4 5
Начальное
состояние
S1 S2 S2 S3 S3
Вход Вкл.
питания
Выкл.
питания
Вкл. через
пульт
Выкл. через
пульт
Выкл.
питания
Выход ТВ в
ожидание
ТВ
выключен
ТВ
включен
ТВ в
ожидание
ТВ
выключен
Конечное
состояние
S2 S1 S3 S2 S1
2. Тестирование методом черного ящика (15 из 17)
Профессиональный тестировщик, Июнь
2019 г.
26
Тестирование по сценариям использования (use case testing)
– разработка тестов методом черного ящика, при котором тестовые
сценарии создаются для выполнения сценариев использования.
Сценарий использования системы (use case) –
последовательность операций во взаимодействии актера и
компонента или системы со значимым результатом, при которой
актером может быть как пользователь, так и все, что может
обмениваться информацией с системой.
Сценарии использования
2. Тестирование методом черного ящика (16 из 17)
Профессиональный тестировщик, Июнь
2019 г.
27
Правила использования:
• Сценарий использования может быть описан взаимодействиями и
активностями, предусловиями и постусловиями или естественным
языком, если это возможно.
• Взаимодействия между участниками и субъектом могут приводить к
изменению состояния субъекта; они могут изображаться
графически, с помощью диаграмм или моделей бизнес-процессов.
• Сценарий использования может отражать различные варианты
поведения, включая исключительные ситуации и обработку ошибок.
• Тесты разрабатываются с целью проверки различных вариантов
поведения (базового, исключительного, альтернативного, обработки
ошибок).
Сценарии использования
2. Тестирование методом черного ящика (17 из 17)
Профессиональный тестировщик, Июнь
2019 г.
28
Пример.
Сценарии использования
Тестирование методом
белого ящика
Профессиональный тестировщик, Июнь
2019 г.
29
3. Тестирование методом белого ящика (1 из 9)
Профессиональный тестировщик, Июнь
2019 г.
30
Метод белого
ящика
Тестирование операторов
Тестирование ветвей
Тестирование условий
Тестирование
множественных условий
3. Тестирование методом белого ящика (2 из 9)
Профессиональный тестировщик, Июнь
2019 г.
31
Тестирование операторов (statement testing) – разработка
тестов методом белого ящика, при котором наборы тестов
составляются с целью исполнения операторов.
Покрытие операторов (statement coverage) – процентное
отношение операторов, исполняемых набором тестов, к их общему
количеству.
Тестирование операторов
3. Тестирование методом белого ящика (3 из 9)
Профессиональный тестировщик, Июнь
2019 г.
32
Пример.
Тестирование операторов
В этом примере все операторы могут быть
проверены одним тестом. Для этого ветки
графа должны быть пройдены в следующем
порядке:
a, b, f, g, h, d, e
После прохождения ветвей в таком порядке
все операторы будут выполнены единожды.
Пустые пути ELSE, например пути c, i и k не
рассматриваются данной техникой.
3. Тестирование методом белого ящика (4 из 9)
Профессиональный тестировщик, Июнь
2019 г.
33
Тестирование ветвей (branch testing) – разработка тестов
методом белого ящика, при котором тестовые сценарии
проектируются для выполнения ветвей.
Покрытие ветвей (branch coverage) – процент ветвей, которые
были выполнены набором тестов. 100% покрытие ветвей
подразумевает 100% покрытие операторов.
Тестирование ветвей
3. Тестирование методом белого ящика (5 из 9)
Профессиональный тестировщик, Июнь
2019 г.
34
Пример.
Тестирование ветвей
В этом примере все ветви графа могут быть
проверены четырьмя тестами:
a, b, f, g, h, d, e
a, b, c, d, e
a, b, f, g, i, g, h, d, e
a, k, e
После прохождения тестов все возможные
пути будут протестированы.
3. Тестирование методом белого ящика (6 из 9)
Профессиональный тестировщик, Июнь
2019 г.
35
Тестирование условий (condition testing) – разработка тестов
методом белого ящика, при котором тестовые сценарии
разрабатываются для проверки исходов условий.
Покрытие условий (condition coverage) – процент исходов
условий, которые были проверены набором тестов. 100% покрытие
условий требует, чтобы каждое отдельное (атомарное) условие в
каждом выражении решения было проверено как “Истина” и “Ложь”.
Атомарное условие (atomic condition) – условие, над которым
невозможно провести дальнейшую декомпозицию, т.е. условие, не
содержащее два или более одинарных условий, объединенных
логическими операторами (И, ИЛИ, Исключающее ИЛИ). Примеры
атомарных условий: <, >, = и т.д.
Тестирование условий
3. Тестирование методом белого ящика (7 из 9)
Профессиональный тестировщик, Июнь
2019 г.
36
Пример.
Есть комбинированное условие: x > 3 ИЛИ y < 5.
Условие состоит из двух условий (x > 3; y < 5), связанных
логическим оператором ИЛИ.
Тестовые данные x = 6 и y = 8 приводят к логическому значению
“Истина” для первого условия (x > 3) и логическому значению “Ложь”
для второго условия (y < 5). Логическое значение полного условия -
“Истина” (“Истина” ИЛИ “Ложь” = “Истина” ).
Тестовые данные x = 2 и y = 3 приводит к “Ложь” для первого
условия и “Истина” для второго условия. Значение полного условия
снова приводит к “Истина” (“Ложь” ИЛИ “Истина” = “Истина” ).
Оба набора тестов приводят к тому что выражение “Истина”
Тестирование условий
3. Тестирование методом белого ящика (8 из 9)
Профессиональный тестировщик, Июнь
2019 г.
37
Тестирование множественных условий (multiple condition
testing) – разработка тестов методом белого ящика, при котором
тестовые сценарии разрабатываются для проверки комбинаций
исходов одиночных условий (в рамках одного оператора).
Множественное условие (multiple condition) – два или более
одиночных условия, объединенных посредством логических
операторов (И, ИЛИ, Исключающее ИЛИ), например 'A>B И C>1000'.
Покрытие множественных условий (multiple condition
coverage) – процент комбинаций всех исходов одиночных условий в
рамках одного оператора, который был проверен набором тестов.
Стопроцентное покрытие множественных условий означает
стопроцентное покрытие условий.
Тестирование
множественных условий
3. Тестирование методом белого ящика (9 из 9)
Профессиональный тестировщик, Июнь
2019 г.
38
Пример.
Есть комбинированное условие: x > 3 ИЛИ y < 5.
Возможны четыре комбинации тестовых случаев:
x = 6 (Истина), y = 3 (Истина). Выражение x > 3 ИЛИ y < 5 (Истина)
x = 6 (Истина), y = 8 (Ложь). Выражение x > 3 ИЛИ y < 5 (Истина)
x = 2 (Ложь), y = 3 (Истина). Выражение x > 3 ИЛИ y < 5 (Истина)
x = 2 (Ложь), y = 8 (Ложь). Выражение x > 3 ИЛИ y < 5 (Ложь)
Данная техника очень дорогая из-за растущего числа частичных
состояний, которые приводят к экспоненциальному росту числа
возможных комбинаций.
Тестирование
множественных условий
Тестирование на
основе опыта
Профессиональный тестировщик, Июнь
2019 г.
39
4. Тестирование на основе опыта (1 из 4)
Профессиональный тестировщик, Июнь
2019 г.
40
Тестирование
на основе
опыте
Предположение об ошибках
Исследовательское тестирование
Тестирование на основе чеклистов
4. Тестирование на основе опыта (2 из 4)
Профессиональный тестировщик, Июнь
2019 г.
41
Предположение об ошибках (error guessing) – метод
проектирования тестов, когда опыт тестировщика используется для
предугадывания того, какие дефекты могут быть в тестируемом
компоненте или системе в результате сделанных ошибок, а также для
разработки тестов специально для их выявления.
Для данного метода могут использоваться:
• История работы приложения в прошлом.
• Наиболее вероятные типы дефектов, допускаемых при разработке.
• Типы дефектов, которые были обнаружены в схожих приложениях.
Предположение об ошибках
4. Тестирование на основе опыта (3 из 4)
Профессиональный тестировщик, Июнь
2019 г.
42
Исследовательское тестирование (exploratory testing) –
неформальный метод проектирования тестов, при котором
тестировщик активно контролирует проектирование тестов в то время,
как эти тесты выполняются, и использует полученную во время
тестирования информацию для проектирования новых и улучшенных
тестов.
Исследовательское тестирование лучше всего подходит в
ситуациях, когда документация недостаточная, либо вовсе отсутствует,
в условиях очень сжатых сроков и как дополнение к другим, более
формальным, методам тестирования.
Исследовательское тестирование относится к реактивным
стратегиям тестирования.
Исследовательское тестирование
4. Тестирование на основе опыта (4 из 4)
Профессиональный тестировщик, Июнь
2019 г.
43
Тестирование на основе чек-листов (checklist-based testing) –
метод создания тестов, основанный на опыте, при котором опытный
тестировщик использует высокоуровневые списки (чеклисты). Список,
содержит пункты, которые нужно отметить или запомнить, или состоит
из набора правил или критериев, согласно которым верифицируется
программный продукт.
Чек-листы могут создаваться для поддержки разных видов
тестирования, включая функциональное и нефункциональное
тестирование. При отсутствии детальных тестовых сценариев, чек-
листы помогают определить направления тестирования и увеличивают
согласованность тестирования. Поскольку чек-листы содержат общее
описание, это снижает повторяемость результатов.
Тестирование на основе чеклистов
Спасибо за внимание!
Вопросы?

More Related Content

What's hot

Chapter 4 - Testing Quality Characteristics
Chapter 4 - Testing Quality CharacteristicsChapter 4 - Testing Quality Characteristics
Chapter 4 - Testing Quality CharacteristicsNeeraj Kumar Singh
 
Таблицы принятия решений
Таблицы принятия решенийТаблицы принятия решений
Таблицы принятия решенийSQALab
 
Unit testing framework
Unit testing frameworkUnit testing framework
Unit testing frameworkIgor Vavrish
 
ISTQB Test level, Test type
ISTQB Test level, Test typeISTQB Test level, Test type
ISTQB Test level, Test typeHoangThiHien1
 
C++ Unit Test with Google Testing Framework
C++ Unit Test with Google Testing FrameworkC++ Unit Test with Google Testing Framework
C++ Unit Test with Google Testing FrameworkHumberto Marchezi
 
Software Engineering- Types of Testing
Software Engineering- Types of TestingSoftware Engineering- Types of Testing
Software Engineering- Types of TestingTrinity Dwarka
 
Understanding Unit Testing
Understanding Unit TestingUnderstanding Unit Testing
Understanding Unit Testingikhwanhayat
 
오픈 스펙을 대상으로 한 테스트설계사례
오픈 스펙을 대상으로 한 테스트설계사례오픈 스펙을 대상으로 한 테스트설계사례
오픈 스펙을 대상으로 한 테스트설계사례SangIn Choung
 
JUnit- A Unit Testing Framework
JUnit- A Unit Testing FrameworkJUnit- A Unit Testing Framework
JUnit- A Unit Testing FrameworkOnkar Deshpande
 
ALM - Testes Exploratórios
ALM - Testes ExploratóriosALM - Testes Exploratórios
ALM - Testes ExploratóriosAlan Carlos
 

What's hot (20)

Chapter 5 - Test Management
Chapter 5 - Test ManagementChapter 5 - Test Management
Chapter 5 - Test Management
 
Chapter 4 - Testing Quality Characteristics
Chapter 4 - Testing Quality CharacteristicsChapter 4 - Testing Quality Characteristics
Chapter 4 - Testing Quality Characteristics
 
Таблицы принятия решений
Таблицы принятия решенийТаблицы принятия решений
Таблицы принятия решений
 
Unit testing framework
Unit testing frameworkUnit testing framework
Unit testing framework
 
Chapter 3 - Test Techniques
Chapter 3 - Test TechniquesChapter 3 - Test Techniques
Chapter 3 - Test Techniques
 
ISTQB Test level, Test type
ISTQB Test level, Test typeISTQB Test level, Test type
ISTQB Test level, Test type
 
CTFL Module 04
CTFL Module 04CTFL Module 04
CTFL Module 04
 
CTFL Module 03
CTFL Module 03CTFL Module 03
CTFL Module 03
 
Chapter 3 - Reviews
Chapter 3 - ReviewsChapter 3 - Reviews
Chapter 3 - Reviews
 
ISTQB foundation level - day 2
ISTQB foundation level - day 2ISTQB foundation level - day 2
ISTQB foundation level - day 2
 
C++ Unit Test with Google Testing Framework
C++ Unit Test with Google Testing FrameworkC++ Unit Test with Google Testing Framework
C++ Unit Test with Google Testing Framework
 
Software Engineering- Types of Testing
Software Engineering- Types of TestingSoftware Engineering- Types of Testing
Software Engineering- Types of Testing
 
Understanding Unit Testing
Understanding Unit TestingUnderstanding Unit Testing
Understanding Unit Testing
 
Chapter 1 - Basic Concepts
Chapter 1 - Basic ConceptsChapter 1 - Basic Concepts
Chapter 1 - Basic Concepts
 
Chapter 3 - Static Testing
Chapter 3 - Static TestingChapter 3 - Static Testing
Chapter 3 - Static Testing
 
오픈 스펙을 대상으로 한 테스트설계사례
오픈 스펙을 대상으로 한 테스트설계사례오픈 스펙을 대상으로 한 테스트설계사례
오픈 스펙을 대상으로 한 테스트설계사례
 
JUnit- A Unit Testing Framework
JUnit- A Unit Testing FrameworkJUnit- A Unit Testing Framework
JUnit- A Unit Testing Framework
 
Effective Software Test Case Design Approach
Effective Software Test Case Design ApproachEffective Software Test Case Design Approach
Effective Software Test Case Design Approach
 
ALM - Testes Exploratórios
ALM - Testes ExploratóriosALM - Testes Exploratórios
ALM - Testes Exploratórios
 
CTFL Module 01
CTFL Module 01CTFL Module 01
CTFL Module 01
 

Similar to Istqb lesson 4

Александр Александров -- Надёжный тест-дизайн (мастер-класс)
Александр Александров -- Надёжный тест-дизайн (мастер-класс)Александр Александров -- Надёжный тест-дизайн (мастер-класс)
Александр Александров -- Надёжный тест-дизайн (мастер-класс)sqadays8
 
Надежный тест-дизайн
Надежный тест-дизайнНадежный тест-дизайн
Надежный тест-дизайнSQALab
 
Тестирование осень 2013 лекция 2
Тестирование осень 2013 лекция 2Тестирование осень 2013 лекция 2
Тестирование осень 2013 лекция 2Technopark
 
Тестирование весна 2013 лекция 2
Тестирование весна 2013 лекция 2Тестирование весна 2013 лекция 2
Тестирование весна 2013 лекция 2Technopark
 
Mva stf module 2 - rus
Mva stf module 2 - rusMva stf module 2 - rus
Mva stf module 2 - rusMaxim Shaptala
 
Модуль 8. Лекция 37-38. Управление качеством проекта
Модуль 8. Лекция 37-38. Управление качеством проектаМодуль 8. Лекция 37-38. Управление качеством проекта
Модуль 8. Лекция 37-38. Управление качеством проектаYana Brodetski
 
Викторина для тестировщиков
Викторина для тестировщиковВикторина для тестировщиков
Викторина для тестировщиковUladzimir Kryvenka
 
C++ осень 2013 лекция 5
C++ осень 2013 лекция 5C++ осень 2013 лекция 5
C++ осень 2013 лекция 5Technopark
 
углубленное программирование на C++. лекция no.5 [4.0]
углубленное программирование на C++. лекция no.5 [4.0]углубленное программирование на C++. лекция no.5 [4.0]
углубленное программирование на C++. лекция no.5 [4.0]Technopark
 
Tests bogachkov last_version_120412
Tests bogachkov last_version_120412Tests bogachkov last_version_120412
Tests bogachkov last_version_120412Vladimir Kukharenko
 
тестирование по стратегии черного ящика
тестирование по стратегии черного ящикатестирование по стратегии черного ящика
тестирование по стратегии черного ящикаvyacheslavmaslov
 
Grey box techniques
Grey box techniquesGrey box techniques
Grey box techniquesQA Guards
 
3 лекция. презентация
3 лекция. презентация3 лекция. презентация
3 лекция. презентацияvyacheslavmaslov
 
3 лекция. презентация
3 лекция. презентация3 лекция. презентация
3 лекция. презентацияvyacheslavmaslov
 
Test management
Test managementTest management
Test managementQA Guards
 
Денис Бесков -- Послание аналитиков тестировщикам
Денис Бесков -- Послание аналитиков тестировщикамДенис Бесков -- Послание аналитиков тестировщикам
Денис Бесков -- Послание аналитиков тестировщикамsqadays8
 

Similar to Istqb lesson 4 (20)

Александр Александров -- Надёжный тест-дизайн (мастер-класс)
Александр Александров -- Надёжный тест-дизайн (мастер-класс)Александр Александров -- Надёжный тест-дизайн (мастер-класс)
Александр Александров -- Надёжный тест-дизайн (мастер-класс)
 
Надежный тест-дизайн
Надежный тест-дизайнНадежный тест-дизайн
Надежный тест-дизайн
 
Тестирование осень 2013 лекция 2
Тестирование осень 2013 лекция 2Тестирование осень 2013 лекция 2
Тестирование осень 2013 лекция 2
 
лекция4 qa
лекция4 qaлекция4 qa
лекция4 qa
 
Тестирование весна 2013 лекция 2
Тестирование весна 2013 лекция 2Тестирование весна 2013 лекция 2
Тестирование весна 2013 лекция 2
 
Mva stf module 2 - rus
Mva stf module 2 - rusMva stf module 2 - rus
Mva stf module 2 - rus
 
Модуль 8. Лекция 37-38. Управление качеством проекта
Модуль 8. Лекция 37-38. Управление качеством проектаМодуль 8. Лекция 37-38. Управление качеством проекта
Модуль 8. Лекция 37-38. Управление качеством проекта
 
Викторина для тестировщиков
Викторина для тестировщиковВикторина для тестировщиков
Викторина для тестировщиков
 
C++ осень 2013 лекция 5
C++ осень 2013 лекция 5C++ осень 2013 лекция 5
C++ осень 2013 лекция 5
 
Test
TestTest
Test
 
углубленное программирование на C++. лекция no.5 [4.0]
углубленное программирование на C++. лекция no.5 [4.0]углубленное программирование на C++. лекция no.5 [4.0]
углубленное программирование на C++. лекция no.5 [4.0]
 
Tests bogachkov last_version_120412
Tests bogachkov last_version_120412Tests bogachkov last_version_120412
Tests bogachkov last_version_120412
 
05ka-nov
05ka-nov05ka-nov
05ka-nov
 
тестирование по стратегии черного ящика
тестирование по стратегии черного ящикатестирование по стратегии черного ящика
тестирование по стратегии черного ящика
 
Grey box techniques
Grey box techniquesGrey box techniques
Grey box techniques
 
3 лекция. презентация
3 лекция. презентация3 лекция. презентация
3 лекция. презентация
 
3 лекция. презентация
3 лекция. презентация3 лекция. презентация
3 лекция. презентация
 
Test management
Test managementTest management
Test management
 
Тест-дизайн "в цикле"
Тест-дизайн "в цикле"Тест-дизайн "в цикле"
Тест-дизайн "в цикле"
 
Денис Бесков -- Послание аналитиков тестировщикам
Денис Бесков -- Послание аналитиков тестировщикамДенис Бесков -- Послание аналитиков тестировщикам
Денис Бесков -- Послание аналитиков тестировщикам
 

Istqb lesson 4

  • 1. Курс: Профессиональный тестировщик. Занятие 4. Методы проектирования тестов. Бульба Евгений, ISTQB Certified Test Manager. Июль 03, 2019.
  • 2. Содержание Занятие 4. Методы проектирования тестов. 1. Категории методов проектирования тестов. 2. Тестирование методом черного ящика. 3. Тестирование методом белого ящика. 4. Тестирование на основе опыта. 2 Профессиональный тестировщик, Июнь 2019 г.
  • 4. 1. Категории методов проектирования тестов (1 из 7) Профессиональный тестировщик, Июнь 2019 г. 4 Цель методов проектирования тестов заключается в определении тестовых условий, тестовых сценариев и тестовых данных. Выбор конкретного метода проектирования тестов зависит от множества факторов, включая: • Тип системы или компонента; • Сложность системы или компонента; • Нормативные документы; • Требования пользователей или контракта; • Уровни рисков; • Типы рисков; • Задачи тестирования;
  • 5. 1. Категории методов проектирования тестов (2 из 7) Профессиональный тестировщик, Июнь 2019 г. 5 • Доступную документацию; • Знания и опыт тестировщиков; • Доступные инструменты; • Ресурсы времени и бюджет; • Жизненный цикл разработки; • Ожидаемое использование системы; • Прошлый опыт использования методов проектирования тестов для компонента или системы; • Ожидаемые типы дефектов компонента или системы. Обычно, используют комбинации различных методов в процессе создания тестовых сценариев для достижения наилучших результатов.
  • 6. 1. Категории методов проектирования тестов (3 из 7) Профессиональный тестировщик, Июнь 2019 г. 6 Тестирование Статическое Рецензирование Динамическое Статический анализ Метод белого ящика Метод черного ящика На основе опыта
  • 7. 1. Категории методов проектирования тестов (4 из 7) Профессиональный тестировщик, Июнь 2019 г. 7 Методы черного ящика (методы, основанные на поведении) основываются на анализе соответствующего базиса тестирования (формальных требований, спецификаций, бизнес-процессов и т.д.). Методы черного ящика сосредотачиваются на связи входных данных и выходных результатов объекта тестирования, а не на его внутренней структуре. ? Входные данные Выходные результаты
  • 8. 1. Категории методов проектирования тестов (5 из 7) Профессиональный тестировщик, Июнь 2019 г. 8 Методы белого ящика (методы, основанные на структуре) основаны на анализе архитектуры, детального проектирования, внутренней структуры или кода компонента либо системы. В отличие от методов черного ящика методы белого ящика сосредотачиваются на структуре и обработке внутри объекта тестирования. Методы, основанные на опыте, используют опыт разработчиков, тестировщиков и пользователей для проектирования, реализации и выполнения тестов. Входные данные Выходные результаты
  • 9. 1. Категории методов проектирования тестов (6 из 7) Профессиональный тестировщик, Июнь 2019 г. 9 Метод черного ящика Метод белого ящика Метод на основе опыта Базис тестирования включает в себя требования, спецификации, сценарии использования и пользовательские истории. Базис тестирования включает в себя код, архитектуру, или любой другой источник информации о структуре программного обеспечения. Базис тестирования включает в себя знания и опыт тестировщиков, разработчиков, пользователей и других заинтересованных лиц. Тестовые сценарии могут использоваться для определения несоответствий и отклонений между требованиями и реализацией. Спецификации используются как источник дополнительной информации для определения ожидаемых результатов тестовых сценариев. Измерение покрытия основано на элементах базиса тестирования и методе проектирования, применяемом к базису тестирования. Измерение покрытия основано на элементах структуры (коде, интерфейсах и т.д.).
  • 10. 1. Категории методов проектирования тестов (7 из 7) Профессиональный тестировщик, Июнь 2019 г. 10 Международный стандарт ISO/IEC/IEEE 29119-4:2015 Software and systems engineering -- Software testing - Part 4: Test techniques содержит описание методов проектирования тестов и соответствующие им методы измерения покрытия.
  • 12. 2. Тестирование методом черного ящика (1 из 17) Профессиональный тестировщик, Июнь 2019 г. 12 Метод черного ящика Эквивалентное разбиение Анализ граничных значений Таблица решений Таблица переходов Сценарии использования
  • 13. 2. Тестирование методом черного ящика (2 из 17) Профессиональный тестировщик, Июнь 2019 г. 13 Эквивалентное разбиение (equivalence partitioning) – разработка тестов методом черного ящика, в которой тестовые сценарии создаются для проверки элементов эквивалентной области. Как правило, тестовые сценарии разрабатываются для покрытия каждой области как минимум один раз. Эквивалентное разбиение делит данные на группы (классы эквивалентности), которые, как предполагается, обрабатываются схожим образом. Области эквивалентности могут быть как для правильных, или позитивных, так и неправильных, или негативных, значений. Эквивалентное разбиение
  • 14. 2. Тестирование методом черного ящика (3 из 17) Профессиональный тестировщик, Июнь 2019 г. 14 Позитивные значения – это значения, которые должны быть приняты. Класс, содержащий позитивные значения, называется «действительный класс эквивалентности». Негативные значения – значения, которые должны быть отвергнуты. Класс, содержащий негативные значения, называется «недействительный класс эквивалентности». Эквивалентное разбиение
  • 15. 2. Тестирование методом черного ящика (4 из 17) Профессиональный тестировщик, Июнь 2019 г. 15 Правила использования: • Классы могут быть определены для любых данных, относящихся к объекту тестирования. • Любой класс может быть при необходимости разделен на подклассы. • Каждое значение должно принадлежать только одному классу эквивалентности. • Во избежание маскирования дефектов негативные классы эквивалентности в тестовых сценариях следует использовать по отдельности, то есть избегать комбинаций одних негативных классов с другими. Эквивалентное разбиение
  • 16. 2. Тестирование методом черного ящика (5 из 17) Профессиональный тестировщик, Июнь 2019 г. 16 Пример. Есть поле с допустимым диапазоном значений ввода от 1 до 1000. Можно выделить два класса эквивалентности: 1. Допустимые значения: числа от 1 до 1000. 2. Недопустимые значения: числа от -∞ до 0, от 1001 до +∞, а также все остальные буквы и символы. Данный класс можно разбить на несколько: • От - ∞ до 0. • От 1001 до + ∞. • Специальные символы (# @ + — / _ : ; “ ‘ и т.д.). • Буквы. В результате, получаем минимум 5 тестов для тестирования поля ввода. Например, в поле можно ввести следующие данные: 46, -37, 1773, АБВ, $=#. Эквивалентное разбиение
  • 17. 2. Тестирование методом черного ящика (6 из 17) Профессиональный тестировщик, Июнь 2019 г. 17 Анализ граничных значений (boundary value analysis) – разработка тестов методом черного ящика, при котором тестовые сценарии проектируются на основании граничных значений. Граничное значение (boundary value) – входное значение или выходные данные, которое находится на грани эквивалентной области или на наименьшем расстоянии от обеих сторон грани, например, минимальное или максимальное значение области. Метод анализа граничных значений является продолжением метода эквивалентного разбиения, но может быть применим, только если классы состоят из упорядоченных числовых значений. Максимальное и минимальное значение класса являются его границами. Анализ граничных значений
  • 18. 2. Тестирование методом черного ящика (7 из 17) Профессиональный тестировщик, Июнь 2019 г. 18 Правила использования: • Некорректное поведение более вероятно на границах класса, чем внутри класса. • Анализ граничных значений может использоваться на любом уровне тестирования. • Данный метод применяется при тестировании требований, в которых присутствуют диапазоны значений (включая даты и время). • Покрытие вычисляется как отношение числа тестируемых граничных значений к общему числу граничных значений и чаще всего выражается в процентах. Анализ граничных значений
  • 19. 2. Тестирование методом черного ящика (8 из 17) Профессиональный тестировщик, Июнь 2019 г. 19 Пример. Например, для диапазона вводимых значений от 1 до 1000 все значения от 1 до 1000 приведут к одному и тому же результату, то границы две: нижняя и верхняя. Первое граничное значение – 1. Второе граничное значение – 1000. Добавляем к ним, стоящие рядом значения: • 0, 1, 2 • 999, 1000, 1001 Анализ граничных значений
  • 20. 2. Тестирование методом черного ящика (9 из 17) Профессиональный тестировщик, Июнь 2019 г. 20 Тестирование таблицы решений (decision table testing) – разработка тестов методом черного ящика, при котором тестовые сценарии проектируются для проверки комбинаций входных данных и/или причин, отраженных в таблице решений. Таблица решений (decision table) – таблица, отражающая комбинации входных данных и/или причин с соответствующими выходными данными и/или действиям (следствиям), которая может быть использована для проектирования тестовых сценариев. В процессе создания таблицы, тестировщик определяет условия (входы) и результирующие действия системы (выходы). Пары условий и действий образуют строки таблицы. Каждый столбец представляет собой бизнес-правило с уникальной комбинацией условий и действий, связанных с этим правилом. Таблица решений
  • 21. 2. Тестирование методом черного ящика (10 из 17) Профессиональный тестировщик, Июнь 2019 г. 21 Правила использования: • Полная таблица решений содержит по столбцу на каждую комбинацию условий. • Таблицу можно сократить, убрав столбцы, которые содержат несуществующие комбинации или комбинации, не влияющие на результат. • Стандарт покрытия для таблиц решений подразумевает наличие хотя бы одного теста для каждого столбца таблицы. • Преимущество метода заключается в том, что он выявляет комбинации условий, которые могли быть не проверены при тестировании. Таблица решений
  • 22. 2. Тестирование методом черного ящика (11 из 17) Профессиональный тестировщик, Июнь 2019 г. 22 Пример. Пользователь может использовать только одну форму оплаты, кредитную или дебетовую карту (с PIN-кодом). Банк проверяет кредитную / дебетовую карту и подтверждает наличие средств для покрытия транзакции до окончательной продажи. Таблица решений Условия 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Кредитная карта Да Да Да Да Да Да Да Да Нет Нет Нет Нет Нет Нет Нет Нет Дебетовая карта Да Да Да Да Нет Нет Нет Нет Да Да Да Да Нет Нет Нет Нет PIN валиден Да Да Нет Нет Да Да Нет Нет Да Да Нет Нет Да Да Нет Нет Наличие средств Да Нет Да Нет Да Нет Да Нет Да Нет Да Нет Да Нет Да Нет Транзакция разрешена Да Нет Нет Нет Да Нет Нет Нет Да Нет Нет Нет Нет Нет Нет Нет
  • 23. 2. Тестирование методом черного ящика (12 из 17) Профессиональный тестировщик, Июнь 2019 г. 23 Тестирование таблицы переходов (state transition testing) – разработка тестов методом черного ящика, при котором сценарии тестирования строятся на основе выполнения корректных и некорректных переходов состояний. Переход состояний (state transition) – переход между двумя состояниями компонентам или системы. Таблица переходов может быть построена на основе диаграмы состояний. Диаграмма состояний и переходов показывает начальное и конечное состояния системы, а также описывает переходы между состояниями. Каждый переход вызывается событием (например, вводом данных пользователем). Таблица переходов
  • 24. 2. Тестирование методом черного ящика (13 из 17) Профессиональный тестировщик, Июнь 2019 г. 24 Правила использования: • Тесты создаются для покрытия типичной последовательности состояний, покрытия каждого возможного состояния, покрытия каждого возможного перехода, проверки специфических последовательностей переходов, или для проверки недействительных переходов. • Диаграммы состояний и переходов обычно, показывают только действительные переходы и исключают недействительные переходы. • Тестирование с помощью таблицы переходов наиболее распространено в сфере встроенного ПО и при тестировании программных меню. Таблица переходов
  • 25. 2. Тестирование методом черного ящика (14 из 17) Профессиональный тестировщик, Июнь 2019 г. 25 Пример. Приведена диаграмма управления телевизором. Для покрытия всех переходов необходимо 5 тестов. Таблица переходов Телевизор выключен (S1) Телевизор в режиме ожидания (S2) Телевизор включен (S3) Вкл.питания Выкл.питания Тест 1 2 3 4 5 Начальное состояние S1 S2 S2 S3 S3 Вход Вкл. питания Выкл. питания Вкл. через пульт Выкл. через пульт Выкл. питания Выход ТВ в ожидание ТВ выключен ТВ включен ТВ в ожидание ТВ выключен Конечное состояние S2 S1 S3 S2 S1
  • 26. 2. Тестирование методом черного ящика (15 из 17) Профессиональный тестировщик, Июнь 2019 г. 26 Тестирование по сценариям использования (use case testing) – разработка тестов методом черного ящика, при котором тестовые сценарии создаются для выполнения сценариев использования. Сценарий использования системы (use case) – последовательность операций во взаимодействии актера и компонента или системы со значимым результатом, при которой актером может быть как пользователь, так и все, что может обмениваться информацией с системой. Сценарии использования
  • 27. 2. Тестирование методом черного ящика (16 из 17) Профессиональный тестировщик, Июнь 2019 г. 27 Правила использования: • Сценарий использования может быть описан взаимодействиями и активностями, предусловиями и постусловиями или естественным языком, если это возможно. • Взаимодействия между участниками и субъектом могут приводить к изменению состояния субъекта; они могут изображаться графически, с помощью диаграмм или моделей бизнес-процессов. • Сценарий использования может отражать различные варианты поведения, включая исключительные ситуации и обработку ошибок. • Тесты разрабатываются с целью проверки различных вариантов поведения (базового, исключительного, альтернативного, обработки ошибок). Сценарии использования
  • 28. 2. Тестирование методом черного ящика (17 из 17) Профессиональный тестировщик, Июнь 2019 г. 28 Пример. Сценарии использования
  • 30. 3. Тестирование методом белого ящика (1 из 9) Профессиональный тестировщик, Июнь 2019 г. 30 Метод белого ящика Тестирование операторов Тестирование ветвей Тестирование условий Тестирование множественных условий
  • 31. 3. Тестирование методом белого ящика (2 из 9) Профессиональный тестировщик, Июнь 2019 г. 31 Тестирование операторов (statement testing) – разработка тестов методом белого ящика, при котором наборы тестов составляются с целью исполнения операторов. Покрытие операторов (statement coverage) – процентное отношение операторов, исполняемых набором тестов, к их общему количеству. Тестирование операторов
  • 32. 3. Тестирование методом белого ящика (3 из 9) Профессиональный тестировщик, Июнь 2019 г. 32 Пример. Тестирование операторов В этом примере все операторы могут быть проверены одним тестом. Для этого ветки графа должны быть пройдены в следующем порядке: a, b, f, g, h, d, e После прохождения ветвей в таком порядке все операторы будут выполнены единожды. Пустые пути ELSE, например пути c, i и k не рассматриваются данной техникой.
  • 33. 3. Тестирование методом белого ящика (4 из 9) Профессиональный тестировщик, Июнь 2019 г. 33 Тестирование ветвей (branch testing) – разработка тестов методом белого ящика, при котором тестовые сценарии проектируются для выполнения ветвей. Покрытие ветвей (branch coverage) – процент ветвей, которые были выполнены набором тестов. 100% покрытие ветвей подразумевает 100% покрытие операторов. Тестирование ветвей
  • 34. 3. Тестирование методом белого ящика (5 из 9) Профессиональный тестировщик, Июнь 2019 г. 34 Пример. Тестирование ветвей В этом примере все ветви графа могут быть проверены четырьмя тестами: a, b, f, g, h, d, e a, b, c, d, e a, b, f, g, i, g, h, d, e a, k, e После прохождения тестов все возможные пути будут протестированы.
  • 35. 3. Тестирование методом белого ящика (6 из 9) Профессиональный тестировщик, Июнь 2019 г. 35 Тестирование условий (condition testing) – разработка тестов методом белого ящика, при котором тестовые сценарии разрабатываются для проверки исходов условий. Покрытие условий (condition coverage) – процент исходов условий, которые были проверены набором тестов. 100% покрытие условий требует, чтобы каждое отдельное (атомарное) условие в каждом выражении решения было проверено как “Истина” и “Ложь”. Атомарное условие (atomic condition) – условие, над которым невозможно провести дальнейшую декомпозицию, т.е. условие, не содержащее два или более одинарных условий, объединенных логическими операторами (И, ИЛИ, Исключающее ИЛИ). Примеры атомарных условий: <, >, = и т.д. Тестирование условий
  • 36. 3. Тестирование методом белого ящика (7 из 9) Профессиональный тестировщик, Июнь 2019 г. 36 Пример. Есть комбинированное условие: x > 3 ИЛИ y < 5. Условие состоит из двух условий (x > 3; y < 5), связанных логическим оператором ИЛИ. Тестовые данные x = 6 и y = 8 приводят к логическому значению “Истина” для первого условия (x > 3) и логическому значению “Ложь” для второго условия (y < 5). Логическое значение полного условия - “Истина” (“Истина” ИЛИ “Ложь” = “Истина” ). Тестовые данные x = 2 и y = 3 приводит к “Ложь” для первого условия и “Истина” для второго условия. Значение полного условия снова приводит к “Истина” (“Ложь” ИЛИ “Истина” = “Истина” ). Оба набора тестов приводят к тому что выражение “Истина” Тестирование условий
  • 37. 3. Тестирование методом белого ящика (8 из 9) Профессиональный тестировщик, Июнь 2019 г. 37 Тестирование множественных условий (multiple condition testing) – разработка тестов методом белого ящика, при котором тестовые сценарии разрабатываются для проверки комбинаций исходов одиночных условий (в рамках одного оператора). Множественное условие (multiple condition) – два или более одиночных условия, объединенных посредством логических операторов (И, ИЛИ, Исключающее ИЛИ), например 'A>B И C>1000'. Покрытие множественных условий (multiple condition coverage) – процент комбинаций всех исходов одиночных условий в рамках одного оператора, который был проверен набором тестов. Стопроцентное покрытие множественных условий означает стопроцентное покрытие условий. Тестирование множественных условий
  • 38. 3. Тестирование методом белого ящика (9 из 9) Профессиональный тестировщик, Июнь 2019 г. 38 Пример. Есть комбинированное условие: x > 3 ИЛИ y < 5. Возможны четыре комбинации тестовых случаев: x = 6 (Истина), y = 3 (Истина). Выражение x > 3 ИЛИ y < 5 (Истина) x = 6 (Истина), y = 8 (Ложь). Выражение x > 3 ИЛИ y < 5 (Истина) x = 2 (Ложь), y = 3 (Истина). Выражение x > 3 ИЛИ y < 5 (Истина) x = 2 (Ложь), y = 8 (Ложь). Выражение x > 3 ИЛИ y < 5 (Ложь) Данная техника очень дорогая из-за растущего числа частичных состояний, которые приводят к экспоненциальному росту числа возможных комбинаций. Тестирование множественных условий
  • 40. 4. Тестирование на основе опыта (1 из 4) Профессиональный тестировщик, Июнь 2019 г. 40 Тестирование на основе опыте Предположение об ошибках Исследовательское тестирование Тестирование на основе чеклистов
  • 41. 4. Тестирование на основе опыта (2 из 4) Профессиональный тестировщик, Июнь 2019 г. 41 Предположение об ошибках (error guessing) – метод проектирования тестов, когда опыт тестировщика используется для предугадывания того, какие дефекты могут быть в тестируемом компоненте или системе в результате сделанных ошибок, а также для разработки тестов специально для их выявления. Для данного метода могут использоваться: • История работы приложения в прошлом. • Наиболее вероятные типы дефектов, допускаемых при разработке. • Типы дефектов, которые были обнаружены в схожих приложениях. Предположение об ошибках
  • 42. 4. Тестирование на основе опыта (3 из 4) Профессиональный тестировщик, Июнь 2019 г. 42 Исследовательское тестирование (exploratory testing) – неформальный метод проектирования тестов, при котором тестировщик активно контролирует проектирование тестов в то время, как эти тесты выполняются, и использует полученную во время тестирования информацию для проектирования новых и улучшенных тестов. Исследовательское тестирование лучше всего подходит в ситуациях, когда документация недостаточная, либо вовсе отсутствует, в условиях очень сжатых сроков и как дополнение к другим, более формальным, методам тестирования. Исследовательское тестирование относится к реактивным стратегиям тестирования. Исследовательское тестирование
  • 43. 4. Тестирование на основе опыта (4 из 4) Профессиональный тестировщик, Июнь 2019 г. 43 Тестирование на основе чек-листов (checklist-based testing) – метод создания тестов, основанный на опыте, при котором опытный тестировщик использует высокоуровневые списки (чеклисты). Список, содержит пункты, которые нужно отметить или запомнить, или состоит из набора правил или критериев, согласно которым верифицируется программный продукт. Чек-листы могут создаваться для поддержки разных видов тестирования, включая функциональное и нефункциональное тестирование. При отсутствии детальных тестовых сценариев, чек- листы помогают определить направления тестирования и увеличивают согласованность тестирования. Поскольку чек-листы содержат общее описание, это снижает повторяемость результатов. Тестирование на основе чеклистов