SlideShare a Scribd company logo
1 of 61
Основные техники тест дизайна
 Техники «черного ящика»
 Техники «белого ящика»
 Техники, основанные на опыте
тестировщика
Основаны на анализе документации
Не принимают во внимание внутреннюю
структуру системы
Вводные
Тестируемый
элемент
Результаты
 Основаны на анализе внутренней структуры
 Направлены непосредственно на код
 Легко поддаются измерению тестового
покрытия
А > 2
Yes
No
 Используют знания и опыт тестирующего:
◦ программиста;
◦ тестировщика;
◦ пользователя
 Важны знания:
◦ системы;
◦ предметной области;
◦ наиболее вероятных ошибок...
 Классы эквивалентности
 Граничные условия
 Таблица возможных решений
 Тестирование переходов между
состояниями
 Пользовательские сценарии
Предполагает разделение тестируемых
данных на группы (классы) на основе каких-
либо общих характеристик:
 Одинаковые способы обработки
 Одинаковое поведение
 Время: до / после / в течение
 Корректные / некорректные данные
 В пределах лимита / превышает
 Важно протестировать как минимум одно
значение из каждого класса
 Может работать с данными полученными из
разных источников (введенными вручную,
сгенерированными системой, переданными из
другой системы)
 Используется для разных уровней тестирования
 Применяется для тестирования как вводных, так
и ожидаемых результатов
 Важно тестирование как «допустимых», так и
«недопустимых» классов эквивалентности
Не замужем / не
женат
Замужем / женат
Разведена /
разведен
Вдова /вдовец
Гражданский
брак
Семейное положение
Не призывается
Призывается
Не призывается
17 18 23 25 26
Призыв в армию
Задание 1: Определите классы
эквивалентности для операции снятия
наличности в банкомате:
 Минимальная купюра – 10 грн.
 Максимальная сумма разового снятия – 5000 грн.
Задание 2: Определите классы
эквивалентности по уровню образования для
использования в системе анкетирования
Граничными являются минимальные и
максимальные значения отдельного класса
эквивалентности
Обладают высокой вероятностью ошибки
Тестирование граничных условий считается
расширенным тестированием классов
эквивалентности
 Может применятся на различных уровнях
тестирования
 Достаточно легко определяются, при этом
очень эффективны
 Должен создаваться отдельный тест-кейс
на каждое граничное условие
 Необходимо тестировать граничные
условия как «допустимых», так и
«недопустимых» классов эквивалентности
Не призывается
Призывается
Не призывается
17 18 23 25 26
Призыв в армию
Задание 3: Определите граничные условия
для классов эквивалентности из Задания 1:
 Минимальная купюра – 10 грн.
 Максимальная сумма разового снятия – 5000 грн.
Задание 4: Определите граничные условия
для классов эквивалентности из Задания 2
(уровень образования).
Задание 5: Определите граничные условия
для системы учета выплаты больничных:
 Общий стаж работы до 1 года – 50% оклада;
 Общий стаж работы до 5 лет – 70% оклада;
 Общий стаж работы до 8 лет – 80% оклада;
 Общий стаж работы свыше 8 лет – 100% оклада.
Варианты
Условия 1 2 3 4 5 6 7 8 9 10 11 12
Возраст <18 Да Да Да Да Нет Нет Нет Нет Нет Нет Нет Нет
18-25 Нет Нет Нет Нет Да Да Да Да Нет Нет Нет Нет
>=25 Нет Нет Нет Нет Нет Нет Нет Нет Да Да Да Да
Состояние
здоровья Здоров Здоров
Не
здоров
Не
здоров Здоров Здоров
Не
здоров
Не
здоров Здоров Здоров
Не
здоров
Не
здоров
Отсрочка Нет Да Нет Да Нет Да Нет Да Нет Да Нет Да
Действия
(повестка) Нет Нет Нет Нет Да Нет Нет Нет Нет Нет Нет Нет
Рассылка повестки в армию
• Каждое условие предполагает Да / Нет ответ
• Каждый вариант содержит различную комбинацию
ответов, приводящую к разным действиям
Отдельный тест-кейс необходим для каждого столбика таблицы!
 Используется, если действия системы
зависят от принятия логических решений
 Основана на анализе технического задания
 Применяется на любых уровнях
тестирования
 Техника эффективна для определения
комбинаций, которые в других случаях
могут быть не замечены
Задание 6: Создайте таблицу возможных
решений для тестирования системы продажи
билетов
В кинотеатре предоставляется скидка в
размере 50% на сеансы в таких случаях:
 На утренний сеанс в любой день;
 На все сеансы в день зрителя;
 Льготным категориям зрителей
(студенты, пенсионеры, инвалиды) при условии
предъявления удостоверения.
Скидки не суммируются!
Варианты
Условия
1 2 3 4 5 6 7 8
Утренний сеанс Да Да Да Нет Нет Нет Да Нет
День зрителя Да Да Нет Нет Нет Да Нет Да
Льготная
категория
зрителя
Да Нет Нет Нет Да Да Да Да
Действия Скидка Скидка Скидка Нет
скидки
Скидка Скидка Скидка Скидка
Предоставление скидки в кинотеатре
Задание 7: Создайте таблицу возможных решений
для тестирования системы лояльности
авиаперевозчика.
Система лояльности авиаперевозчика предполагает
наличие у пассажиров одной из карт клуба:
голубой, серебряной и золотой.
 Голубая карта дает возможность первоочередной посадки;
 Серебряная карта дает возможность первоочередной
посадки и повышение класса за 20 долларов США;
 Золотая карта дает возможность первоочередной
посадки, повышение класса бесплатно и доступ в VIP-зал;
 Доступ в VIP-зал также предоставляется держателям
