Тестирование по стратегии 
Черного ящика
Тестирование по стратегии 
черного ящика 
• вид тестирования, проводимый без 
знания внутренних механизмов работы 
продукта 
• Производится на основании внешних 
проявлений работы продукта 
• тестирование через интерфейс 
пользователя, не имея доступа к 
исходному коду продукта 
• Тестирование по спецификации
Цель тестирования 
• Проверить работоспособность 
программы на соответствие 
требованиям спецификации 
• пропустить как можно меньше важных 
для пользователя ошибок
Типы обнаруживаемых проблем 
• Некорректная работа 
• Потерянная функциональность 
• Проблемы удобства использования 
• Проблемы производительности 
• Проблемы совместного доступа 
• Проблемы инициализации и 
завершения
Software under Test 
(SUT) 
Входные 
данные 
Результат 
работы 
программы 
Тест-кейc (Test 
Case)
Тестовый случай (Test case) 
• это документ, описывающий 
совокупность шагов, конкретных 
условий и параметров, необходимых 
для проверки реализации тестируемой 
функции или её части
Структура тест-кейса 
• Название 
• Описание 
• Предусловия (pre-condition) 
• Действия (steps) 
• Постусловия (post-condition) 
• Ожидаемый результат
10 Факториал числа 3628800 
N, N>0, только целые Factorial(N) 
0 1 
1 1 
2 2 
3 6 
4 24 
5 120 
6 720
• Перебор всех возможных вариантов 
выполнения для любой нетривиальной 
программы невозможен 
• Огромное количество выходных данных 
• Ограниченное время тестирования 
• Ограничены ресурсы
Сколько тестов необходимо? 
• Количество всех возможных 
тестов огромно 
• Есть возможнось выбрать 
только малое количество 
тестов и провести их 
• Какие тесты выбрать?
Классы эквивалентности 
• множество тестов со сходными параметрами, 
протестировав один из них, можно поставить 
галочку, что протестировал и все остальные 
(остальные параметры множества будут 
иметь тот же результат) 
• разбиение данных на группы(классы) при 
тестировании которых система будет вести 
себя одинаково
Какие сущности можно разбивать 
на классы эквивалентности? 
• Числа 
• Символы 
• Количество (записей в БД, строк) 
• Длина строки 
• Размер файла 
• Объем памяти 
• Разрешение экрана 
• Версии операционной системы, библиотек 
• Объем передаваемых данных
«Позитивное» тестирование 
• Тестирование на данных или 
сценариях, которые соответствуют 
нормальному (штатному, ожидаемому) 
поведению системы 
• Цель: проверка того, что при помощи 
системы можно делать то, для чего она 
создавалась
«Негативное» тестирование 
• тестирование на данных или сценариях, которые 
соответствуют нештатному поведению тестируемой 
системы – различные сообщения об ошибках, 
исключительные ситуации, “запредельные” 
состояния и т.п 
• Цель: проверка устойчивости системы к 
воздействиям различного рода, валидация неверного 
набора данных, проверка обработки исключительных 
ситуаций (как в реализации самих программных 
алгоритмов, так и в логике бизнес-правил)
Классы эквивалентности 
N Факториал числа N! 
• Все целые положительные числа 
• Все целые отрицательные числа 
• Все дробные числа
Проверка граничных условий 
• Проверить работу программы когда 
вводятся значения на границе 
подмножеств 
• проверка поведения программы при 
введении в программу входных данных, 
которые находятся непосредственно на 
границе допустимых значений, а так же 
чуть выше и ниже границы допустимых 
значений
Граничные значения 
• Значения на 
границах классов 
эквивалентности 
входных значений 
или около них 
• В этих местах резко увеличивается 
возможность обнаружения ошибок, т.к. 
меняется поведение системы
Сколько необходимо грузовиков? 
• Все грузовики меньше 
4,5 м – Эквивалентны 
• Все грузовики выше 
4,5 м – Эквивалентны 
Сколько грузовиков 
Выбрать ?
Минимальный набор тестов 
Название Действия Ожидаемый 
результат 
Фактически 
й результат 
Pass/Fail 
Проверка 
факториала 
0 
1. Ввести 0 
2. Нажать 
Enter 
1 
Проверка 
факториала 
10 
1. Ввести 10 
2. Нажать 
Enter 
3628800 
Проверка 
факториала 
-5 
1. Ввести -5 
2. Нажать 
Enter 
Сообщение 
об ошибке, 
число 
меньше 0 
Проверка 
факториала 
3.5 
1. Ввести 
3.5 
2. Нажать 
Enter 
Сообщение 
об ошибке, 
число не 
целое
Как тестировать? 
Регистрация • Пользователь 
регистрируется если 
– Совершеннолетний 
– Введено имя 
– Введен логин 
• Получает SMS если 
– Введен номер 
телефона 
– Стоит галочка «хочу 
получать»
Как тестировать? 
Программа-архиватор 
• Архивирует один файл 
• Несколько файлов 
• Папку с файлами

