четверг, 13 декабря 2012 г.

Decision Table Testing

Decision Table Testing



Introduction
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
Сущность



Состоит в браке?YesYesNoNo
Хороший студент?YesNoYesNo
Эта таблица содержит все возможные комбинации значений наших сущностей(сущности - "Состоит в браке?" и "Хороший студент?").

Теперь разберемся с действиями. В зависимости от комбинации значений наших сущностей у нас вычисляется скидка - то есть скидка - это результат взаимодействия сущностей, то есть - это и есть наше действие.

Правило 1Правило 2Правило 3Правило 4
Сущность



Состоит в браке?YesYesNoNo
Хороший студент?YesNoYesNo
Действия



Скидка ($)6025500
Теперь мы явно видим какую форму примет действие при каких значениях сущностей.

Делать тест-кейсы по Decision table очень легко - создайте как минимум 1 тест кейс на каждое правило. Вот так:

Тест кейс 1Тест кейс 2Тест кейс 3Тест кейс 4
Входные данные



Состоит в браке?YesYesNoNo
Хороший студент?YesNoYesNo
Ожидаемый результат



Скидка ($)6025500
или вот так:
Test Case IDСостоит в браке?Хороший студент?Ожидаемый результат
TC1YesYesскидка = 60
TC2YesNoскидка = 25
TC3NoYesскидка = 50
TC4NoNoскидка = 0

Вот уже стало яснее :) Давайте разбираться дальше.

Заимствованно с http://w1zle.blogspot.ru

Комментариев нет:

Отправить комментарий