Особенности тестирования «черного ящика»
Оглавление
Метод тестирования «черного ящика»
Где используется метод «черного ящика»?
Техники тестирования «черным ящиком»
Эквивалентное разбиение.
Анализ граничных значений.
Тестирование таблицы переходов.
Тестирование по сценариям использования.
Достоинства метода
Недостатки метода
Выводы
Тезисы по темам уроков: «Черный ящик»,
Тезисы по темам уроков: «Черный ящик»,
Тезисы по темам уроков: «Серый ящик»,
Тезисы по темам уроков: «Серый ящик»,
Тезисы по темам уроков: «Белый ящик»,
Тезисы по темам уроков: «Белый ящик»,
Заключение
Вопросы (1/2)
Вопросы (2/2)
74.81K
Категория: ПрограммированиеПрограммирование

3. Лекция МДК-01.02 №3 ЧБ-ящики

1. Особенности тестирования «черного ящика»

Цель занятия: изучить метод тестирования «Черным ящиком»

2. Оглавление

• Метод тестирования «черного ящика»
• Где используется метод «черного ящика»?
• Техники тестирования «черным ящиком»
• Достоинства метода
• Недостатки метода
• Выводы

3. Метод тестирования «черного ящика»

• Тестирование «Черного Ящика» – это функциональное и
нефункциональное тестирование без доступа к внутренней
структуре компонентов системы. Метод тестирования
«черного ящика» – процедура получения и выбора тестовых
случаев на основе анализа спецификации (функциональной или
нефункциональной), компонентов или системы без ссылки на их
внутреннее устройство.

4. Где используется метод «черного ящика»?

• 1. Интеграционное тестирование.
• 2. Функциональное тестирование.
• 3. Стресс-тестирование.
• 4. Usability-тестирование.
• 5. Тестирование производительности.
• 6. Приемочное тестирование.
• 7. Регрессионное тестирование.
• 8. Beta-тестирование.

5. Техники тестирования «черным ящиком»

6. Эквивалентное разбиение.

• Эта техника включает в себя разделение входных значений на
допустимые и недопустимые разделы и выбор репрезентативных
значений из каждого раздела в качестве тестовых данных. Она
может быть использована для уменьшения количества тестовых
случаев. Допустим, у нас есть целая переменная N в диапазоне от
-99 до 99: позитивными классами эквивалентности будут [-99, 10], [-9, -1], 0, [1, 9], [10, 99], а недействительными (негативными)
– <-99, >99, пустое значение, нечисловые строки.

7. Анализ граничных значений.

• Техника, которая включает в себя определение границ входных
значений и выбор в качестве тестовых данных значений,
находящихся на границах, внутри и вне границ. Многие системы
имеют тенденцию вести себя некорректно при граничных
значениях, поэтому оценка значений границ приложения очень
важна. При проверке мы берем следующие величины: минимум,
(минимум-1), максимум, (максимум+1), стандартные значения.
Например, в том же случае -99 <= N <= 99 будет использоваться
набор: -100, -99, -98, -10, -9 -1, 0, 1, 9, 10, 98, 99, 100.

8. Тестирование таблицы переходов.

• При данной технике сценарии тестирования выбираются на
основе выполнения корректных и некорректных переходов
состояний. Допустим, мы хотим записаться на прием к врачу и
зарезервировать время своего приема: заходим в форму,
выбираем удобное для нас время и нажимаем кнопку
«Записаться». Сразу после этого выбранное нами время
становится недоступно для другой записи, так как первая запись
привела к изменению в базе.

9. Тестирование по сценариям использования.

• Эта техника используется при написании тестов для
индивидуального сценария пользователя с целью проверки его
работы.

10. Достоинства метода

• Тестирование методом «черного ящика» позволяет найти ошибки, которые невозможно обнаружить
методом «белого ящика». Простейший пример: разработчик забыл добавить какую-то функциональность. С
точки зрения кода все работает идеально, но с точки зрения спецификации это – сверхкритичный баг.
• «Черный ящик» позволяет быстро выявить ошибки в функциональных спецификациях (в них описаны не
только входные значения, но и то, что мы должны в итоге получить). Если полученный при тестировании
результат отличается от заявленного в спецификации, то у нас появляется повод для общения с аналитиком
для уточнения конечного результата.
• Тестировщику не нужна дополнительная квалификация. Часто мы пользуемся различными сервисами и
приложениями, не очень в них разбираясь. Для того, чтобы открыть инстаграм и обработать свою
фотографию, нам совсем не нужно знать способ реализации фильтров. Мы хотим открыть фотографию,
выбрать фильтр и получить красивую картинку на выходе. Задача тестировщика, который тестирует эту
функцию в инстаграм, – убедиться, что пользователь получит эту самую красивую картинку в соответствии с
выбранным фильтром. При этом нам совсем не обязательно иметь какую-либо специализацию – нужны
лишь телефон и инстаграм.
• Тестирование проходит «с позиции пользователя». Пользователь всегда прав, он конечный потребитель
практически любого ПО, а значит, ему должно быть удобно, комфортно и понятно.
• Составлять тест-кейсы можно сразу после подготовки спецификации. Это значительно сокращает время на
тестирование: к тому моменту, как продукт готов к тестированию, тест-кейсы уже разработаны, и
тестировщик может сразу приступать к проверке.