голубой или серебряной карты при наличии более 10 000
бонусных баллов.
Варианты
Условия
1 2 3 4 5 6
Голубая карта Да Да Нет Нет Нет Нет
Серебряная карта Нет Нет Да Да Нет Нет
Золотая карта Нет Нет Нет Нет Да Да
> 10000 бонусов Нет Да Нет Да Нет Да
Первоочередная посадка Да Да Да Да Да Да
Повышение класса за 20
долларов
Нет Нет Да Да Нет Нет
Бесплатное повышение
класса
Нет Нет Нет Нет Да Да
Доступ в VIP-зал Нет Да Нет Да Да Да
Pairwise testing
Техника формирования наборов тестовых
данных, при которой каждое тестируемое значение
каждого из проверяемых параметров хотя бы раз
сочетается с каждым из тестируемых значений всех
остальных проверяемых параметров
Варианты
Условия 1 2 3 4 5 6 7 8 9 10 11 12
Возраст <18 Да Да Да Да Нет Нет Нет Нет Нет Нет Нет Нет
18-25 Нет Нет Нет Нет Да Да Да Да Нет Нет Нет Нет
>=25 Нет Нет Нет Нет Нет Нет Нет Нет Да Да Да Да
Состояние
здоровья Здоров Здоров
Не
здоров
Не
здоров Здоров Здоров
Не
здоров
Не
здоров Здоров Здоров
Не
здоров
Не
здоров
Отсрочка Нет Да Нет Да Нет Да Нет Да Нет Да Нет Да
Действия
(повестка) Нет Нет Нет Нет Да Нет Нет Нет Нет Нет Нет Нет
Рассылка повестки в армию
• Каждое значение тестируемого параметра хотя бы раз сочетается с
каждым из значений всех остальных параметров
• Не забываем о различных результирующих действиях: каждое из
возможных действий должно выполняться хотя бы раз
Отдельный тест-кейс необходим для каждого столбика таблицы!
Система налогообложения учитывает
следующие параметры при расчеты суммы
налога:
 Пол (мужской / женский);
 Возраст (моложе 25 лет, в возрасте от 25 до
60 лет, старше 60 лет);
 Наличие / отсутствие детей.
Создайте наборы тестовых данных с
использованием техники попарного
тестирования.
Варианты
Условия
1 2 3 4 5 6
Возраст <25
Да Да Нет Нет Нет Нет
25-60
Нет Нет Да Да Нет Нет
>=60
Нет Нет Нет Нет Да Да
Пол
М Ж М Ж М Ж
Дети
Есть Нет Нет Есть Есть Нет
Наборы тестовых данных для тестирования
системы налогообложения
Система может «реагировать» по-разному в
зависимости от:
 Действий, выполненых пользователем (вводных);
 Состояния, в котором она находила перед
выполнением действий (или череды состояний)
Состояние 1
Состояние 2
Вводные
Действия
Состояния должны быть:
 обособленными
 определяемыми
 конечными по количеству
Система анализируется с точки зрения:
 Возможности определения состояний
 Переходов между состояниями
 Условий (вводных)
 Действий (результатов)
 Используется для тестирования
встраиваемого ПО (сигнализация)
 Удобно для тестирование очередности
действий;
 Эффективно для тестирования
некорректных данных / действий;
 Может использоваться для тестирования
диалоговых окон.
Сигнализация для автомобиля, защищенная кодом
Правильный код
НЕправильный
код
НЕправильный
код
Открыть
дверь
Сигнализация
включена
Сигнализация
отключена
Сигнализация
сработала
НЕправильный
код
Правильный
код
Вводные / Действия
Первоначальное
состояние
Правильный код Неправильный код Открыть дверь
Сигнализация отключена
Сигнализация
включена
Сигнализация
отключена
-
Сигнализация включена
Сигнализация
отключена
Сигнализация
включена
Сигнализация
сработала
Сигнализация сработала
Сигнализация
отключена
Сигнализация
сработала
-
Сигнализация для автомобиля, защищенная кодом
Нулевой уровень - 0-switch coverage:
тестирование перехода из одного состояния в
другое:
 Сигнализация отключена ⇒ сигнализация включена
 Сигнализация включена ⇒ сигнализация сработала
Первый уровень – 1-switch coverage:
тестирование переходов парами («транзитом»):
 Сигнализация отключена ⇒ сигнализация включена ⇒
сигнализация сработала
 Сигнализация включена ⇒ сигнализация сработала ⇒
сигнализация отключена
Задание 8: Создайте схему / таблицу
перехода состояний кофе-машины.
В нашей кофе-машине возможны три
состояния:
 Ожидание;
 Приготовление напитка;
 Требование пополнение ингридиентов.
Имеется только одна кнопка Старт/Стоп и
резервуары для пополнения запасов воды /
кофе.
Вводные / Действия
Первоначальное состояние Старт / Стоп Наполнить резервуары
Ожидание Готовит напиток Ожидание
Готовит напиток Ожидание -
Требуется пополнение Требуется пополнение Ожидание
Таблица переходов между состояниями кофе-машины
Задание 9: Создайте схему / таблицу
перехода состояний мобильного телефона
из режима ожидания в режим совершения
звонка (требуется введение кода). По
завершении звонка телефон возвращается в
режим ожидания. В случае введения
неверного кода три раза подряд телефон
блокируется.
 Описывают поведение системы с точки
зрения пользователя
 Действия тестировщика имеют реальное
значение для пользователя
 Могут иметь основные и «запасные»
сценарии
 Имеют предварительные условия и
конечные результаты
 Имеют «завершенный» вид, предполагают
сквозное тестирование
“include”
“extend”
ATM – bank machine
get money
extension points
PIN query
eat cardcondition:
{3
rd
wrong PIN input}
payment unit
bank
client
Снятие наличности в банкомате
Совершение покупки в Интернет-магазине
Пользователь ищет желаемый товар ⇒
находит его ⇒ помещает в корзину ⇒
указывает адрес доставки ⇒ оплачивает
товар с использованием платежной карты
 Тест-кейсы (планы) создаются на основе
