Похожие презентации:
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.
В чем заключается техника тестирования по сценариям использования в рамках "черного
ящика"? Опишите, как она применяется для проверки индивидуальных сценариев
пользователя, и укажите ее роль в обеспечении функциональности приложения.
Перечислите и подробно проанализируйте достоинства метода тестирования "черного
ящика". Объясните, почему этот метод позволяет выявлять ошибки в функциональных
спецификациях и проводить тестирование с позиции пользователя.
Опишите основные недостатки метода "черного ящика" и проиллюстрируйте их
примерами, такими как пропуск границ в реализации кода или зависимость от
спецификаций. Обсудите, как эти недостатки влияют на полноту тестирования.
Сравните метод тестирования "черного ящика" с методами "серого" и "белого" ящиков.
Опишите их ключевые различия в уровнях доступа к внутренней структуре,
преимуществах, недостатках и областях применения
Объясните, почему рекомендуется комбинировать методы "черного", "серого" и "белого"
ящиков для полной проверки программного обеспечения. Укажите, как такая
комбинация повышает покрытие сценариев и снижает риски пропуска ошибок..
Программирование