Тестирование «белого ящика» и «черного ящика»

Малый набор тестов

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

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

Уровни тестирования:

модульное тестирование. Тестируется мало вероятный для тестирования компонент, к примеру отдельный класс либо функция;

интеграционное тестирование. Проверяется, есть ли какие- или трудности в интерфейсах и содействии меж интегрируемыми компонентами, к примеру, не передается информация, передается Тестирование «белого ящика» и «черного ящика» неправильная информация;

системное тестирование. Тестируется встроенная система на ее соответствие начальным требованиям:

альфа-тестирование — имитация реальной работы с системой штатными разработчиками или настоящая работа с системой возможными юзерами/заказчиком на стороне разработчика. Нередко альфа-тестирование применяется для законченного продукта в качестве внут-

реннего приемочного тестирования. Время от времени Тестирование «белого ящика» и «черного ящика» альфа тестирование производится под отладчиком либо с внедрением окружения, которое помогает стремительно выявлять отысканные ошибки. Обнаруженные ошибки могут быть переданы тестировщикам для дополнительного исследования в окружении, схожем тому, в каком будет употребляться ПО;

бета-тестирование — в неких случаях производится распространение версии с ограничениями (по функциональности либо времени работы) для некой группы

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

Определения и определения

Выполнение программки с целью обнаружения ошибок именуется тестированием. Виды ошибок и методы их обнаружения приведены в табл. 1.

Таблица Тестирование «белого ящика» и «черного ящика» 1 Виды программных ошибок и методы их обнаружения

Эффективность контроля 1-го вида зависит и от языка, и от компилятора. Контроль 2-го вида осуществляется при помощи исключений — Exceptions и очень полезен для проверки правдоподобности промежных результатов. Тест — это набор контрольных входных данных вместе с ожидаемыми плодами. В число входных данных времязависимых Тестирование «белого ящика» и «черного ящика» программ

входят действия и временные характеристики. Главный вопрос — полнота тестирования: какое количество каких тестов гарантирует, может быть, более полную проверку программки?

Исчерпающая проверка на всем огромном количестве входных данных недостижима. Пример: программка, вычисляющая функцию 2-ух переменных: Y=f(X, Z). Если X, Y, Z — real, то полное число тестов

(232) 2= 264= 1031 Если Тестирование «белого ящика» и «черного ящика» на каждый тест растрачивать 1 мс, то 264 мс = = 800 млн лет. Как следует:

• в хоть какой нетривиальной программке на хоть какой стадии ее готовности содержатся необнаруженные ошибки;

• тестирование — технико-экономическая неувязка, основанная на компромиссе время — полнота. Потому необходимо стремиться к может быть наименьшему количеству не плохих тестов с предпочтительными качествами.

Детективность Тестирование «белого ящика» и «черного ящика»: тест должен с большой вероятностью обнаруживать вероятные ошибки

Покрывающая способность: один тест должен выявлять как можно больше ошибок.

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

результаты которых нередко невоспроизводимы.

Лишь на основании избранного аспекта можно найти тот момент времени, когда Тестирование «белого ящика» и «черного ящика» конечное огромное количество тестов окажется достаточным для проверки программки с некой

полнотой (степень полноты, вобщем, определяется экспериментально). Употребляется два вида критериев (табл. 2):

• многофункциональные испытания составляются исходя из спецификации программки;

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

Таблица 2 Виды критериев и их функциональность

Рис 1 Линии движения вычислений при структурном тестировании

На рис. 1, а видно отличие тестирования Тестирование «белого ящика» и «черного ящика» команд (достаточен один тест) от С1 (нужны два теста как минимум).

Набросок 1, б иллюстрирует различие С1 (довольно 2-ух тестов, покрывающих пути 1, 4 либо 2, 3) от С2 (нужно четыре теста для всех 4 путей). С2 недостижим в реальных программках из-за их цикличности, потому ограничиваются 3-мя способами для каждого цикла: 0, 1 и Тестирование «белого ящика» и «черного ящика» N повторений цикла.

Остаются трудности предназначения классов входных/выходных данных для многофункционального тестирования и проектирования тестов для структурного тестирования. Классы, обычно, назначаются исходя из семантики решаемой задачки [6].

Разглядим пример. Отыскать малый набор тестов для программки нахождения вещественных корней квадратного уравнения ах2 + bх + с - 0.

Решение представлено в табл. 3. Поиск численного Тестирование «белого ящика» и «черного ящика» решения малого набора тестов

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

Тестирование «белого ящика» и «черного ящика»

В терминологии экспертов тестирования (программного и некого аппаратного обеспечения) фразы тестирование «белого ящика» и тестирование «черного ящика» относятся к тому, имеет ли разработчик тестов доступ к начальному Тестирование «белого ящика» и «черного ящика» коду тестируемого ПО, либо же тестирование производится через пользовательский интерфейс или прикладной программный интерфейс, предоставленный тестируемым модулем.

При тестировании «белого ящика» (англ. white-box testing, также молвят — прозрачного ящика) разработчик теста имеет доступ к начальному коду и может писать код, который связан с библиотеками тестируемого ПО. Это Тестирование «белого ящика» и «черного ящика» приемлимо для юнит-тестирования (англ. unit testing), при котором тестируются только отдельные части системы. Оно обеспечивает то, что составляющие конструкции работоспособны и устойчивы до определенной степени.

При тестировании «черного ящика» (англ. black-box testing) тестировщик имеет доступ к ПО только через те же интерфейсы, что и заказчик либо юзер, или через Тестирование «белого ящика» и «черного ящика» наружные

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

Если альфа- и бета-тестирование относятся к стадиям до выпуска продукта (также, неявно, к объему тестирующего общества и ограничениям на способы тестирования), тестирование «белого ящика» и «черного ящика» имеет отношение к методам, которыми тестировщик добивается цели.

Бета-тестирование в целом ограничено техникой «черного ящика» (хотя неизменная часть тестировщиков обычно Тестирование «белого ящика» и «черного ящика» продолжает тестирование «белого ящика» параллельно бета-тестированию). Таким макаром, термин бета-тестирование может указывать на состояние программки (поближе к выпуску, чем альфа) либо может указывать на некую группу тестировщиков и процесс, выполняемый этой группой. Итак, тестировщик может продолжать работу по тестированию «белого ящика», хотя ПО уже «в бете Тестирование «белого ящика» и «черного ящика»» (стадия), но в данном случае он не является частью бета-тестирования (группы/процесса).


testovie-zadachi-po-teme-treugolniki.html
testovie-zadaniya-1-urovnya.html
testovie-zadaniya-7-celi-i-instrumenti-makroekonomiki-uchebno-metodicheskij-kompleks-disciplini-ekonomika-napravlenie.html