реальных сценариев использования
системы
 Найденные ошибки имеют большое
значение для качества и огромные шансы
быть обнаружеными пользователями
 Чаще всего используется при приемочном
тестировании
 Эффективны при интеграционном
(объединении компонентов или систем)
тестировании
Задание 10: Опишите наиболее вероятный
пользовательский сценарий для пополнения
телефона с помощью I-box
 Основаны на анализе внутренней структуры
 Направлены непосредственно на код
 Легко поддаются измерению тестового
покрытия
А > 2
Yes
No
Чаще всего используются при компонентном
тестировании
Однако могут использовать и на других
уровнях тестирования:
 интеграционное тестирование (иерархия)
 тестирование системы (меню, процессы, навигация
WEB-страницы)
Легко и точно определяется покрытие (охват)
выполненного теста!
 Тестирование утверждений
 Тестирование ветвлений (решений)
READ A
IF A > 5 THEN
IF A =21 THEN
PRINT “Key”
ENDIF
ENDIF
Тестирование утверждений- техника тест-
дизайна, основанная на создании тест-кейсов
для покрытия утверждений, использованных в
коде
Покрытие утверждений– соотношение
количества утверждений, покрытых тестом, к
общему количеству утверждений в коде
Для достижения 100% покрытия утверждений
необходимо выполнение минимум одного
сценария для каждого утверждения
Тестирование решений- техника тест-
дизайна, основанная на создании тест-кейсов для
покрытия решений (веток) кода
Покрытие решений– соотношение количества
решений, покрытых тестом, общему количеству
решений (веток) кода
Для достижения 100% покрытия решений
необходимо выполнение минимум одного сценария
для каждого решения (ветки) кода
100% покрытие решений гарантирует 100% покрытие
утверждений!
Определите минимально необходимое
количество тест-кейсов для обеспечения:
 100% покрытия при тестировании
утверждений;
 100% покрытия при тестировании решений
 Укажите значение переменных
Для удобства код можно переводить в схему
(см.слайд №43)
READ A
READ B
IF A < 0 THEN
PRINT “A negative”
ELSE
PRINT “A positive or zero”
ENDIF
IF B < 0 THEN
PRINT “B negative”
ELSE
PRINT “B positive or zero”
ENDIF
Для 100% покрытия утверждений и
решений достаточно 2 тест-кейсов
READ A
READ B
IF A > B THEN
A = A + 1
ELSE
B = B + 1
ENDIF
WHILE A > B
B = A * B
A = A + 1
ENDWHILE
Для 100% покрытия утверждений и
решений достаточно 2 тест-кейсов
READ A
READ B
WHILE B > A
PRINT “hello”
WHILE B > 10
B = B – 1
ENDWHILE
ENDWHILE
Для 100% покрытия утверждений и
решений достаточно 1 тест-кейса
READ A
READ B
IF B < A THEN
WHILE A < 2
A = A +2
PRINT “a”
ENDWHILE
ELSE
IF A = B THEN
B = 2B
ELSE
A = 2A
ENDIF
ENDIF
Для 100% покрытия утверждений и
решений достаточно 3 тест-кейсов
 Тестирование условий
READ A
READ B
IF A > 3 OR B < 5 THEN
PRINT “Key”
ENDIF
Тестирование условий – техника тест-
дизайна, основанная на создании тест-
кейсов для покрытия каждой отдельной
части «сложного» условия
Части условия (atomic or partial conditions)
связаны между собой логическими
операторами AND, OR, NOT
READ A
READ B
IF A > 3 OR B < 5 THEN
PRINT “Key”
ENDIF
A=6 (T), B=8 (F), A>3 OR B<5 (T)
A=2 (F), B=3 (T), A>3 OR B<5 (T)
Минимальное требование к покрытию условий -
тестирования сценариев, приводящих к обеим
возможным результатам TRUE / FALSE для
каждой части условия
READ A
READ B
IF A > 3 OR B < 5 THEN
PRINT “Key”
ENDIF
A=6 (T), B=3 (Т), A>3 OR B<5 (T)
A=6 (T), B=8 (F), A>3 OR B<5 (T)
A=2 (F), B=3 (T), A>3 OR B<5 (T)
A=2 (F), B=8 (F), A>3 OR B<5 (F)
Множественное тестирование условий
предполагает покрытие всех возможных
TRUE/FALSE комбинаций для частичных условий
READ A
READ B
IF A > 3 OR B < 5 THEN
PRINT “Key”
ENDIF
A=6 (T), B=3 (Т), A>3 OR B<5 (T)
A=6 (T), B=8 (F), A>3 OR B<5 (T)
A=2 (F), B=3 (T), A>3 OR B<5 (T)
A=2 (F), B=8 (F), A>3 OR B<5 (F)
При выборе сценария тестирования важно
определить тот, который является чувствительным к
ошибкам (позволяет их выявить). Сценарии, в
которых ошибки «маскируются», выполнять не
обязательно.
Определите сценарии тестирования
условий, обеспечивающие минимально
необходимое покрытие, множественное
тестирование, а также выберите
сценарии, чувствительные к ошибкам.
READ A
READ B
IF A < 18 OR B > 55 THEN
PRINT “OK”
ENDIF
A=10, B=27: A<18 (T), B>55 (F), A<18 OR B>55 (T)
A=27, B=72: A<18 (F), B>55 (T), A<18 OR B>55 (T)
A=31, B=31: A<18 (F), B>55 (F), A<18 OR B>55 (F)
A=5, B=75: A<18 (T), B>55 (T), A<18 OR B>55 (T)
Определите сценарии тестирования
условий, обеспечивающие минимально
необходимое покрытие, множественное
тестирование, а также выберите
сценарии, чувствительные к ошибкам.
READ A
IF A > 3 AND A < 5 THEN
PRINT “Key”
ENDIF
A=8: A>3 (T), A<5 (F), A>3 AND A<5 (F)
A=1: A>3 (F), A<5 (T), A>3 AND A<5 (F)
A=4: A>3 (T), A<5 (T), A>3 AND A<5 (T)
A=?: A>3 (F), A<5 (F), A>3 AND A<5 (F)
 Направленность тестирования
 Полный охват кода
 Управление потоком
 Отслеживание целостности данных
 Тестирование, определяемое внутренним
