Тестирование черного ящика. Б. Бейзер (2004) (1186170), страница 6
Текст из файла (страница 6)
Вариант. Характеристики, представляюшие собой совокупность вариантов. Спецификации. Ясное, как правило, неполное определение требований. В качестве спецификаций могут использоваться документы, список характеристик, прототип, тестовый комплект. Спецификации обычно незакончепы, поскольку многие требования часто бывают очевидны. Например: «программа не должна уничтожать или портить данные».
Самая большая ошибка, которую может допустить тестировщик, — это предположить, что в спецификациях представлены все требования. Проверка соответствии (налидацил). Оценка объекта с целью продемонстрировать, что он удовлетворяет требованиям. Тестирование — это не единственный метод проверки соответствия, но в данной книге рассматривается только он [%А1 1.941. Искажеииосгль'.
Оценка объекта с целью продемонстрировать, что он не удовлетворяет требованиям. Критерии соответствия (налидации). Средства для демонстрации того, выполняются или нет требования. Например, прямое сравнение с предсказанными значениями, сравнение в пределах определенных областей значений, наблюдаемая последовательность событий. Сравнение итогов. Предсказанный и фактический итоги теста сравниваются по определенным критериям соответствия. Сценарий теста.
Документ, программа или объект, которые для каждого теста и подтеста в тестовом комплекте определяют тестируемый объект, требование (обычно условие), начальное состояние, вводы, ожидаемый итог и критерии соответствия. Симптолс (огнкпз 1ЕЕЕ94). Наблюдаемое аномальное поведение любого объекта (не обязательного тестируемого), такое как несоответствие требованиям или возникновение незапланированных явлений. Ошибки (сбой 1ЕЕЕ94). Просчет в проектировании, ведуший к возникновению симптомов у какого-либо объекта (тестируемого и не только) при прохождении этим объектом определенного теста.
Тест считается пройденным, если при корректно заданных критериях соответствия после его прохождения фактический итог совпадает с предсказанным и отсутствуют симптомы. Тест считается не пройденным, если после его прохождения фактический итог не совпадает с предсказанным иггили присутствуют симптомы. Причиной этого может быть использование неверного объекта, неверный ввод, неверный прогнозируемый итог, неверное начальное состояние, неверные критерии соответствия, некорректное применение этих критериев, ошибка при проектировании теста, ' Автор использует саою собстненную, оригинальную терминолюгию. Отланан даш классику, отметим, что более распространены следующие термины: верификация — ороасрка того, что нрограмма пранильно реал иаует определенную фун книю; мыиаицил — нронсрка того, что программа соотаетстаует требоааиилм заказчика.
— Примеч. неуче. реп Е2. Основные термины 29 ошибка в выполнении теста, ошибка в процессе проверки соответствия и даже, каким бы это не могло показаться странным, ошибка в тестируемом объекте. Протестирован. Объект считается (успешно) протестированным, если выполнены все запланированные тесты, без появления симптомов, это означает, что все тесты были пройдены. Если не указано обратное, «протестирован» означает— успешно протестировац, Свободен от ошибок. Мы говорим, что объект «свободен от ошибок», если мы считаем, что вероятность появления у него симптомов или возникновения спровоцированных им симптомов у других используемых объектов достаточно мала, чтобы гарантировать успешное использование этого объекта. Идея абсолютной «свободы от ошибок» является неопровергаемой, а значит, не может быть требованием. Случайнан корректность.
Успешное прохожление всех тестов еще не означает, что объект свободен от ошибок. Несмотря на то, что фактический итог совпадает с предсказанным, в программе могут быть ошибки, поскольку совпадение итогов может быть случайным. Например, если программа должна вычислять у:=х', но ошибка в программировании приводит к тому, что вычисляется у:=2х, а входное значение х в тесте оказывается равным 2, то итог будет равен у 4, несмотря на ошибку. Про тестируемую таким образом программу говорят, что она случайно корректна.
Слепота (сокрытие, утаивание). Для любого метода тестирования (за исключением тестирования всех возможных вводов и начальных состояний) существует определенный тип ошибок, к которым он слеп. Например, множество методов слепо к случайной корректности. Модуль. Наименьший элемент, подлежащий тестированию. Этот элемент (обычно) является продукцией одного программиста и представляет собой наименьший компилируемый сегмент программы, такой как подпрограмма. Модуль как объект тестирования обычно не включает в себя подпрограммы, вызываемые им функции, фнксированпыс таблицы и так палее. Тестирование модуля.
В тестировании модулей принято, что вызываемые подпрограммы и вызовы функций считаются компонентами языка (например, ключевыми словами). Вызываемые и вызывающие компоненты считаются либо работающими корректно, либо заменяются имитаторами. Тестирование модулей обычно является задачей их разработчиков. Ошибки модули. Ошибка, которая, скорее всего, будет выявлена при грамотном тестировании модуля. Модуль является компонентом. Компонент представляет собой совокупность одного или более компонентов, которая может тестироваться как единое целое. Например, модуль, подпрограмма, функция, макрос, программа и подпрограммы, которые она вызывает, связанные процедуры и целые системы программного обеспечения.
Интерфейс между компонентами — любые средства, при помощи которых данные могут передаваться или совместно использоваться. Это может быть вызов подпрограммы, общий объект данных, глобальные данные, физический интерфейс, сообщение. Тестирование интеграции; Тесты, направленные на проверку взаимодействия и совместимости компонентов, успешно прошедших свои тесты. То есть ЗО Глава 1 ° Введение компоненты А и В, которые прошли тесты компонентов, объединяются в новый компонент С = (А, В). Тестирование интеграции направлено на проверку согласованности получившейся совокупности, Интересующее нас поведение совокупности обычно исследуется с помощью интерфейса между компонентами.
Ошибка интеграции. Ошибка, которая, скорее всего, будет выявлена при грамотном тестировании интеграции. Интеграция. Процесс тестирования интеграции, отладки интерфейса и исправления ошибок интеграции. Интеграция может изменить характер поведения и тем самым привнести новые ошибки. Интеграция обычно производится создателем компонентов, если за связываемые компоненты ответственен один человек. Зачастую ее независимо выполняет отдельный интегратор, если в создании компонентов участвовало несколько человек.
Тестирование компонента. Тестирование компонента отличается от тестирования модуля тем, что опо включает в себя тестирование вызываемых компонентов и объектов данных. Например, тестирование процедуры совместно с вызываемыми ею подпрограммами, тестирование процедуры и фиксированной таблицы данных. Разумное тестирование компонента подразумевает предварительную успешную интеграцию подчиненных компонентов и модулей и тестирование интеграции зтих компонентов.
В отличие от тестирования компонентов при тестировании модулей модуль когда-нибудь составит единое целое с относящимися к нему компонентами. Ошибка каипонеита. Ошибка, которая, скорее всего, будет выявлена при тестировании компонента. Системы программного обеспечения.
Совокупность компонентов, такая, что определенные требования могут быть проверены, даже если некоторые компонентыы отсутствуют или не подвергались тестированию. Тестирование системы производится для проверки поведения системы, которая не может быть выполнена путем тестирования модулей, компонентов или тестирования интеграции. Например, тестирование. производительности, инсталляции, целостности данных, управления памятью, безопасности, надежности. В идеале тестирование системы предполагает, что все узлы были заранее успешно интегрированы. Тестирование системы часто осуществляется независимыми тсстировщиками. Ошибка производителыгости. Ошибка, главным симптомом которой является неудовлетворительная или заниженная производительность (цапример, низкая пропускная способность или увеличение задержки). Ошибка безопасности.
Ошибка, увеличивающая риск несанкционированного проникновения в систему, что позволит просматривать или изменять файлы, не обладая соответствующими правами. Ошибка потери ресурсов. Ошибка, велущая к потере динамически размещаемых ресурсов, таких как оперативная память или место на диске. Системная ошибка. Ошибка, вероятность обнаружения которой путем тестирования модулей, компонентов или интеграции мала. Ошибка, проявляющаяся в поведении не отдельных компонентов, но системы целиком. Например, ошибка производительности, ошибка безопасности, ошибка потери ресурсов. Модули, подпрограммы, программы, подсистемы, Приблизительные названия компонентов, расположенные по мере явного возрастания их размера. 1.3.