Decision Table Testing
Decision Tables - хороший инструмент для фиксирования требований и описания функциональности приложения. Этими таблицами очень удобно описывать бизнес логику приложения, и в добавок они могут служить отличной основой для создания тест кейсов.
Если на тестируемое приложение нет адекватной документации, то это хороший повод использовать decision tables. Представляя требования в простой и компактной форме будет легко создавать тест кейсы.
Aproach
Decision Tables описывают логику приложения основываясь сущностях(свойствах/условиях) состояния системы. Каждая decision table должна описывать 1 состояние системы. Шаблон таблицы решений следующий:
Правило 1 | Правило 2 | … | Правило p | |
Сущность | ||||
Свойство-1 | ||||
Свойство-2 | ||||
… | ||||
Свойство-m | ||||
Действия | ||||
Действие-1 | ||||
Действие-2 | ||||
… | ||||
Действие-n |
Не бойтесь, скоро все станет понятно ;)
Сущность(conditions) от 1 до m - это разные свойства системы, они представляют в таблице входные данные, которые можно ввести в систему. Действия(actions) от 1 до n - это действия которые могут произойти с указанной комбинацией сущностей, в зависимости от комбинации всех входных данных сущностей, действия принимают нужные значения. Каждое правило определяет уникальный набор входных данных всех свойств, которые приводят к исполнению конкретных действий.
Правило для создания тест кейсов просто - создайте как минимум 1 тест кейс на каждое правило в таблице. Просто поменяйте имена столбцов.
Тест кейс 1 | Тест кейс 2 | … | Тест кейс p | |
Входные данные | ||||
Свойство-1 | ||||
Свойство-2 | ||||
… | ||||
Свойство-m | ||||
Ожидаемый результат | ||||
Действие-1 | ||||
Действие-2 | ||||
… | ||||
Действие-n |
Пример 1. 2 бинарных сущности, 1 действие
Представим, что тестируем приложение для страховой компании. Это приложение вычисляет скидку на страхование автомобилей, взаимозависимости от того, был ли водитель хорошим студентом и состоит ли он в браке. Как вычисляется скидка от этих условий покажем сразу с помощью decision table.
Начнем со сущностей, их у нас всего 2 - был ли клиент хороший студент и состоит ли в браке. Каждое из свойств бинарное - т.е. может принимать значение либо true либо false.
Правило 1 | Правило 2 | Правило 3 | Правило 4 | |
Сущность | ||||
Состоит в браке? | Yes | Yes | No | No |
Хороший студент? | Yes | No | Yes | No |
Теперь разберемся с действиями. В зависимости от комбинации значений наших сущностей у нас вычисляется скидка - то есть скидка - это результат взаимодействия сущностей, то есть - это и есть наше действие.
Правило 1 | Правило 2 | Правило 3 | Правило 4 | |
Сущность | ||||
Состоит в браке? | Yes | Yes | No | No |
Хороший студент? | Yes | No | Yes | No |
Действия | ||||
Скидка ($) | 60 | 25 | 50 | 0 |
Делать тест-кейсы по Decision table очень легко - создайте как минимум 1 тест кейс на каждое правило. Вот так:
Тест кейс 1 | Тест кейс 2 | Тест кейс 3 | Тест кейс 4 | |
Входные данные | ||||
Состоит в браке? | Yes | Yes | No | No |
Хороший студент? | Yes | No | Yes | No |
Ожидаемый результат | ||||
Скидка ($) | 60 | 25 | 50 | 0 |
Test Case ID | Состоит в браке? | Хороший студент? | Ожидаемый результат |
TC1 | Yes | Yes | скидка = 60 |
TC2 | Yes | No | скидка = 25 |
TC3 | No | Yes | скидка = 50 |
TC4 | No | No | скидка = 0 |
Вот уже стало яснее :) Давайте разбираться дальше.
Заимствованно с http://w1zle.blogspot.ru
Комментариев нет:
Отправить комментарий