Граничные значения и классы эквивалентности в тестировании

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

Тестировщик » QA-блог » Методы » Граничные значения и классы эквивалентности в тестировании

Техника классов эквивалентности и граничных значений

Тестировщик должен быть готов ответить на вопросы «Что такое граничные значения?» и «Что такое классы эквивалентности?». Их задают про одну из ключевых техник в QA. Понимание классов эквивалентности и граничных условий позволяет делать тестирование более эффективным.

На изображение граничные значения и классы эквивалентности в тестировании.

Что такое классы эквивалентности

Классы эквивалентности – это разбиение множества вводимых данных на отдельные подмножества, с которыми функционал ПО должен работать одинаково. 

Например, посетители продуктового Интернет-магазина могут быть разного возраста. Но при покупке спиртного они разбиваются на 2 подмножества: младше 18 лет и старше. Для первых (тех, кто младше 18 лет) функционал магазина должен запретить приобретение алкогольных напитков, для вторых такого запрета нет.

Зачем нужны классы эквивалентности

Классы эквивалентности очень помогают тестировщикам тем, что экономят ресурсы тестирования. Достаточно проверить всего один элемент, а не все элементы из класса.

В нашем примере – можно проверить, что функционал запретит покупку спиртного, если указать, например, 10 лет. Значит, и для других значений возрастов до 18 – Интернет-магазин сработает так же. Вместо 18 тестов достаточно сделать 1 – это серьезный выигрыш.

Какую выгоду дает применение классов эквивалентности

Техника классов эквивалентности сокращает количество тестов в десятки и сотни раз. Вместо того, чтобы проверить, как поведет себя Интернет-магазин при введении, например, 100 возрастов, нам достаточно попробовать 2 – по одному из каждого класса, т.е. в 50 раз меньше.

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

Что такое граничные условия

Граничные условия – это то значение, по которому идет разбиение на классы эквивалентности. Например, в нашем случае граничное значение – это 18.

Могут быть и другие случаи. Например, процент скидки на билеты авиакомпании в зависимости от количества совершенных полетов за год – 10, 20, 30, 50, 75 и 100.

Почему граничные условия важны в тестировании

Потому что граничные условия – это места с повышенным риском ошибки программиста, а, следовательно, возникновения дефекта ПО. Программа здесь должна изменить метод работы, а это возможно только программированием (изменением кода).

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

Что надо проверять в классах эквивалентности и граничных условиях

Надо проверить по одному значению из каждого класса эквивалентности плюс каждое граничное условие. В нашем примере про требование невозможности продажи алкоголя несовершеннолетним получается 3 проверки (например, 10, 50 и 18 лет).

Получается, что 3 проверками закрываются все многообразие возрастов.

Почему про классы эквивалентности и граничные условия спрашивают на собеседованиях тестировщиков

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

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

Резюме

Граничные значения и классы эквивалентности – одна из техник тест-дизайна. Она позволяет значительно сэкономить на количестве проверок. На собеседовании QA-специалисту могут дать задачу на классы эквивалентности и граничные условия, чтобы посмотреть, насколько системно он умеет тестировать.

на изображение автор Михаил Кулешов

Автор Михаил Кулешов

Михаил, профессиональный партнерский маркетолог, является основателем компании South Media OÜ, которая была создана в 2018 году и базируется в Таллинне. С 2016 года Михаил уехал из Финляндии и жил как настоящий «цифровой кочевник» в IT-индустрии, путешествуя по миру только с ноутбуком. Михаил работает и пишет статьи, связанные с IT-индустрией.

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

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