Тестирование программного обеспечения — анализ граничных значений и разделение эквивалентности
Тестирование программного обеспечения это процесс поиска ошибок и проверки того, соответствует ли разработанное программное обеспечение требованиям конечного пользователя или нет. Для проведения тестирования тестировщики пишут тестовые примеры (пошаговая процедура тестирования), которые принимают значения тестовых данных в качестве входных данных для проверки поведения программного обеспечения. В некоторых случаях существует пул входных значений для тестирования, и написание тестовых случаев для всех значений входных данных становится трудоемким и подверженным ошибкам. Чтобы преодолеть такую ситуацию, используются методы проектирования тестовых случаев.
В этой статье основное внимание уделяется обсуждению различий между двумя методами: анализом граничных значений и разделением эквивалентности. Здесь будут обсуждаться следующие темы:
- Что такое анализ граничных значений (BVA)?
- Что такое Эквивалентное разбиение?
- BVA против эквивалентного разделения
Давайте начнем подробно обсуждать каждый из них.
Что такое анализ граничных значений (BVA)?
BVA используется для проверки поведения приложения с использованием тестовых данных, которые существуют в граничных значениях или, проще говоря, для диапазона значений входных данных граничные значения (крайние конечные значения) используются в качестве входных данных для тестирования. Это в основном используемый метод проектирования, поскольку считается, что программное обеспечение, скорее всего, выйдет из строя при верхних и нижних пределах значений входных данных.
Пример: Программное обеспечение позволяет людям в возрасте от 20 до 50 лет (и 20, и 50 включительно) заполнять форму, для чего пользователь должен ввести свой возраст в поле возраста программного обеспечения.
Граничные значения: 20 (минимальное значение) и 50 (максимальное значение).
Неверное значение (мин-1) | Допустимое значение (мин, мин+1, номинальное значение, макс-1, макс) | Неверное значение (макс.+1) |
|---|---|---|
| 19 | 20, 21, 30, 49, 50 | 51 |
В приведенной выше таблице можно четко определить все действительные и недействительные тестовые значения (значения учитываются при тестировании системы).
- Допустимое значение: тестовые значения, при которых система не дает сбоев и работает должным образом в соответствии с требованиями пользователя.
- Недопустимые значения: тестовые значения, которые не соответствуют системным требованиям.
Что такое Эквивалентное разбиение (EP)?
Это также называется разделением класса эквивалентности (ECP). Это метод тестирования черного ящика, в котором диапазон входных значений делится на классы данных эквивалентности. При этом тестер проверяет случайное входное значение из определенного интервала классов данных эквивалентности, и если выходные данные для этого входного значения действительны, то весь интервал класса считается действительным и наоборот.
Пример : приложение позволяет пользователю вводить пароль длиной от 8 до 12 цифр (минимум 8 и максимум 12 цифр).
| Недопустимый класс эквивалентности | Действительный класс эквивалентности | Недопустимый класс эквивалентности |
|---|---|---|
| <8 | 8-12 | >12 |
Рассмотрим некоторые значения пароля для действительного и недопустимого класса.
- 1234 имеет длину 4, что является недопустимым паролем, так как 4<8.
- 567890234 имеет длину 9, что является допустимым паролем, поскольку 9 находится между 8-12.
- 4536278654329 имеет длину 13, что является недопустимым паролем, так как 13>12.
Анализ граничных значений и разделение эквивалентности
Ниже приведены некоторые различия между BVA и Equivalence Partitioning.
| Анализ граничных значений | Разделение эквивалентности | |
|---|---|---|
Использование | BVA рассматривает значения входных данных из определенных границ. | Разделение эквивалентности проверяет значения входных данных из диапазона интервалов класса эквивалентности. |
Тестовые значения | В качестве входных значений тестовых данных он рассматривает мин.+1, мин., мин.-1, номинальное, макс.+1, макс. и макс.-1 значения. | При разделении эквивалентности для тестирования разработанных приложений берутся допустимые и недопустимые диапазоны классов эквивалентности. |
Идентификация ошибки | Он идентифицирует ошибки только на граничных значениях. | Это помогает в выявлении ошибок между секционированным классом данных эквивалентности. |
Области применения | Это часть стресса и негативного тестирования. | Его можно выполнять на любом этапе тестирования программного обеспечения, например модульного тестирования. |
Условия использования | Он ограничен приложениями с близкими граничными значениями. | Корректность разделения эквивалентности зависит от того, насколько правильно тестер определяет класс эквивалентности. |
Однако и анализ граничных значений, и разбиение эквивалентности используются вместе, поскольку один помогает находить ошибки на границах, а другой помогает определять ошибки, существующие между определенным диапазоном значений входных данных.