Тестирование «черного ящика» (функциональное тестирование) позволяет получить комбинации входных данных, обеспечивающих полную проверку всех функциональных требований к программе [14]. Программное изделие здесь рассматривается как «черный ящик», чье поведение можно определить только исследованием его входов и соответствующих выходов. При таком подходе желательно иметь:
q набор, образуемый такими входными данными, которые приводят к аномалиям поведения программы (назовем его IT);
q набор, образуемый такими выходными данными, которые демонстрируют дефекты программы (назовем его ОТ).
Как показано на рис. 7.1, любой способ тестирования «черного ящика» должен:
q выявить такие входные данные, которые с высокой вероятностью принадлежат набору IT;
q сформулировать такие ожидаемые результаты, которые с высокой вероятностью являются элементами набора ОТ.
Во многих случаях определение таких тестовых вариантов основывается на предыдущем опыте инженеров тестирования. Они используют свое знание и понимание области определения для идентификации тестовых вариантов, которые эффективно обнаруживают дефекты. Тем не менее систематический подход к выявлению тестовых данных, обсуждаемый в данной главе, может использоваться как полезное дополнение к эвристическому знанию.
Тестирование методом черного, белого и серого ящиков
Рис. 7.1. Тестирование «черного ящика»
Принцип «черного ящика» не альтернативен принципу «белого ящика». Скорее это дополняющий подход, который обнаруживает другой класс ошибок.
Тестирование «черного ящика» обеспечивает поиск следующих категорий ошибок:
1) некорректных или отсутствующих функций;
2) ошибок интерфейса;
3) ошибок во внешних структурах данных или в доступе к внешней базе данных;
4) ошибок характеристик (необходимая емкость памяти и т. д.);
5) ошибок инициализации и завершения.
Подобные категории ошибок способами «белого ящика» не выявляются.
В отличие от тестирования «белого ящика», которое выполняется на ранней стадии процесса тестирования, тестирование «черного ящика» применяют на поздних стадиях тестирования. При тестировании «черного ящика» пренебрегают управляющей структурой программы. Здесь внимание концентрируется на информационной области определения программной системы.
Техника «черного ящика» ориентирована на решение следующих задач:
q сокращение необходимого количества тестовых вариантов (из-за проверки не статических, а динамических аспектов системы);
q выявление классов ошибок, а не отдельных ошибок.
Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:
Источник: studopedia.ru
Методы тестирования «черного» и «белого» ящика
При тестировании данным методом известны функции программы, исследуется работа каждой функции на всей области определения. Основное место приложения тестов – интерфейс ПО. Эти тесты демонстрируют, как выполняются функции программ, как принимаются исходные данные, как вырабатываются результаты, как сохраняется целостность внешней информации. При тестировании «черным» ящиком рассматриваются системные характеристики программ, но игнорируется их внутренняя логическая структура. Исчерпывающее тестирование, как правило, не возможно.
Черный, белый, серый ящик. Методы тестирования / Урок 11 / Тестировщик с нуля
Например, если в программе 10 входных величин и каждая из них принимает 10 значений, то для тестирования такой программы необходимо 1010 тестов.
«Черный» ящик не реагирует на многие особенности программных ошибок. Данное тестирование позволяет получить комбинации входных данных, обеспечивающих полную проверку всех функциональных требований к программе. Само ПО рассматривается как «черный» ящик, поведение которого можно определить только исследованием его входов и выходов.
Тестирование «черным» ящиком обеспечивает поиск следующих ошибок:
- Некорректные и отсутствующие функции;
- Ошибки интерфейса;
- Ошибки характеристик (например, необходимая память);
- Ошибки внешних структур или доступа к БД;
- Ошибки инициализации и завершения.
Техника «черного» ящика ориентирована на решение следующих задач: сокращение необходимого количества тестов и выявление классов ошибок.
Тестирование «белого» ящика
В данном методе известна внутренняя структура программы. Здесь исследуются внутренние элементы и связи между ними. Проверяется корректность всех компонентов и правильность их взаимодействия.
При тестировании «белым» ящиком формируются тестовые варианты, в которых:
- Гарантируется поверка всех независимых маршрутов программы;
- Проходятся ветви «ложь» и «истина»;
- Выполняются все циклы.
Разработка пользовательских интерфейсов
Типы пользовательских интерфейсов и этапы их разработки
Пользовательский интерфейс представляет собой совокупность программных и аппаратных средств обеспечивающих взаимодействие пользователя с ПК. Основу такого взаимодействия составляют диалоги.
Под диалогом понимают регламентированный обмен информацией между человеком и ПК, осуществляемый в реальном масштабе времени и направленный на совместное решение конкретной задачи.
Каждый диалог состоит из отдельных процессов ввода-вывода, которые физически обеспечивают связь пользователя и ПК.
Обмен информацией осуществляется передачей сообщений и управляющих сигналов.
Сообщение – это порция информации, участвующая в диалоговом обмене. Различают:
- Входные сообщения, которые генерируются человеком с помощью средств ввода;
- Выходные сообщения, которые генерируются ПК в виде тестов, звуковых сигналов или изображений.
В основном пользователь генерирует сообщения следующих типов:
- Запрос информации;
- Запрос помощи;
- Запрос операции или функции;
- Ввод или вывод информации;
- Выбор кадра и т. д.
В ответ он получает:
- Подсказки или справки;
- Информационные сообщения, е требующие ответа;
- Приказы, требующие действий;
- Сообщение об ошибках и т. д.
Типы интерфейсов
По аналогии с процедурным и объектным подходом к программированию различают структурно-ориентированный и объектно-ориентированный подходы к разработке интерфейсов.
Структурно-ориентированные интерфейсы используют традиционную модель взаимодействия с пользователем. В таких интерфейсах ПО предоставляет пользователю возможность выполнения некоторых действий, для которых пользователь определяет соответствующие данные и следствием выполнения которых является получение результата.
Таковыми являются интерфейсы:
- Примитивные;
- Интерфейс в виде меню;
- Интерфейс со свободной навигацией.
Объектно-ориентированные интерфейсы используют модель, основанную на манипулировании объектами предметной области. Здесь пользователю предоставляется возможность напрямую взаимодействовать с каждым объектом и инициировать выполнение операций. При этом объект понимается в широком смысле слова. Например, текст, модель реальной системы или БД. Например, это интерфейс Windows.
- Примитивным называют интерфейс, который организует взаимодействие с пользователем в консольном режиме, т. е. он реализует конкретный сценарий работы ПО. Подобные интерфейсы в настоящее время используют только в процессе обучения программированию или, когда вся программа реализуют одну функцию.
- Интерфейс меню позволяет пользователю выбирать необходимые операции из специального списка, выводимого программой. Различают одноуровневые и иерархические меню.
- Интерфейсы со свободной навигацией также называют графическими. Они поддерживают концепцию интерактивного взаимодействия с ПО.
Этапы разработки пользовательского интерфейса
- Постановка задачи, определение типа интерфейса и общих требований к нему;
- Анализ требований и определение спецификаций;
- Проектирование – проектирование диалогов и их реализация в виде процессов ввода-вывода;
- Реализация – программирование и тестирование интерфейсных процессов.
Пользовательская и программная модели интерфейса
Существуют три модели пользовательского интерфейса:
- Модель программиста;
- Модель пользователя;
- Программная модель.
Программист, разрабатывая интерфейс, исходит из того, управление какими операциями ему необходимо реализовать. Его интересуют функциональность, технологичность, эффективность, внутренняя стройность и другие, несвязанные с удобством пользователя, характеристики.
Хорошим следует считать интерфейс, при работе с которым, пользователь получает именно то, что он ожидал.
Пользовательская модель интерфейса – это совокупность обобщенных представлений конкретного пользователя или некоторой группы, происходящих во время работы.
Для построения пользовательской модели необходимо изучить особенности предполагаемых пользователей ПО. Для этого используются опросы, тесты и даже фиксируют последовательность действий, осуществляемых в процессе выполнения некоторых операций.
Процесс проектирования пользовательского интерфейса
Критерии оценки интерфейса пользователем
- Простота освоения и запоминания ОС. Здесь оценивают конкретно время освоения и продолжительность сохранения информации в памяти.
- Скорость достижения результатов при использовании системы. Определяется количеством вводимых и выбираемых мышью команд и настроек.
- Субъективная удовлетворенность (удобство работы, утомляемость и т. д.).
Для пользователей-профессионалов на первое место выходит второй и третий критерий. Для непрофессионалов – первый и третий. С этой точки зрения наилучшими характеристиками для профессионалов обладают интерфейсы со свободной навигацией. Для непрофессионалов – интерфейсы прямого манипулирования.
Источник: studfile.net
Тестирование черного ящика — Как это работает? Техника и преимущества — Область применения и использование
Black Box Testing — это метод тестирования программного обеспечения, при котором внутренняя структура, дизайн или реализация предмета, который необходимо проверить, неизвестен тестировщику.
Что такое тестирование программного обеспечения?
Тестирование программного обеспечения — это процедура оценки системы с целью обнаружения ошибок. Он выполняется для проверки соответствия системы указанным требованиям. Тестирование измеряет общее качество системы с точки зрения ее правильности, полноты, удобства использования, производительности и других функциональных и нефункциональных атрибутов.
Тестирование черного ящика — это метод тестирования программного обеспечения, который фокусируется на анализе функциональности программного обеспечения, а не на внутренних системных механизмах. Тестирование черного ящика было разработано как метод анализа требований, спецификаций и стратегий проектирования высокого уровня клиента. Тестировщик программного обеспечения черного ящика выберет действительный и недействительный входной набор и условия выполнения кода, а также проверит правильные выходные ответы. Тестирование черного ящика также упоминается как функциональное тестирование или тестирование закрытого типа.
Например, поисковая система приложения. В поисковой системе пользователь вводит текст в строку поиска браузера. Поисковая система затем находит и извлекает соответствующие выходные данные пользователя. Что происходит за кулисами, пользователю неизвестно. Таким образом, внутренняя реализация не понимает его.
Преимущества тестирования черного ящика включают в себя:
- Простота: облегчает тестирование проектов высокого уровня и сложных приложений
- Экономия ресурсов: тестеры сосредоточены на функциональности программного обеспечения.
- Тестовые случаи: Сосредоточение внимания на функциональности программного обеспечения для облегчения быстрой разработки тестовых случаев.
- Обеспечивает гибкость: специальные знания программирования не требуются.
Пример
Тестировщик проверял бы веб-страницы, то есть с помощью щелчков и нажатий клавиш, используя браузер, предоставляя входные данные и не зная внутренних структур, таким образом сверяя выходные данные с ожидаемыми результатами.
Инструменты, используемые для тестирования черного ящика
Инструменты тестирования черного ящика в основном зависят от того, какой тип тестирования черного ящика вы используете.
- Функциональные / регрессионные тесты могут быть выполнены через QTP или Selenium
- Нефункциональные тесты могут быть выполнены через LoadRunner или Jmeter.
Уровни
В Black Box Testing следующие уровни предназначены для тестирования программного обеспечения:
- Интеграционное тестирование
- Тестирование системы
- Приемочное тестирование
Чем выше уровень, тем больше и сложнее будет ящик, и в него вступает больше испытаний черного ящика.
Определение черного ящика
Тестирование черного ящика может быть определено как метод тестирования, в котором тестируется функциональность Application Under Test (AUT), но при этом не учитывается структура внутреннего кода, детали реализации и любые знания о внутренних путях программного обеспечения.
Понимание тестирования черного ящика
Тестирование черного ящика касается всех спецификаций и требований к программному обеспечению. Black Box Testing просто фокусируется на входах и выходах системы программного обеспечения и не беспокоится о внутренних знаниях программного обеспечения.
Как Black Box Testing облегчает работу?
Существует жизненный цикл тестирования программного обеспечения, то есть STLC, который представляет собой «черный ящик» тестирования, относящийся к каждому этапу жизненного цикла разработки программного обеспечения.
- На начальном или первом этапе STLC собраны требования к продукту. Это называется фазой сбора требований.
- Следующим этапом является планирование планирования и анализ этапа тестирования. Результатами этого этапа, как правило, являются типы тестирования, которые должны быть выполнены в соответствии с проектом и планом тестирования для определения рисков и смягчения этих рисков.
- Третий этап — это этап разработки, на котором тестовые случаи, тестовые сценарии подготавливаются с помощью документов с требованиями к программному обеспечению или бизнес-требований.
- Последний этап называется этапом выполнения теста. Как следует из названия, на этом этапе выполняются все тестовые сценарии или сценарии. Все найденные ошибки сообщаются, исправляются и проверяются повторно.
Что вы можете сделать с Black Box Testing?
Некоторые из известных стратегий тестирования, используемых в тестировании черного ящика, описаны ниже:
- Тестирование класса эквивалентности
- Тестирование граничных значений
- Тестирование таблицы решений
- Причинно-следственная проверка
- Тестирование на основе требований
- Тестирование совместимости
Тестирование класса эквивалентности
Этот тип тестирования является предпочтительным, поскольку он помогает минимизировать контрольные примеры до уровня, при котором шансы покрытия требований находятся на оптимальном уровне.
Это делается в следующие два этапа:
1. Идентификация и разбиение на классы эквивалентности. Сначала входные данные разбиваются как минимум на два набора: первый набор содержит список допустимых входных значений, а второй набор содержит список недопустимых входных значений. Например, если есть поле возраста, которое может содержать возраст в диапазоне от 20 до 40, то допустимые входные значения могут быть 21, 25, 30, 39 и т. Д., А недопустимые входные значения могут быть любым значением меньше 20 или больше, чем 40 вроде 10, 15, 45, 55 и т. Д.
2. Создание тестовых случаев — каждому действительному входному классу и недопустимому входному классу присваивается уникальный идентификационный номер, а затем тестовые случаи пишутся с намерением охватить два набора входных классов.
Тестирование граничных значений
Тестирование граничных значений в основном фокусируется на границах значений. Он оценивает, является ли определенный диапазон значений приемлемым для системы или нет. Тестирование граничного значения полезно для уменьшения / минимизации количества тестовых случаев. Тестирование граничного значения наиболее подходит для систем, где входные данные находятся в определенных пределах.
Тестирование таблицы решений
Таблица решений демонстрирует причины и их одновременные эффекты в форме матрицы. При тестировании таблицы решений существует уникальная комбинация в каждом столбце.
Причинно-следственная графика
Причинно-следственный График развивает связь между причинами (логические входы) с соответствующим эффектом (Действия). Они представлены с помощью булевых графов. Шаги должны быть следующими:
- Идентификация входов и выходов.
- Разработка причинно-следственного графика.
- Преобразование графика в таблицу решений.
- Преобразование правил таблицы решений в контрольные примеры.
Тестирование на основе требований
Этот тип тестирования включает проверку того, действительны ли требования, указанные в SRS или спецификации требований к программному обеспечению.
Тестирование на совместимость
Для обеспечения функциональности как продукты, так и инфраструктура зависят от результатов выполнения тестового примера. Независимо от изменений, внесенных в параметры инфраструктуры, продукт по-прежнему должен работать должным образом. Некоторые параметры, в целом влияющие на совместимость программного обеспечения, перечислены ниже:
- Процессоры Pentium 3 или Pentium 4 и количество используемых процессоров
- 32-битная или 64-битная архитектура
- Серверы баз данных или любые другие внутренние компоненты
- Тип операционной системы (Windows, Linux и т. Д.).
Работа с тестированием черного ящика
Ниже приведены основные шаги, необходимые для тестирования черного ящика.
- Во-первых, рассматриваются спецификации и требования системы.
- Во-вторых, тестировщик выбирает логические входные данные, то есть сценарии положительного тестирования, чтобы проверить, правильно ли их обрабатывает SUT или нет. Кроме того, недопустимые входные данные, то есть сценарий отрицательного тестирования, также выбираются для проверки того, что SUT может их обнаружить.
- В-третьих, тестеры затем определяют ожидаемые результаты для всех действительных входных данных.
- В-четвертых, тестер программного обеспечения создает контрольные примеры с выбранными и действительными входными данными.
- В-пятых, созданные контрольные примеры выполняются.
- В-шестых, тестеры программного обеспечения различают фактические результаты с ожидаемыми и проверяют, совпадают ли они.
- Наконец, если таковые обнаружены, они исправлены и повторно протестированы.
преимущества
- Тесты черного ящика всегда выполняются с точки зрения пользователя, поскольку это поможет значительно выявить расхождения.
- Тестеры черного ящика также не должны знать никаких языков программирования.
- Тестерам черного ящика не нужно знать, как реализовано программное обеспечение.
- Тестовые случаи, связанные с черным ящиком, разрабатываются тестерами, как только спецификации находятся в завершенной стадии.
Недостатки
- Поскольку никаких технических или программных знаний не требуется, могут быть случаи, когда можно игнорировать все действительные и возможные условия сценария, который необходимо протестировать.
- Существуют возможности меньшего тестирования и незнания каждого возможного входа и их выходного тестирования из-за ограничений по времени (оговоренное время).
- Полное и законченное тестовое покрытие часто невозможно для сложных и крупных проектов.
Почему мы должны использовать Black Box Testing?
Инструменты тестирования «черного ящика» в основном записывают и воспроизводят. Эти инструменты записывают тестовые случаи в виде сценариев, таких как TSL, JavaScript, VB-сценарий и т. Д. Все эти инструменты в основном используются для регрессионного тестирования, чтобы проверить, не имеет ли предоставленная новая сборка какой-либо дефект в уже работающей функциональности приложения.,
Сфера
Видными и наиболее важными типами тестирования черного ящика являются следующие:
- Функциональное тестирование. Этот тип тестирования черного ящика полностью соответствует функциональным требованиям системы и выполняется тестировщиками программного обеспечения.
- Нефункциональное тестирование. Этот тип тестирования черного ящика касается не тестирования конкретной функциональности, а всех нефункциональных требований, таких как производительность, удобство использования, масштабируемость и многое другое.
- Регрессионное тестирование: Регрессионное тестирование выполняется после исправления кода, любых обновлений кода или любого другого обслуживания системы, чтобы проверить, не повлиял ли новый код на существующую функциональность.
Различия
Black Box Testing — это метод тестирования программного обеспечения, при котором внутренняя структура, дизайн или реализация тестируемого продукта неизвестны тестировщику.
White Box Testing — это метод тестирования программного обеспечения, при котором внутренняя структура, дизайн или реализация тестируемого продукта известны тестировщику.
- Функциональное тестирование
- Нефункциональное тестирование
- Регрессионное тестирование
Вывод:
Все обсуждаемые темы являются основными, а также продвинутыми темами, связанными с тестированием черного ящика и суть всех его методов и методов.
Поскольку вряд ли возможно протестировать все и все вместе с участием человека, и это тоже со 100-процентной точностью, но если уже указанные методы используются очень эффективно, это, без сомнения, повысит качество системы. Поэтому для того, чтобы закончить, тестирование черного ящика — это очень очень эффективный метод выявления дефектов, а также проверки работоспособности системы.
Рекомендуемые статьи
Это было руководство к тестированию черного ящика. Здесь мы обсудили, как Black Box Testing выполняется с помощью примеров и различных методов Black Box Testing с инструментами. Вы также можете просмотреть наши другие предлагаемые статьи, чтобы узнать больше —
- Тестирование белого ящика
- Тестирование Интервью Вопросы
- Что такое гипервизор
- Вопросы по тестированию игр
Источник: ru.education-wiki.com