3 лекция. презентация

  • 1.
  • 2.
    Тестирование по стратегии черного ящика • вид тестирования, проводимый без знания внутренних механизмов работы продукта • Производится на основании внешних проявлений работы продукта • тестирование через интерфейс пользователя, не имея доступа к исходному коду продукта • Тестирование по спецификации
  • 3.
    Цель тестирования •Проверить работоспособность программы на соответствие требованиям спецификации • пропустить как можно меньше важных для пользователя ошибок
  • 4.
    Типы обнаруживаемых проблем • Некорректная работа • Потерянная функциональность • Проблемы удобства использования • Проблемы производительности • Проблемы совместного доступа • Проблемы инициализации и завершения
  • 5.
    Software under Test (SUT) Входные данные Результат работы программы Тест-кейc (Test Case)
  • 6.
    Тестовый случай (Testcase) • это документ, описывающий совокупность шагов, конкретных условий и параметров, необходимых для проверки реализации тестируемой функции или её части
  • 7.
    Структура тест-кейса •Название • Описание • Предусловия (pre-condition) • Действия (steps) • Постусловия (post-condition) • Ожидаемый результат
  • 8.
    10 Факториал числа3628800 N, N>0, только целые Factorial(N) 0 1 1 1 2 2 3 6 4 24 5 120 6 720
  • 9.
    • Перебор всехвозможных вариантов выполнения для любой нетривиальной программы невозможен • Огромное количество выходных данных • Ограниченное время тестирования • Ограничены ресурсы
  • 10.
    Сколько тестов необходимо? • Количество всех возможных тестов огромно • Есть возможнось выбрать только малое количество тестов и провести их • Какие тесты выбрать?
  • 11.
    Классы эквивалентности •множество тестов со сходными параметрами, протестировав один из них, можно поставить галочку, что протестировал и все остальные (остальные параметры множества будут иметь тот же результат) • разбиение данных на группы(классы) при тестировании которых система будет вести себя одинаково
  • 12.
    Какие сущности можноразбивать на классы эквивалентности? • Числа • Символы • Количество (записей в БД, строк) • Длина строки • Размер файла • Объем памяти • Разрешение экрана • Версии операционной системы, библиотек • Объем передаваемых данных
  • 13.
    «Позитивное» тестирование •Тестирование на данных или сценариях, которые соответствуют нормальному (штатному, ожидаемому) поведению системы • Цель: проверка того, что при помощи системы можно делать то, для чего она создавалась
  • 14.
    «Негативное» тестирование •тестирование на данных или сценариях, которые соответствуют нештатному поведению тестируемой системы – различные сообщения об ошибках, исключительные ситуации, “запредельные” состояния и т.п • Цель: проверка устойчивости системы к воздействиям различного рода, валидация неверного набора данных, проверка обработки исключительных ситуаций (как в реализации самих программных алгоритмов, так и в логике бизнес-правил)
  • 15.
    Классы эквивалентности NФакториал числа N! • Все целые положительные числа • Все целые отрицательные числа • Все дробные числа
  • 16.
    Проверка граничных условий • Проверить работу программы когда вводятся значения на границе подмножеств • проверка поведения программы при введении в программу входных данных, которые находятся непосредственно на границе допустимых значений, а так же чуть выше и ниже границы допустимых значений
  • 17.
    Граничные значения •Значения на границах классов эквивалентности входных значений или около них • В этих местах резко увеличивается возможность обнаружения ошибок, т.к. меняется поведение системы
  • 18.
    Сколько необходимо грузовиков? • Все грузовики меньше 4,5 м – Эквивалентны • Все грузовики выше 4,5 м – Эквивалентны Сколько грузовиков Выбрать ?
  • 19.
    Минимальный набор тестов Название Действия Ожидаемый результат Фактически й результат Pass/Fail Проверка факториала 0 1. Ввести 0 2. Нажать Enter 1 Проверка факториала 10 1. Ввести 10 2. Нажать Enter 3628800 Проверка факториала -5 1. Ввести -5 2. Нажать Enter Сообщение об ошибке, число меньше 0 Проверка факториала 3.5 1. Ввести 3.5 2. Нажать Enter Сообщение об ошибке, число не целое
  • 20.
    Как тестировать? Регистрация• Пользователь регистрируется если – Совершеннолетний – Введено имя – Введен логин • Получает SMS если – Введен номер телефона – Стоит галочка «хочу получать»
  • 21.
    Как тестировать? Программа-архиватор • Архивирует один файл • Несколько файлов • Папку с файлами