PART 1
ПЛАН И ЦЕЛИ КУРСА
o Лекция 1 - 1.5ч
o Лекция 2 - 1.5ч
o Финальный тест - 1.5ч
o ЦА – новые таланты, не ветераны тестирования
o Цели:
o познакомить с различными техниками тест дизайна
o развить навыки тестирования до более высокого уровня
ПЛАН ЛЕКЦИИ
o Цель и предпосылки создания курса
o Тест дизайн и зачем он нужен
o Тестовая модель и как с ней работать
o Как выбрать подходящую технику
o Black-box техники:
o Equivalence partitioning
o Boundary value analysis
o Практика
ЗАЧЕМ?
ОТВЕТЫ
o Как протестировать в сжатые сроки и при этом ничего не
пропустить?
o Что ответить клиенту на собеседовании, когда он просит
рассказать, как мы тестируем и как оптимизируем свои
тесты?
o Как обосновать клиенту, почему нужно проверить так много
кейсов или почему достаточно только нескольких?
o Как протестировать огромное приложение и с чего начать?
o Подготовиться к квалификации J
o Пройти сертификацию iSTQB
АУДИТЫ И КРИТЕРИИ
МИНУТКА САМОАНАЛИЗА
№ Группа Описание
1 Полнота покрытия Покрытие всех функций системы согласно доступным
требований требованиям/макетам и т.п. Если спецификации нет, приложение = =
спецификация
2 Оформление Грамотность
Внешний вид
Единый стиль оформления
3 Структура документа Корректное разбиение системы на модули и функции
4 Соблюдение процесса Проверено не менее 3х версий системы
Метаданные: кто, что и когда тестировал
Метаданные: привязка дефектов к Failed/Blocked тестам
% ПРОЕКТОВ С ОШИБКАМИ
ВСЕ ВИДЫ ДОКУМЕНТАЦИИ
17
20 60
Грамотность
14 Полнота покрытия
Разбиение на функции
Внешний вид
38 Единый стиль
Метаданные документа
42
Метаданные документа
55
% ПРОЕКТОВ С ОШИБКАМИ
TEST SURVEY, TEST CASES
19
25
70
Пропуск проверок
Ожидаемый результат
Дубликаты
25
Единый стиль
Противоречия
Приоритет
38
47
ТИПИЧНЫЕ ОШИБКИ
ПРИ РАБОТЕ С ТЕСТОВОЙ ДОКУМЕНТАЦИЕЙ
o Неполнота покрытия
o Проблемы с ожидаемыми результатами
o Дубликаты проверок
o Неконкретные шаги
o Внешний вид, метаданные
o Копирование спецификации
o Отсутствие приоритезации
EXHAUSTIVE TESTING
ИСЧЕРПЫВАЮЩЕЕ ТЕСТИРОВАНИЕ
o Умение делать
декомпозицию
o Поиск требования к
продукту и их анализ
o Умение выделять
приоритеты
o Умение формулировать и
лаконично излагать свои
мысли
o Знание различных техник
тест дизайна
o Умение выбрать нужные и
применить их на практике
ЛЮБИМАЯ ЦИТАТА
О ТЕСТИРОВАНИИ
o Testing isn’t just operating a product and looking for bugs. Testing involves
modeling and questioning and studying, making inferences, challenging
beliefs.
С ЧЕГО НАЧАТЬ?
АЛГОРИТМ ДЕЙСТВИЙ
o Найти и изучить требования
o Сформировать тестовую модель
o Определить степень детализации
o Выбрать техники тест дизайна
o Создать тестовые сценарии
o Приоритезировать
o Роли
o Внешний интерфейс: страницы сайта, модули
o Функции приложения и их варианты использования
o Состояния приложения/модулей/объектов
o Use cases или бизнес-процессы
o Декомпозиция в соответствии с единицей требований
КАКУЮ ТЕХНИКУ
ВЫБРАТЬ?
ТЕХНИК И ПРИЕМОВ МНОГО
Например:
o «Партизанское тестирование» - быстро и вредоносно
o «Съесть еду своей собаки» - внутри компании
o «Тестирование глупой обезьяны» - беспорядочные клики, случайные данные
o «Тестирование мыльной оперы» - в одном сценарии проверить как можно
больше всего
КЛАССИФИКАЦИЯ
o Black-box test techniques
o White-box test techniques
o Experience-based test techniques
BLACK-BOX TECHNIQUES
o Equivalence Partitioning (EP)
o Boundary Value Analysis (BVA)
o Decision Table Testing
o State Transition Testing
BLACK-BOX TEST TECHNIQUES
o основываются на требованиях, спецификации, use cases, user
stories, бизнес-процессах
o могут применяться как к функциональному, так и
нефункциональному тестированию
o концентрируются на входных и выходных значениях тестируемого
объекта, а не на его внутренней структуре (код)
BLACK-BOX
Цель:
o сократить количество тестовых сценариев, сохраняя при
этом достаточное покрытие тестами
o провести в первую очередь наиболее приоритетные
проверки, которые с большей долей вероятности
обнаружат дефект
EQUIVALENCE PARTITIONING
Допущения:
o использование любого представителя класса приведет к
одинаковому результату
o код написан достаточно качественно
EQUIVALENCE PARTITIONING
Алгоритм использования техники:
o Выбрать компонент
o Разбить входные данные компонента на классы эквивалентности
o Написать один тестовый сценарий для каждого класса
эквивалентности
РАЗНЫЕ ПРИНЦИПЫ РАЗБИЕНИЯ НА КЛАССЫ
Specification:
o text fields max length = 256
o images format = png, jpg
o all fields are obligatory
Параметр Класс 1 Класс 2 Класс 3
First name 1 <= длина строки <=256 длина строки >256 пусто
Last name 1 <= длина строки <=256 длина строки >256 пусто
Photo png, jpg другие форматы пусто
Country default другая -
Language default другая -
BOUNDARY VALUE
ANALYSIS
BOUNDARY VALUE ANALYSIS
АНАЛИЗ ГРАНИЧНЫХ ЗНАЧЕНИЙ
Цель:
o отловить ошибки, связанные с тем, что код не учитывает
обработку граничных значений
Предположение:
o большинство ошибок происходит именно на границах
(напр. 29 февраля, >= vs >)
Specification:
o 0 kg – ‘Good job! You’ve done it!’
o 1-10 kg – ‘to go. Keep on running!’
o 10-20 kg – ‘to go and this goal is
in the bag!
o 20-30 kg – ‘to go and Mommy will
be so proud of you’.
BOUNDARY VALUE ANALYSIS
Алгоритм использования техники:
o Выбрать компонент
o Разбить входные данные компонента на классы эквивалентности
o Выделить границы для каждого класса
o На каждую из границ создается 3 тест-кейса:
o первый проверяет значение границы
o второй – значение ниже границы
o третий – значение выше границы
ПРИМЕР
*можем покупать
все Products
0 99
Базовый Тест
Для успокоения нервов
Негативный Тест
Evacuation_Plan = {-1, 0, 1, 50, 98, 99, 100}
Risk_Assesment = {-1, 0, 1, 50, 98, 99, 100}
1 99
ВЫВОДЫ
o Чаще всего используется для тестирования требований, которые
описывают какие-либо интервалы (числовые рейнджи, даты, время,
и т.п.), но не только
o Оптимально использовать вместе с Equivalence Partitioning
o BVA – гибкая техника (можно исключить проверки в зависимости от
приоритетов/покрытия, MAT)
ОПАСНОСТИ
o Те же, что и для EP:
o Неверное выделение границ
o Не учтен класс и его границы
o Относительность понятия «граница»:
o если граница $5, то проверяем $4, $5, $6
o если граница $5.00, то проверяем $4.99, $5.00, $5.01
ВАША ОЧЕРЕДЬ
Specification
o Cost range $0 - $500+
Use case
o If cost < $10, discount = 0%
o If $10 <= cost <=50, discount = 10%
o If cost > $50, discount = 20%
10 50