Jump to content

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

Анализ граничных значений — это метод тестирования программного обеспечения , в котором тесты предназначены для включения представителей граничных значений в диапазон. Идея исходит от границы . [1] Учитывая, что существует набор тестовых векторов для тестирования системы, на этом наборе можно определить топологию. Те входные данные, которые принадлежат к одному и тому же классу эквивалентности , определенному теорией разделения эквивалентности, будут составлять основу . Учитывая, что базисные наборы являются соседями , между ними будет существовать граница. Тестовые векторы по обе стороны границы называются граничными значениями. На практике это потребует, чтобы тестовые векторы можно было упорядочить и чтобы отдельные параметры следовали некоторому порядку (либо частичному порядку , либо полному порядку ).

Формальное определение

[ редактировать ]

Формально граничные значения можно определить следующим образом:

Пусть набор тестовых векторов равен X 1 ,..., X n .
Предположим, что над ними определено отношение порядка, как .
Пусть C1 , . C2 два эквивалентных класса
Предположим, что тестовый вектор X 1 C 1 и X 2 C 2 .
Если или затем занятия находятся в одной окрестности и значения являются граничными значениями.

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

Приложение

[ редактировать ]

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

Демонстрацию можно провести с помощью функции, написанной на Java .

класс   Safe   {      static   int   add  (  int   a  ,   int   b  )      {          int   c   =   a   +   b   ;          if   (  a   >=   0   &&   b   >=   0   &&   c   <   0  )          {              System  .  ошибаюсь  .  println  (  "Переполнение!"  );          }          if   (  a   <   0   &&   b   <   0   &&   c   >=   0  )          {              System  .  ошибаюсь  .  println  (  "Недополнение!"  );          }          Вернуть   С  ;      }  } 

На основе кода входные векторы [ a,b ] разбиваются . Блоки, которые нам нужно охватить, — это оператор переполнения. и оператор Underflow, и ни один из этих 2. Это приводит к появлению 3 эквивалентных классов из самой проверки кода.

Демонстрация граничных значений (оранжевый)

мы отмечаем, что существует фиксированный размер целого числа , следовательно: -

MIN_VALUE ≤ x + y ≤ MAX_VALUE

Заметим, что входные параметры a и b являются целыми числами, следовательно, полный порядок в них существует .Когда мы вычисляем равенства:

х + у = МАКС_ЗНАЧ
МИН_ЗНАЧ = х + у

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

С другой стороны:-

х + у = МАКС_ЗНАЧ + 1

дает пары ( a,b ), которые являются недопустимыми комбинациями,Для них произойдет переполнение. Таким же образом: -

х + у = МИН_ЗНАЧ - 1

дает пары ( a,b ), которые являются недопустимыми комбинациями,Для них произойдет перелив.

Граничные значения (отрисованные только для случая переполнения) показаны оранжевой линией на правом рисунке.

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

 ... -2 -1 0 1 .............. 12 13 14 15 .....     --------------|-------------------|--------------- ----неверный раздел 1 действительный раздел недействительный раздел 2 

Граница между двумя разделами — это место, где меняется поведение приложения, а не действительное число. Граничное значение — это минимальное (или максимальное) значение, находящееся на границе. Число 0 — максимальное число в первом разделе, число 1 — минимальное значение во втором разделе, оба являются граничными значениями. Тестовые случаи должны создаваться для генерации входных и выходных данных, которые будут находиться по обе стороны от каждой границы, что приводит к появлению двух случаев на каждую границу. Тестовые случаи на каждой стороне границы должны быть с наименьшим приращением, возможным для тестируемого компонента, для целого числа это 1, но если входные данные были десятичными с двумя знаками, тогда это было бы 0,01. В приведенном выше примере есть граничные значения 0,1 и 12,13, и каждое из них необходимо проверить.

Анализ граничных значений не требует недопустимых разделов. Возьмем пример: обогреватель включается, если температура составляет 10 градусов или ниже. Есть два раздела (температура≤10, температура>10) и два граничных значения, которые необходимо проверить (температура=10, температура=11).

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

  1. ^ Крейг, Рик Дэвид; Яскил, Стефан П. (2002). Систематическое тестирование программного обеспечения . Артех Хаус . стр. 155–156. ISBN  9781580537926 . Проверено 25 февраля 2024 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 34fe6320ce389c27d0050f7cf27afee4__1712083380
URL1:https://arc.ask3.ru/arc/aa/34/e4/34fe6320ce389c27d0050f7cf27afee4.html
Заголовок, (Title) документа по адресу, URL1:
Boundary-value analysis - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)