Тестирование по стратегии 
Черного ящика
Тестирование по стратеги Черного ящика: 
• Тестирование по спецификации 
• Может применяться как к отдельным 
модулям так и к программе в целом 
• Основная цель подобрать входные 
данные таким образом (тест-кейсы), 
чтобы полностью исследовать, 
протестировать внутреннюю структуру 
программы 
• Внутренняя структура программы не 
известна и не важна
Входные данные Software under Test (SUT) Результат работы 
программы 
Тест-кейc (Test Case)
Типы обнаруживаемых проблем 
• Потерянная функциональность 
• Проблемы удобства использования 
• Проблемы производительности 
• Проблемы совместного доступа 
• Проблемы инициализации и завершения
Тест кейс (Test case) 
• Название 
• Описание 
• Предусловия (pre-condition) 
• Действия (steps) 
• Постусловия (post-condition) 
• Ожидаемый результат
Критерии хорошего теста кейза 
• Существует обоснованная вероятность 
обнаружения тестом ошибок 
• Не корректное поведение должно проявляться 
достаточно очевидно 
• Тест не избыточен 
• Тестовый набор должен быть наилучшим в своей 
категории 
• Не должен быть слишком простым или слишком 
сложным
Пример тест-кейса 
Название Действия Ожидаемый 
результат 
Фактический 
результат 
Pass/Fail 
Навигация по 
“TAB” 
1. Установить 
фокус ввода 
на поле 
“Login” 
2. Нажать 
клавишу “TAB” 
Фокус ввода 
переместился 
на поле 
“Password” 
Скрытие 
символов 
пароля 
1. Ввести 
любую строку 
в поле 
“Password” 
Введенные 
символы 
заменяются на 
*
10 Факториал числа 3628800 
N, N>0, только целые Factorial(N) 
0 1 
1 1 
2 2 
3 6 
4 24 
5 120 
6 720
Тест кейсы на факториал 
Название Действия Ожидаемый 
результат 
Фактический 
результат 
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 
Сообщение об 
ошибке, число 
не целое
Сколько тестов нужно? 
• Количество всех возможных тестов 
огромно 
• Есть возможнось выбрать только 
малое количество тестов и 
провести их 
• Какие тесты выбрать?
Классы эквивалентности 
• Разделить тесты кейсы на эквивалентные 
классы 
• Каждый класс содержит эквивалетные тест 
кейсы 
• Два тест кейса являются эквивалентными, 
если ожидается что программа 
обрабатывает их одинаковым способом 
(одинаковым путём в коде)
Классы эквивалентности 
Допустимые Недопустимые
Классы эквивалентности 
N Факториал числа N! 
Допустимые Недопустимые 
Целые положительные числа 
и 0 
Все не целые и 
отрицательные
Классы эквивалентности 
N Факториал числа N! 
• Все целые положительные числа и 0 
• Все отрицательные числа 
• Все не целые числа
Граничные значения 
На границах классов эквивалентности 
меняется поведение системы 
-5 -4 -3 -2 -1 0 1 2 3
Минимальный набор тестов 
Название Действия Ожидаемый 
результат 
Фактический 
результат 
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 
Сообщение об 
ошибке, число 
не целое

тестирование по стратегии черного ящика

  • 1.
  • 2.
    Тестирование по стратегиЧерного ящика: • Тестирование по спецификации • Может применяться как к отдельным модулям так и к программе в целом • Основная цель подобрать входные данные таким образом (тест-кейсы), чтобы полностью исследовать, протестировать внутреннюю структуру программы • Внутренняя структура программы не известна и не важна
  • 3.
    Входные данные Softwareunder Test (SUT) Результат работы программы Тест-кейc (Test Case)
  • 4.
    Типы обнаруживаемых проблем • Потерянная функциональность • Проблемы удобства использования • Проблемы производительности • Проблемы совместного доступа • Проблемы инициализации и завершения
  • 5.
    Тест кейс (Testcase) • Название • Описание • Предусловия (pre-condition) • Действия (steps) • Постусловия (post-condition) • Ожидаемый результат
  • 6.
    Критерии хорошего тестакейза • Существует обоснованная вероятность обнаружения тестом ошибок • Не корректное поведение должно проявляться достаточно очевидно • Тест не избыточен • Тестовый набор должен быть наилучшим в своей категории • Не должен быть слишком простым или слишком сложным
  • 7.
    Пример тест-кейса НазваниеДействия Ожидаемый результат Фактический результат Pass/Fail Навигация по “TAB” 1. Установить фокус ввода на поле “Login” 2. Нажать клавишу “TAB” Фокус ввода переместился на поле “Password” Скрытие символов пароля 1. Ввести любую строку в поле “Password” Введенные символы заменяются на *
  • 8.
    10 Факториал числа3628800 N, N>0, только целые Factorial(N) 0 1 1 1 2 2 3 6 4 24 5 120 6 720
  • 9.
    Тест кейсы нафакториал Название Действия Ожидаемый результат Фактический результат 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 Сообщение об ошибке, число не целое
  • 10.
    Сколько тестов нужно? • Количество всех возможных тестов огромно • Есть возможнось выбрать только малое количество тестов и провести их • Какие тесты выбрать?
  • 11.
    Классы эквивалентности •Разделить тесты кейсы на эквивалентные классы • Каждый класс содержит эквивалетные тест кейсы • Два тест кейса являются эквивалентными, если ожидается что программа обрабатывает их одинаковым способом (одинаковым путём в коде)
  • 12.
  • 13.
    Классы эквивалентности NФакториал числа N! Допустимые Недопустимые Целые положительные числа и 0 Все не целые и отрицательные
  • 14.
    Классы эквивалентности NФакториал числа N! • Все целые положительные числа и 0 • Все отрицательные числа • Все не целые числа
  • 15.
    Граничные значения Награницах классов эквивалентности меняется поведение системы -5 -4 -3 -2 -1 0 1 2 3
  • 16.
    Минимальный набор тестов Название Действия Ожидаемый результат Фактический результат 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 Сообщение об ошибке, число не целое