алгоритмом (сортировка, преобразование
матрицы)
Не позволяет обнаружить не разработанные
требования!
Test design techniques

More Related Content

What's hot

Chapter 6 - Tool Support for Testing
Chapter 6 - Tool Support for TestingChapter 6 - Tool Support for Testing
Chapter 6 - Tool Support for TestingNeeraj Kumar Singh
 
Chapter 4 - Test Design Techniques
Chapter 4 - Test Design TechniquesChapter 4 - Test Design Techniques
Chapter 4 - Test Design TechniquesNeeraj Kumar Singh
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testingBugRaptors
 
Manual Testing Notes
Manual Testing NotesManual Testing Notes
Manual Testing Notesguest208aa1
 
ISTQB / ISEB Foundation Exam Practice - 6
ISTQB / ISEB Foundation Exam Practice - 6ISTQB / ISEB Foundation Exam Practice - 6
ISTQB / ISEB Foundation Exam Practice - 6Yogindernath Gupta
 
Se (techniques for black box testing ppt)
Se (techniques for black box testing ppt)Se (techniques for black box testing ppt)
Se (techniques for black box testing ppt)Mani Kanth
 
Chapter 2 - Testing Throughout the Development LifeCycle
Chapter 2 - Testing Throughout the Development LifeCycleChapter 2 - Testing Throughout the Development LifeCycle
Chapter 2 - Testing Throughout the Development LifeCycleNeeraj Kumar Singh
 
Conceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidadeConceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidaderzauza
 
Equivalence partitions analysis
Equivalence partitions analysisEquivalence partitions analysis
Equivalence partitions analysisVadym Muliavka
 
ISTQB - What's testing
ISTQB - What's testingISTQB - What's testing
ISTQB - What's testingHoangThiHien1
 
New software testing-techniques
New software testing-techniquesNew software testing-techniques
New software testing-techniquesFincy V.J
 
Planejamento de Testes
Planejamento de TestesPlanejamento de Testes
Planejamento de Testeselliando dias
 

What's hot (20)

Chapter 6 - Tool Support for Testing
Chapter 6 - Tool Support for TestingChapter 6 - Tool Support for Testing
Chapter 6 - Tool Support for Testing
 
Chapter 4 - Test Design Techniques
Chapter 4 - Test Design TechniquesChapter 4 - Test Design Techniques
Chapter 4 - Test Design Techniques
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
 
Manual Testing Notes
Manual Testing NotesManual Testing Notes
Manual Testing Notes
 
ISTQB / ISEB Foundation Exam Practice - 6
ISTQB / ISEB Foundation Exam Practice - 6ISTQB / ISEB Foundation Exam Practice - 6
ISTQB / ISEB Foundation Exam Practice - 6
 
Istqb chapter 5
Istqb chapter 5Istqb chapter 5
Istqb chapter 5
 
Se (techniques for black box testing ppt)
Se (techniques for black box testing ppt)Se (techniques for black box testing ppt)
Se (techniques for black box testing ppt)
 
Chapter 2 - Testing Throughout the Development LifeCycle
Chapter 2 - Testing Throughout the Development LifeCycleChapter 2 - Testing Throughout the Development LifeCycle
Chapter 2 - Testing Throughout the Development LifeCycle
 
Conceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidadeConceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidade
 
Equivalence partitions analysis
Equivalence partitions analysisEquivalence partitions analysis
Equivalence partitions analysis
 
ISTQB - What's testing
ISTQB - What's testingISTQB - What's testing
ISTQB - What's testing
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
ISTQB Test Process
ISTQB Test ProcessISTQB Test Process
ISTQB Test Process
 
New software testing-techniques
New software testing-techniquesNew software testing-techniques
New software testing-techniques
 
Chapter 3 - Static Testing
Chapter 3 - Static TestingChapter 3 - Static Testing
Chapter 3 - Static Testing
 
Multiple radio buttons
Multiple radio buttonsMultiple radio buttons
Multiple radio buttons
 
Planejamento de Testes
Planejamento de TestesPlanejamento de Testes
Planejamento de Testes
 
Tlc
TlcTlc
Tlc
 
Istqb lesson 1
Istqb lesson 1Istqb lesson 1
Istqb lesson 1
 
Mutation testing
Mutation testingMutation testing
Mutation testing
 

Similar to Test design techniques

Black box techniques
Black box techniquesBlack box techniques
Black box techniquesQA Guards
 
Андрей Ладутько - Тест дизайн. Беседа и немного практики
Андрей Ладутько - Тест дизайн. Беседа и немного практикиАндрей Ладутько - Тест дизайн. Беседа и немного практики
Андрей Ладутько - Тест дизайн. Беседа и немного практикиQA Club Minsk
 
3 лекция. презентация
3 лекция. презентация3 лекция. презентация
3 лекция. презентацияvyacheslavmaslov
 
3 лекция. презентация
3 лекция. презентация3 лекция. презентация
3 лекция. презентацияvyacheslavmaslov
 
Тестирование весна 2013 лекция 2
Тестирование весна 2013 лекция 2Тестирование весна 2013 лекция 2
Тестирование весна 2013 лекция 2Technopark
 