11. Недостатки метода

• Основным недостатком метода «черного ящика» является возможность пропуска
границ и переходов, которые не очевидны из спецификации, но есть в реализации
кода (собственно, это и заставляет тестировщиков использовать метод «белого
ящика»). Вспоминается случай, когда система получала котировки валют с биржи
Forex и округляла до 3 знаков после запятой. Система успешно прошла
тестирование методом «черного ящика» (так как ни одна валюта не выходила за
соответствующие границы) и хорошо работала до тех пор, пока курс доллара к
биткоин не вышел за границы 1000 долларов. Тестирование «белым ящиком»
выявило бы ошибку: специалист увидел бы, что коэффициент конверсии валюты
ограничен 3 знаками.
• Можно протестировать только небольшое количество возможных вводных
(входящих) значений; многие варианты остаются без проверки.
• Тесты могут быть избыточными, если разработчик уже проверил данную
функциональность (например, Unit-тестом).
• При отсутствии четкой и полной спецификации проектировать тесты и тестсценарии оказывается затруднительно.

12. Выводы

• Из представленной информации мы можем сделать следующий
вывод: метод «черного ящика» является эффективным при различных
видах тестирования; но следует помнить, что некоторые ошибки
невозможно найти, используя только этот метод (например, ошибки
во внутренней структуре кода).
• Проведение «black-box» тестирования увеличивает уверенность в том,
что приложение надежно работает на широком диапазоне входных
данных, так как набор тестовых данных зависит только от
спецификации, а не от особенностей внутренней реализации продукта
(как в случае применения методов «белого» и «серого» ящиков).

13.

• Метод «черного ящика» выгодно применять, если вы ищете:
• неправильно реализованные функции приложения или сервиса;
• ошибки в пользовательском интерфейсе;
• ошибки в функциональных спецификациях.
• Для реализации наиболее полной проверки я рекомендую
использовать методы «черного» и «белого» ящиков
одновременно. Это позволит увеличить покрытие возможных
сценариев, снизить риск пропуска ошибки, а также качественно
улучшить результаты тестирования, так как приложение или
сервис будет проверено двумя разными методами – с позиций
пользователя и внутреннего устройства системы.

14. Тезисы по темам уроков: «Черный ящик»,

Тестирование методом Черного ящика - Метод тестирования, при котором тестировщик не
имеет доступа к внутренней структуре или коду программы.
Для чего используется:
• Оценка функциональности приложения на основе требований и спецификаций.
• Проверка пользовательского интерфейса и взаимодействия с системой.
Когда используется:
• На этапе системного тестирования.
• Когда важно проверить, как приложение ведет себя в реальных условиях.
Почему используется:
• Позволяет сосредоточиться на конечном результате.
• Упрощает процесс тестирования, так как нет необходимости в знании внутренней логики.

15. Тезисы по темам уроков: «Черный ящик»,

Почему используется:
Позволяет сосредоточиться на конечном результате.
Упрощает процесс тестирования, так как нет необходимости в знании внутренней логики.
Преимущества:
Объективность: тестировщик не подвержен предвзятости.
Эффективность: можно быстро выявить ошибки на уровне функциональности.
Недостатки:
Не все ошибки могут быть выявлены, особенно связанные с внутренней логикой.
Ограниченная возможность тестирования крайних случаев и сценариев.
Зависимость от спецификаций: если требования неполные или некорректные, тестирование
может быть неэффективным.
ЧаВо:
Вопрос: Может ли тестировщик выявить все ошибки с помощью этого метода?
Ответ: Нет, метод не позволяет выявить ошибки, связанные с внутренней логикой программы.

16. Тезисы по темам уроков: «Серый ящик»,

Тестирование методом Серого ящика - комбинированный метод, при котором
тестировщик имеет частичный доступ к внутренней структуре и коду, но не
полностью.
Для чего используется:
• Оценка как функциональности, так и производительности приложения.
• Выявление ошибок, которые невозможно обнаружить только с помощью
тестирования "черного ящика".
Когда используется:
• На этапе интеграционного тестирования.
• Когда необходимо проверить взаимодействие между компонентами
системы.

