Разделы портала

Онлайн-тренинги

.
Эвристики для идентификации граничных случаев
29.01.2024 00:00

Автор: Т. Ашок (T. Ashok)
Оригинал статьи: Tea-Time With Testers, #01/2021
Перевод: Ольга Алифанова

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

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

Мои эвристики основаны на таких аспектах, как время, жизненный цикл, трансформация, местоположение, пространство и размер.


Первый случай использования. Размышления с точки зрения времени. Какие-либо действия, впервые производящиеся в системе. Создание первого проекта, регистрация первого пользователя. Последние действия, удаление пользователя. Первая транзакция в пустой системе. Очистка системы от содержания, удаление, конец.


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


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


Поищите интересное поведение элементов, находящихся в начале или конце. Что будет, если элемент, находящийся посередине, переедет в любой конец?


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


Объем, размер – нечто очень мало или предельно велико. Допустим, загрузка крупных файлов – или очень маленьких. Отображение крошечных или огромных диаграмм – возможно, через зум?

Обсудить в форуме