тестирование по стратегии черного ящика
тестирование по стратегии черного ящикатестирование по стратегии черного ящика
тестирование по стратегии черного ящикаvyacheslavmaslov
 
Тестирование лекция 2 весна 2014
Тестирование лекция 2 весна 2014Тестирование лекция 2 весна 2014
Тестирование лекция 2 весна 2014Technopark
 
Как мы тестировали ситуационный центр Центральной ППК
Как мы тестировали ситуационный центр Центральной ППККак мы тестировали ситуационный центр Центральной ППК
Как мы тестировали ситуационный центр Центральной ППКRina Uzhevko
 
Темная сторона метрик
Темная сторона метрикТемная сторона метрик
Темная сторона метрикRoman Ivliev
 
QA Fest 2017. Иван Пашко. Антипаттерны и запахи в автоматизации тестирования
QA Fest 2017. Иван Пашко. Антипаттерны и запахи в автоматизации тестированияQA Fest 2017. Иван Пашко. Антипаттерны и запахи в автоматизации тестирования
QA Fest 2017. Иван Пашко. Антипаттерны и запахи в автоматизации тестированияQAFest
 

Similar to Test design techniques (11)

Black box techniques
Black box techniquesBlack box techniques
Black box techniques
 
Андрей Ладутько - Тест дизайн. Беседа и немного практики
Андрей Ладутько - Тест дизайн. Беседа и немного практикиАндрей Ладутько - Тест дизайн. Беседа и немного практики
Андрей Ладутько - Тест дизайн. Беседа и немного практики
 
3 лекция. презентация
3 лекция. презентация3 лекция. презентация
3 лекция. презентация
 
3 лекция. презентация
3 лекция. презентация3 лекция. презентация
3 лекция. презентация
 
Тестирование весна 2013 лекция 2
Тестирование весна 2013 лекция 2Тестирование весна 2013 лекция 2
Тестирование весна 2013 лекция 2
 
05ka-nov
05ka-nov05ka-nov
05ka-nov
 
тестирование по стратегии черного ящика
тестирование по стратегии черного ящикатестирование по стратегии черного ящика
тестирование по стратегии черного ящика
 
Тестирование лекция 2 весна 2014
Тестирование лекция 2 весна 2014Тестирование лекция 2 весна 2014
Тестирование лекция 2 весна 2014
 
Как мы тестировали ситуационный центр Центральной ППК
Как мы тестировали ситуационный центр Центральной ППККак мы тестировали ситуационный центр Центральной ППК
Как мы тестировали ситуационный центр Центральной ППК
 
Темная сторона метрик
Темная сторона метрикТемная сторона метрик
Темная сторона метрик
 
QA Fest 2017. Иван Пашко. Антипаттерны и запахи в автоматизации тестирования
QA Fest 2017. Иван Пашко. Антипаттерны и запахи в автоматизации тестированияQA Fest 2017. Иван Пашко. Антипаттерны и запахи в автоматизации тестирования
QA Fest 2017. Иван Пашко. Антипаттерны и запахи в автоматизации тестирования
 

More from QA Guards

ISTQB Foundation Level Certification - Intruduction
ISTQB Foundation Level Certification - IntruductionISTQB Foundation Level Certification - Intruduction
ISTQB Foundation Level Certification - IntruductionQA Guards
 
Terms and definitions
Terms and definitionsTerms and definitions
Terms and definitionsQA Guards
 
Grey box techniques
Grey box techniquesGrey box techniques
Grey box techniquesQA Guards
 
Independence of testing
Independence of testingIndependence of testing
Independence of testingQA Guards
 
Test management
Test managementTest management
Test managementQA Guards
 
Testing tools
Testing toolsTesting tools
Testing toolsQA Guards
 
Test automation
Test automationTest automation
Test automationQA Guards
 
Software development lifecycle
Software development lifecycleSoftware development lifecycle
Software development lifecycleQA Guards
 
White box techniques
White box techniquesWhite box techniques
White box techniquesQA Guards
 
Reporting error
Reporting errorReporting error
Reporting errorQA Guards
 
Static testing
Static testingStatic testing
Static testingQA Guards
 
Analysis and Design
Analysis and DesignAnalysis and Design
Analysis and DesignQA Guards
 
Fundamental test process
Fundamental test processFundamental test process
Fundamental test processQA Guards
 
IntroductionPrinciples
IntroductionPrinciplesIntroductionPrinciples
IntroductionPrinciplesQA Guards
 

More from QA Guards (16)

ISTQB Foundation Level Certification - Intruduction
ISTQB Foundation Level Certification - IntruductionISTQB Foundation Level Certification - Intruduction
ISTQB Foundation Level Certification - Intruduction
 
Terms and definitions
Terms and definitionsTerms and definitions
Terms and definitions
 
Grey box techniques
Grey box techniquesGrey box techniques
Grey box techniques
 
Independence of testing
Independence of testingIndependence of testing
Independence of testing
 
Test management
Test managementTest management
Test management
 
Testing tools
Testing toolsTesting tools
Testing tools
 
Test automation
Test automationTest automation
Test automation
 
Software development lifecycle
Software development lifecycleSoftware development lifecycle
Software development lifecycle
 
White box techniques
White box techniquesWhite box techniques
White box techniques
 
Reporting error
Reporting errorReporting error
Reporting error
 
Static testing
Static testingStatic testing
Static testing
 
Analysis and Design
Analysis and DesignAnalysis and Design
Analysis and Design
 
Fundamental test process
Fundamental test processFundamental test process
Fundamental test process
 
IntroductionPrinciples
IntroductionPrinciplesIntroductionPrinciples
IntroductionPrinciples
 
Test types
Test typesTest types
Test types
 
Test levels
Test levelsTest levels
Test levels
 

