Blackbox что это
Перейти к содержимому

Blackbox что это

  • автор:

Что такое Блэкбокс?

BlackBox Component Builder (Блэкбокс) — это бесплатная и открытая среда программирования для языка Компонентный Паскаль, разработанная швейцарской компанией Oberon Microsystems.

Среда поддерживает динамическую загрузку модулей (откомпилированных в машинный код) и сборку мусора, т.е. предоставляет собственную компонентную объектную модель. Написание, компиляция, выполнение, тестирование могут выполняться внутри интегрированной среды, что значительно увеличивает производительность труда программиста. Блэкбокс представляет собой операционную среду (своего рода микро-ОС), работающую поверх обычной ОС. Эта операционная среда может полностью или частично включаться в конечное приложение (вместе с компилятором), позволяя этому приложению легко расширяться и перестраиваться «на лету».

Блэкбокс абстрагирует разработчика от платформы, предоставляя высокоуровневые инструменты для построения сложных программных систем с длительным периодом поддержки и высокими требованиями к надежности.

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

bb.png

Стабильность, производительность и простота делают Блэкбокс особенно удачным инструментом для научных и инженерных приложений. Благодаря скромным требованиям к оборудованию, Блэкбокс может успешно использоваться в условиях ограниченной вычислительной инфраструктуры для профессионального программирования, в образовании и в научных исследованиях.

О центре

Центр Каркаса Блэкбокс (ЦКБ) — это некоммерческая волонтерская организация, направленная на поддержку видения и назначения программного обеспечения на основе Блэкбокса/Компонентного Паскаля. ЦКБ ставит целью обеспечить стандартами разработчиков Блэкбокса, пользователей и фанатов проекта. Участники центра возглавляют проекты, которые через совместный и целенаправленный процесс разработки, приводят к программным продуктам промышленного качества, притягательным для широкого круга потребителей. Мы работаем под лицензией BSD 2-clause, чтобы продукт был удобен для бизнеса. Подробнее про Центр на английском.

Что такое Black Box Testing?

Тестирование — фундаментальная часть жизненного цикла разработки любого ПО, будь то веб-приложение или программа для мобильных.

Тестирование не только подтверждает качество программного продукта, но и позволяет разработчику совершенствовать его.

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

Тестирование по стратегии чёрного и белого ящика — два вида тестирования, часто выполняемых разработчиками на этом этапе.

В статье мы расскажем о тестировании по стратегии чёрного ящика (black box testing), а также о фундаментальных сходствах и отличиях чёрного и белого ящика.

Что такое «тестирование по стратегии чёрного ящика»?

Тестирование по стратегии чёрного ящика, часто называемое функциональным тестированием — это методика, изучающая функциональность ПО без необходимости знания внутренней структуры кода.

Она может применяться на всех уровнях тестирования ПО, но в основном используется на высоких уровнях.

Тестирование по стратегии чёрного ящика — это процесс тестирования системы и её поведения вне зависимости от её внутренней структуры, архитектуры и реализации.

Тестировщик осуществляет ввод, а вывод рассматривается как часть этой методики тестирования ПО.

Это позволяет определять реакцию системы на ожидаемые и неожиданные действия пользователя, время реакции, сложности юзабилити и проблемы с надёжностью.

Тестирование по стратегии чёрного ящика — действенная методика, поскольку она обеспечивает сквозное выполнение системы.

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

При тестировании по стратегии чёрного ящика исследуются все отдельные компоненты, например, интерфейс пользователя и UX, веб-сервер или сервер приложения, база данных, зависимости и интегрированные системы.

Этот тип тестирования также называют тестированием opaque box, closed box, specification-based и eye-to-eye.

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

Эта методика тестирования разделяется на следующие типы:

▍ Функциональное тестирование

Функциональное тестирование в первую очередь сосредоточено на критически важных функциях ПО, а также на интеграции между ключевыми компонентами и системой в целом.

В этой методологии задействуется дымовое тестирование (smoke testing)/санитарное тестирование (sanity testing), интеграционное тестирование и системное тестирование для проверки уникальных функций и возможностей ПО.

Типичный пример такого тестирования — проверка того, что выполнить вход могут только пользователи с правильными учётными данными.

▍ Нефункциональное тестирование

Нефункциональное тестирование выполняется уровнем выше функций и возможностей. Вместо того, чтобы определять, может ли ПО выполнить операцию, оно исследует, как ПО выполняет это действие.

Этот тип тестирования исследует юзабилити и понимание системы, производительность при пиковых нагрузках, совместимость с соответствующими браузерами и устройствами, а также уязвимость к угрозам безопасности.

▍ Регрессионное тестирование

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

Это тестирование выполняется для того, чтобы определить, работает ли конкретная функция в новой версии и не снизилась ли производительность ранее эффективного действия.

Методики Black Box Testing

Тестирование по стратегии чёрного ящика содержит следующие методики:

▍ 1. Эквивалентное разделение

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

Например, если система запрашивает дату рождения пользователя и выдаёт одинаковый ответ для всех пользователей младше 18 лет и другой ответ для пользователей от 18 лет и старше, то тестировщикам достаточно протестировать одну дату рождения в группе «младше 18» и одну дату в группе «старше 18».

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

Тестировщики легко могут выявить уникальное поведение систем в диапазоне рядом с заданным граничным значением. Например, в поле допускается ввод чисел только от 0 до 99. Граничные значения (-100, 99 и 100) позволяют тестировщикам удобным образом убедиться в правильной проверке вводимых данных.

▍ 3. Симуляция таблицы решений

Многие системы предоставляют пользователям результаты на основании неких входящих данных. Обнаружив такие «правила», или множества условий, тестеры могут определить влияние каждого правила и создать соответствующие тестовые случаи.