17. Тезисы по темам уроков: «Серый ящик»,

Почему используется:
Позволяет использовать как функциональные, так и структурные тесты.
Упрощает процесс поиска ошибок, так как тестировщик понимает внутренние механизмы.
Преимущества:
Более глубокая проверка, чем у "черного ящика".
Возможность выявления сложных ошибок, связанных с взаимодействием компонентов.
Недостатки:
Требует частичного доступа к внутренним данным, что может быть не всегда возможно.
Может потребовать больше времени и ресурсов, чем тестирование "черного ящика".
Не всегда дает полное представление о всех аспектах системы.
ЧаВо
Вопрос: Какой уровень доступа нужен тестировщику?
Ответ: Тестировщик должен иметь доступ к некоторым внутренним данным и структурам, но не ко всему
коду.

18. Тезисы по темам уроков: «Белый ящик»,

Тестирование методом "Белого ящика" - метод тестирования, при котором тестировщик имеет полный
доступ к внутренней структуре и коду программы.
Для чего используется:
• Проверка логики работы программы и выполнения алгоритмов.
• Выявление ошибок, связанных с кодом, такими как ошибки выполнения и логические ошибки.
Когда используется:
• На этапе модульного тестирования.
• Когда необходимо проверить конкретные функции или модули программы.
Почему используется:
• Позволяет тестировщику создавать тесты, основанные на внутренней логике приложения.
• Упрощает поиск и исправление ошибок на ранних этапах разработки.

19. Тезисы по темам уроков: «Белый ящик»,

Преимущества:
• Высокая точность в выявлении ошибок.
• Возможность оптимизации кода и улучшения качества приложения.
Недостатки:
• Требует наличия навыков программирования у тестировщика.
• Может быть времязатратным процессом, особенно при большом объеме кода.
• Не всегда учитывает поведение системы в условиях реального использования.
ЧаВо:
Вопрос: Нужно ли тестировщику знать язык программирования?
Ответ: Да, тестировщик должен иметь навыки программирования для эффективного
использования этого метода.

20. Заключение

Каждый из методов тестирования имеет свои особенности,
преимущества и недостатки. Выбор метода зависит от целей
тестирования, уровня доступа к коду и стадии разработки.
Использование всех трех методов в комбинации позволяет обеспечить
более полное покрытие тестирования и повысить качество
программного обеспечения.

21. Вопросы (1/2)

1.
2.
3.
4.
5.
Что представляет собой метод тестирования "черного ящика" и в чем заключается его
основная процедура? Опишите, как этот метод отличается от других подходов к
тестированию, с учетом его фокуса на функциональных и нефункциональных аспектах
системы.
Перечислите и подробно опишите области применения метода тестирования "черного
ящика". Объясните, почему он подходит для таких видов тестирования, как
интеграционное, функциональное и приемочное.
Опишите технику эквивалентного разбиения в рамках тестирования "черным ящиком".
Приведите пример с использованием целой переменной в диапазоне от -99 до 99 и
объясните, как эта техника помогает уменьшить количество тестовых случаев.
Что такое анализ граничных значений как техника тестирования "черным ящиком"?
Подробно разберите процесс выбора тестовых данных на границах, внутри и вне границ,
используя пример с диапазоном значений от -99 до 99, и укажите, почему оценка
граничных значений особенно важна.
Объясните технику тестирования таблицы переходов в методе "черного ящика".
Приведите пример с записью на прием к врачу и опишите, как эта техника помогает
выявить корректные и некорректные переходы состояний в системе.

22. Вопросы (2/2)

1.
2.
3.
4.
5.
В чем заключается техника тестирования по сценариям использования в рамках "черного
ящика"? Опишите, как она применяется для проверки индивидуальных сценариев
пользователя, и укажите ее роль в обеспечении функциональности приложения.
Перечислите и подробно проанализируйте достоинства метода тестирования "черного
ящика". Объясните, почему этот метод позволяет выявлять ошибки в функциональных
спецификациях и проводить тестирование с позиции пользователя.
Опишите основные недостатки метода "черного ящика" и проиллюстрируйте их
примерами, такими как пропуск границ в реализации кода или зависимость от
спецификаций. Обсудите, как эти недостатки влияют на полноту тестирования.
Сравните метод тестирования "черного ящика" с методами "серого" и "белого" ящиков.
Опишите их ключевые различия в уровнях доступа к внутренней структуре,
преимуществах, недостатках и областях применения
Объясните, почему рекомендуется комбинировать методы "черного", "серого" и "белого"
ящиков для полной проверки программного обеспечения. Укажите, как такая
комбинация повышает покрытие сценариев и снижает риски пропуска ошибок..
English     Русский Правила