Test design techniques

  • 2.  Техники «черного ящика»  Техники «белого ящика»  Техники, основанные на опыте тестировщика
  • 3. Основаны на анализе документации Не принимают во внимание внутреннюю структуру системы Вводные Тестируемый элемент Результаты
  • 4.  Основаны на анализе внутренней структуры  Направлены непосредственно на код  Легко поддаются измерению тестового покрытия А > 2 Yes No
  • 5.  Используют знания и опыт тестирующего: ◦ программиста; ◦ тестировщика; ◦ пользователя  Важны знания: ◦ системы; ◦ предметной области; ◦ наиболее вероятных ошибок...
  • 6.  Классы эквивалентности  Граничные условия  Таблица возможных решений  Тестирование переходов между состояниями  Пользовательские сценарии
  • 7. Предполагает разделение тестируемых данных на группы (классы) на основе каких- либо общих характеристик:  Одинаковые способы обработки  Одинаковое поведение  Время: до / после / в течение  Корректные / некорректные данные  В пределах лимита / превышает
  • 8.  Важно протестировать как минимум одно значение из каждого класса  Может работать с данными полученными из разных источников (введенными вручную, сгенерированными системой, переданными из другой системы)  Используется для разных уровней тестирования  Применяется для тестирования как вводных, так и ожидаемых результатов  Важно тестирование как «допустимых», так и «недопустимых» классов эквивалентности
  • 9. Не замужем / не женат Замужем / женат Разведена / разведен Вдова /вдовец Гражданский брак Семейное положение
  • 11. Задание 1: Определите классы эквивалентности для операции снятия наличности в банкомате:  Минимальная купюра – 10 грн.  Максимальная сумма разового снятия – 5000 грн. Задание 2: Определите классы эквивалентности по уровню образования для использования в системе анкетирования
  • 12. Граничными являются минимальные и максимальные значения отдельного класса эквивалентности Обладают высокой вероятностью ошибки Тестирование граничных условий считается расширенным тестированием классов эквивалентности
  • 13.  Может применятся на различных уровнях тестирования  Достаточно легко определяются, при этом очень эффективны  Должен создаваться отдельный тест-кейс на каждое граничное условие  Необходимо тестировать граничные условия как «допустимых», так и «недопустимых» классов эквивалентности
  • 15. Задание 3: Определите граничные условия для классов эквивалентности из Задания 1:  Минимальная купюра – 10 грн.  Максимальная сумма разового снятия – 5000 грн. Задание 4: Определите граничные условия для классов эквивалентности из Задания 2 (уровень образования).
  • 16. Задание 5: Определите граничные условия для системы учета выплаты больничных:  Общий стаж работы до 1 года – 50% оклада;  Общий стаж работы до 5 лет – 70% оклада;  Общий стаж работы до 8 лет – 80% оклада;  Общий стаж работы свыше 8 лет – 100% оклада.
  • 17. Варианты Условия 1 2 3 4 5 6 7 8 9 10 11 12 Возраст <18 Да Да Да Да Нет Нет Нет Нет Нет Нет Нет Нет 18-25 Нет Нет Нет Нет Да Да Да Да Нет Нет Нет Нет >=25 Нет Нет Нет Нет Нет Нет Нет Нет Да Да Да Да Состояние здоровья Здоров Здоров Не здоров Не здоров Здоров Здоров Не здоров Не здоров Здоров Здоров Не здоров Не здоров Отсрочка Нет Да Нет Да Нет Да Нет Да Нет Да Нет Да Действия (повестка) Нет Нет Нет Нет Да Нет Нет Нет Нет Нет Нет Нет Рассылка повестки в армию • Каждое условие предполагает Да / Нет ответ • Каждый вариант содержит различную комбинацию ответов, приводящую к разным действиям Отдельный тест-кейс необходим для каждого столбика таблицы!
  • 18.  Используется, если действия системы зависят от принятия логических решений  Основана на анализе технического задания  Применяется на любых уровнях тестирования  Техника эффективна для определения комбинаций, которые в других случаях могут быть не замечены
  • 19. Задание 6: Создайте таблицу возможных решений для тестирования системы продажи билетов В кинотеатре предоставляется скидка в размере 50% на сеансы в таких случаях:  На утренний сеанс в любой день;  На все сеансы в день зрителя;  Льготным категориям зрителей (студенты, пенсионеры, инвалиды) при условии предъявления удостоверения. Скидки не суммируются!
  • 20. Варианты Условия 1 2 3 4 5 6 7 8 Утренний сеанс Да Да Да Нет Нет Нет Да Нет День зрителя Да Да Нет Нет Нет Да Нет Да Льготная категория зрителя Да Нет Нет Нет Да Да Да Да Действия Скидка Скидка Скидка Нет скидки Скидка Скидка Скидка Скидка Предоставление скидки в кинотеатре
  • 21. Задание 7: Создайте таблицу возможных решений для тестирования системы лояльности авиаперевозчика. Система лояльности авиаперевозчика предполагает наличие у пассажиров одной из карт клуба: голубой, серебряной и золотой.  Голубая карта дает возможность первоочередной посадки;  Серебряная карта дает возможность первоочередной посадки и повышение класса за 20 долларов США;  Золотая карта дает возможность первоочередной посадки, повышение класса бесплатно и доступ в VIP-зал;  Доступ в VIP-зал также предоставляется держателям голубой или серебряной карты при наличии более 10 000 бонусных баллов.
  • 22. Варианты Условия 1 2 3 4 5 6 Голубая карта Да Да Нет Нет Нет Нет Серебряная карта Нет Нет Да Да Нет Нет Золотая карта Нет Нет Нет Нет Да Да > 10000 бонусов Нет Да Нет Да Нет Да Первоочередная посадка Да Да Да Да Да Да Повышение класса за 20 долларов Нет Нет Да Да Нет Нет Бесплатное повышение класса Нет Нет Нет Нет Да Да Доступ в VIP-зал Нет Да Нет Да Да Да
  • 23. Pairwise testing Техника формирования наборов тестовых данных, при которой каждое тестируемое значение каждого из проверяемых параметров хотя бы раз сочетается с каждым из тестируемых значений всех остальных проверяемых параметров
  • 24. Варианты Условия 1 2 3 4 5 6 7 8 9 10 11 12 Возраст <18 Да Да Да Да Нет Нет Нет Нет Нет Нет Нет Нет 18-25 Нет Нет Нет Нет Да Да Да Да Нет Нет Нет Нет >=25 Нет Нет Нет Нет Нет Нет Нет Нет Да Да Да Да Состояние здоровья Здоров Здоров Не здоров Не здоров Здоров Здоров Не здоров Не здоров Здоров Здоров Не здоров Не здоров Отсрочка Нет Да Нет Да Нет Да Нет Да Нет Да Нет Да Действия (повестка) Нет Нет Нет Нет Да Нет Нет Нет Нет Нет Нет Нет Рассылка повестки в армию • Каждое значение тестируемого параметра хотя бы раз сочетается с каждым из значений всех остальных параметров • Не забываем о различных результирующих действиях: каждое из возможных действий должно выполняться хотя бы раз Отдельный тест-кейс необходим для каждого столбика таблицы!
  • 25. Система налогообложения учитывает следующие параметры при расчеты суммы налога:  Пол (мужской / женский);  Возраст (моложе 25 лет, в возрасте от 25 до 60 лет, старше 60 лет);  Наличие / отсутствие детей. Создайте наборы тестовых данных с использованием техники попарного тестирования.
  • 26. Варианты Условия 1 2 3 4 5 6 Возраст <25 Да Да Нет Нет Нет Нет 25-60 Нет Нет Да Да Нет Нет >=60 Нет Нет Нет Нет Да Да Пол М Ж М Ж М Ж Дети Есть Нет Нет Есть Есть Нет Наборы тестовых данных для тестирования системы налогообложения
  • 27. Система может «реагировать» по-разному в зависимости от:  Действий, выполненых пользователем (вводных);  Состояния, в котором она находила перед выполнением действий (или череды состояний) Состояние 1 Состояние 2 Вводные Действия
  • 28. Состояния должны быть:  обособленными  определяемыми  конечными по количеству Система анализируется с точки зрения:  Возможности определения состояний  Переходов между состояниями  Условий (вводных)  Действий (результатов)
  • 29.  Используется для тестирования встраиваемого ПО (сигнализация)  Удобно для тестирование очередности действий;  Эффективно для тестирования некорректных данных / действий;  Может использоваться для тестирования диалоговых окон.
  • 30. Сигнализация для автомобиля, защищенная кодом Правильный код НЕправильный код НЕправильный код Открыть дверь Сигнализация включена Сигнализация отключена Сигнализация сработала НЕправильный код Правильный код
  • 31. Вводные / Действия Первоначальное состояние Правильный код Неправильный код Открыть дверь Сигнализация отключена Сигнализация включена Сигнализация отключена - Сигнализация включена Сигнализация отключена Сигнализация включена Сигнализация сработала Сигнализация сработала Сигнализация отключена Сигнализация сработала - Сигнализация для автомобиля, защищенная кодом
  • 32. Нулевой уровень - 0-switch coverage: тестирование перехода из одного состояния в другое:  Сигнализация отключена ⇒ сигнализация включена  Сигнализация включена ⇒ сигнализация сработала Первый уровень – 1-switch coverage: тестирование переходов парами («транзитом»):  Сигнализация отключена ⇒ сигнализация включена ⇒ сигнализация сработала  Сигнализация включена ⇒ сигнализация сработала ⇒ сигнализация отключена
  • 33. Задание 8: Создайте схему / таблицу перехода состояний кофе-машины. В нашей кофе-машине возможны три состояния:  Ожидание;  Приготовление напитка;  Требование пополнение ингридиентов. Имеется только одна кнопка Старт/Стоп и резервуары для пополнения запасов воды / кофе.
  • 34. Вводные / Действия Первоначальное состояние Старт / Стоп Наполнить резервуары Ожидание Готовит напиток Ожидание Готовит напиток Ожидание - Требуется пополнение Требуется пополнение Ожидание Таблица переходов между состояниями кофе-машины
  • 35. Задание 9: Создайте схему / таблицу перехода состояний мобильного телефона из режима ожидания в режим совершения звонка (требуется введение кода). По завершении звонка телефон возвращается в режим ожидания. В случае введения неверного кода три раза подряд телефон блокируется.
  • 36.  Описывают поведение системы с точки зрения пользователя  Действия тестировщика имеют реальное значение для пользователя  Могут иметь основные и «запасные» сценарии  Имеют предварительные условия и конечные результаты  Имеют «завершенный» вид, предполагают сквозное тестирование
  • 37. “include” “extend” ATM – bank machine get money extension points PIN query eat cardcondition: {3 rd wrong PIN input} payment unit bank client Снятие наличности в банкомате
  • 38. Совершение покупки в Интернет-магазине Пользователь ищет желаемый товар ⇒ находит его ⇒ помещает в корзину ⇒ указывает адрес доставки ⇒ оплачивает товар с использованием платежной карты
  • 39.  Тест-кейсы (планы) создаются на основе реальных сценариев использования системы  Найденные ошибки имеют большое значение для качества и огромные шансы быть обнаружеными пользователями  Чаще всего используется при приемочном тестировании  Эффективны при интеграционном (объединении компонентов или систем) тестировании
  • 40. Задание 10: Опишите наиболее вероятный пользовательский сценарий для пополнения телефона с помощью I-box
  • 41.  Основаны на анализе внутренней структуры  Направлены непосредственно на код  Легко поддаются измерению тестового покрытия А > 2 Yes No
  • 42. Чаще всего используются при компонентном тестировании Однако могут использовать и на других уровнях тестирования:  интеграционное тестирование (иерархия)  тестирование системы (меню, процессы, навигация WEB-страницы) Легко и точно определяется покрытие (охват) выполненного теста!
  • 43.  Тестирование утверждений  Тестирование ветвлений (решений) READ A IF A > 5 THEN IF A =21 THEN PRINT “Key” ENDIF ENDIF
  • 44. Тестирование утверждений- техника тест- дизайна, основанная на создании тест-кейсов для покрытия утверждений, использованных в коде Покрытие утверждений– соотношение количества утверждений, покрытых тестом, к общему количеству утверждений в коде Для достижения 100% покрытия утверждений необходимо выполнение минимум одного сценария для каждого утверждения
  • 45. Тестирование решений- техника тест- дизайна, основанная на создании тест-кейсов для покрытия решений (веток) кода Покрытие решений– соотношение количества решений, покрытых тестом, общему количеству решений (веток) кода Для достижения 100% покрытия решений необходимо выполнение минимум одного сценария для каждого решения (ветки) кода 100% покрытие решений гарантирует 100% покрытие утверждений!
  • 46. Определите минимально необходимое количество тест-кейсов для обеспечения:  100% покрытия при тестировании утверждений;  100% покрытия при тестировании решений  Укажите значение переменных Для удобства код можно переводить в схему (см.слайд №43)
  • 47. READ A READ B IF A < 0 THEN PRINT “A negative” ELSE PRINT “A positive or zero” ENDIF IF B < 0 THEN PRINT “B negative” ELSE PRINT “B positive or zero” ENDIF Для 100% покрытия утверждений и решений достаточно 2 тест-кейсов
  • 48. READ A READ B IF A > B THEN A = A + 1 ELSE B = B + 1 ENDIF WHILE A > B B = A * B A = A + 1 ENDWHILE Для 100% покрытия утверждений и решений достаточно 2 тест-кейсов
  • 49. READ A READ B WHILE B > A PRINT “hello” WHILE B > 10 B = B – 1 ENDWHILE ENDWHILE Для 100% покрытия утверждений и решений достаточно 1 тест-кейса
  • 50. READ A READ B IF B < A THEN WHILE A < 2 A = A +2 PRINT “a” ENDWHILE ELSE IF A = B THEN B = 2B ELSE A = 2A ENDIF ENDIF Для 100% покрытия утверждений и решений достаточно 3 тест-кейсов
  • 51.  Тестирование условий READ A READ B IF A > 3 OR B < 5 THEN PRINT “Key” ENDIF
  • 52. Тестирование условий – техника тест- дизайна, основанная на создании тест- кейсов для покрытия каждой отдельной части «сложного» условия Части условия (atomic or partial conditions) связаны между собой логическими операторами AND, OR, NOT
  • 53. READ A READ B IF A > 3 OR B < 5 THEN PRINT “Key” ENDIF A=6 (T), B=8 (F), A>3 OR B<5 (T) A=2 (F), B=3 (T), A>3 OR B<5 (T) Минимальное требование к покрытию условий - тестирования сценариев, приводящих к обеим возможным результатам TRUE / FALSE для каждой части условия
  • 54. READ A READ B IF A > 3 OR B < 5 THEN PRINT “Key” ENDIF A=6 (T), B=3 (Т), A>3 OR B<5 (T) A=6 (T), B=8 (F), A>3 OR B<5 (T) A=2 (F), B=3 (T), A>3 OR B<5 (T) A=2 (F), B=8 (F), A>3 OR B<5 (F) Множественное тестирование условий предполагает покрытие всех возможных TRUE/FALSE комбинаций для частичных условий
  • 55. READ A READ B IF A > 3 OR B < 5 THEN PRINT “Key” ENDIF A=6 (T), B=3 (Т), A>3 OR B<5 (T) A=6 (T), B=8 (F), A>3 OR B<5 (T) A=2 (F), B=3 (T), A>3 OR B<5 (T) A=2 (F), B=8 (F), A>3 OR B<5 (F) При выборе сценария тестирования важно определить тот, который является чувствительным к ошибкам (позволяет их выявить). Сценарии, в которых ошибки «маскируются», выполнять не обязательно.
  • 56. Определите сценарии тестирования условий, обеспечивающие минимально необходимое покрытие, множественное тестирование, а также выберите сценарии, чувствительные к ошибкам. READ A READ B IF A < 18 OR B > 55 THEN PRINT “OK” ENDIF
  • 57. A=10, B=27: A<18 (T), B>55 (F), A<18 OR B>55 (T) A=27, B=72: A<18 (F), B>55 (T), A<18 OR B>55 (T) A=31, B=31: A<18 (F), B>55 (F), A<18 OR B>55 (F) A=5, B=75: A<18 (T), B>55 (T), A<18 OR B>55 (T)
  • 58. Определите сценарии тестирования условий, обеспечивающие минимально необходимое покрытие, множественное тестирование, а также выберите сценарии, чувствительные к ошибкам. READ A IF A > 3 AND A < 5 THEN PRINT “Key” ENDIF
  • 59. A=8: A>3 (T), A<5 (F), A>3 AND A<5 (F) A=1: A>3 (F), A<5 (T), A>3 AND A<5 (F) A=4: A>3 (T), A<5 (T), A>3 AND A<5 (T) A=?: A>3 (F), A<5 (F), A>3 AND A<5 (F)
  • 60.  Направленность тестирования  Полный охват кода  Управление потоком  Отслеживание целостности данных  Тестирование, определяемое внутренним алгоритмом (сортировка, преобразование матрицы) Не позволяет обнаружить не разработанные требования!