▍ 4. Тестирование на изменение состояния

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

Если тестировщики выявят механизм смены состояний, они могут создать тестовые случаи, проверяющие систему, когда она выполняет переходы между состояниями.

Например, если система блокирует аккаунт после пяти безуспешных попыток входа, тестовый случай может исследовать, что произойдёт при шестой попытке.

▍ 5. Угадывание ошибок

В этой методике выполняется тестирование на частые ошибки, которые делают разработчики при создании схожих систем. Например, тестировщики могут исследовать, предусмотрел ли разработчик обработку значений null в поле, текста в числовом поле или чисел в текстовом поле, а также очистку входящих данных (например, можно ли передать входящие данные пользователя, содержащие исполняемый код, что влияет на безопасность системы).

Исчерпывающее угадывание ошибок включает в себя тестирование на известные уязвимости ПО, которые могут повлиять на тестируемую систему.

Плюсы Black Box Testing

▍ 1. Быстрая разработка тестовых случаев

Тестировщики работают только с графическим интерфейсом приложения (GUI). Поэтому они не исследуют на ошибки исходный код.

▍ 2. Тестирование можно отдавать на аутсорс

Тестерам не нужно понимать код, поэтому возможен аутсорс тестирования ПО по стратегии чёрного ящика.

▍ 3. UX конечного пользователя

Тесты проводятся с точки зрения конечных пользователей.

▍ 4. Критическая оценка

Так как тестировщик не знаком с кодом, у него нет предвзятого мнения о функциональности кода.

Недостатки Black Box Testing

▍ 1. Пути тестирования могут упускаться или повторяться

Процедура тестирования может дублироваться, а какие-то пути могут быть полностью упущены.

Когда проектировщики ПО уже исполнили тесты, они уже могут быть необязательны.

▍ 2. Некоторые части приложения могут оказаться неизученными

Так как у тестировщика отсутствуют знания кодинга, некоторые функции и возможности приложения могут оказаться непроверенными.

▍ 3. Потребность в чётких и явных спецификациях тестирования

Чтобы гарантировать соответствие программы высочайшим стандартам качества, тестеры должны быть уверены в том, что тестируют.

Заключение

Тестирование по стратегии чёрного ящика — важная часть арсенала тестировщика, но она не должна быть единственной. Такое тестирование может сделать свой вклад в обеспечение уверенности в качестве проекта. Тем не менее, если существуют незадокументированные требования, black box testing не должно использоваться для определения приоритетов багов.

  • black box
  • тестирование по
  • testing
  • software testing
  • ruvds_перевод

PT BlackBox

Веб-приложения — популярная цель для злоумышленников. Почти каждое из них имеет уязвимости, позволяющие киберпреступникам атаковать пользователей. Эти атаки могут привести к распространению вредоносного программного обеспечения, перенаправлению пользователей на сайты злоумышленников или краже данных с использованием методов социальной инженерии. Так, в 91% веб-приложений хакеры могут завладеть важными данными, а в 84% — получить доступ к веб-ресурсу. По данным исследования Positive Technologies «Уязвимости и угрозы веб-приложений в 2020–2021 гг.»

приложений содержат уязвимости
приложений позволяют хакерам завладеть важными данными
приложений позволяют хакерам получить
доступ к веб-ресурсу

Эксперты компании Positive Technologies подсчитали: в среднем приложение одной компании может содержать больше 20 уязвимостей, каждая пятая из которых — опасная. Если атакующий хакер сможет воспользоваться ими, компания рискует столкнуться с финансовыми и репутационными проблемами: кражей важных данных, потерей доверия клиентов или полной остановкой бизнес-процессов.

PT BlackBox — продукт компании «Позитивные Технологии», который позволяет анализировать защищенность приложений, выявлять и устранять уязвимости в них на ранней стадии разработки. Чтобы выявить уязвимости, PT BlackBox использует метод черного ящика при сканировании приложений — имитирует поведение злоумышленника, у которого нет знаний о внутреннем устройстве приложения. Это позволяет оценивать защищенность веб-приложения без использования каких-либо исходных данных, кроме адреса веб-цели. Такой динамический анализ помогает своевременно находить уязвимости приложений и предотвращать реализацию угроз безопасности, которые могут негативно сказаться на деятельности компании.

Преимущества

Экономит ресурсы

Определяет повторяющиеся шаблонные страницы и не тратит время пользователя на сканирование каждой из них по отдельности.

Обнаруживает скрытые веб-страницы

Комбинация сигнатурного и эвристического анализа позволяет находить тестовые или административные разделы.

Интегрируется в жизненный цикл программного обеспечения

Позволяет эффективно обнаруживать и исправлять уязвимости на ранней стадии разработки программного обеспечения.

Черный ящик (Black box)

Устройство, система или объект, который можно рассматривать с точки зрения его входов и выходов, не зная о его внутренней работе. Понятие используется в точных науках, таких как системотехника, кибернетика, физика и т.д., для обозначения системы, структура и механизм работы которой очень сложны, неизвестны или неважны в рамках данной задачи.

Эти системы обычно имеют вход для ввода информации и выход для отображения результатов работы. Состояние выходов обычно функционально зависит от состояния входов. Иными словами, когда используют термин «черный ящик», имеют в виду систему, которая выполняет нужное преобразование информации, но при этом пользователя совершенно не интересует, как она это делает.

В Data Mining типичным примером черного ящика является аналитическая модель для человека, не разбирающегося в механизме ее работы. Например, служащий банка совершенно не обязан знать принцип работы и теорию нейронных сетей, чтобы успешно применять нейросетевую модель для решения задачи кредитного скоринга. Его цель — подать на вход системы признаки потенциального заемщика и посмотреть результат. При этом сам механизм обработки данных внутри модели его не интересует.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *