Главная страница

Тестирование инф.систем. Ответы на вопросы к лекциям Понятие тестирования программного обеспечения


Скачать 0.52 Mb.
НазваниеОтветы на вопросы к лекциям Понятие тестирования программного обеспечения
АнкорТестирование инф.систем
Дата14.11.2022
Размер0.52 Mb.
Формат файлаdocx
Имя файлаotvet na lec..docx
ТипЛекция
#786886
страница7 из 15
1   2   3   4   5   6   7   8   9   10   ...   15

Эквивалентны ли полная и свернутая таблицы альтернатив?

Ответ ‒ обеим. Полная и свернутая таблицы логически эквивалентны, если только при сворачивании не было допущено ошибки.


  1. Можно ли комбинировать техники проектирования тестов? Приведите примеры.

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

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

Для создания тестовых сценариев из таблицы альтернатив проектируются входные тестовые данные, которые удовлетворяют заданным условиям. Выходные тестовые данные соответствуют действиям при заданной комбинации условий. Во время выполнения теста проверяется, соответствуют ли фактические действия ожидаемым. Создается достаточное количество

тестовых сценариев. Такое, чтобы каждая комбинация условий была покрыта как минимум одним тестовым сценарием.
При использовании таблицы альтернатив критерий покрытия сводится к простому для запоминания правилу – не менее одного теста для каждого столбца в таблице.
Итак, какие же типы дефектов находятся с помощью таблиц альтернатив? Их два. Первый, когда при определенной комбинации условий может произойти неверное событие. Иными словами, когда существует некое действие, которое система не должна выполнять при такой комбинации условий, но выполняет. Второй тип дефектов, когда при определенной комбинации условий система может не выполнить корректное действие. Иными словами, когда существует некое действие, которое система должна выполнить при такой комбинации условий, но не выполняет.

Представим себе приложение для электронной коммерции. На уровне интерфейса пользователя нужно проверить платежную информацию, а именно: тип кредитной карты, номер карты, секретный код карты, месяц и год истечения срока действия карты, а также имя держателя карты. Существует целый набор условий, определяющий процесс обработки:

  • Принадлежит ли введенная кредитная карта указанному лицу, и верна ли остальная информация?

  • Действует ли карта или истек срок действия?

  • Находится ли лицо в пределах лимита по карте или вне его?

  • Проходит ли транзакция из обычного места или подозрительного?


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

  • Нужно ли подтвердить транзакцию?

  • Нужно ли связаться с держателем карты (например, чтобы предупредить его о покупке из подозрительного места)?

  • Нужно ли связаться с эмитентом (например, чтобы попросить его конфисковать карту с истекшим сроком)?

Как работает таблица. Условия перечислены в левой верхней части таблицы, а действия в левой нижней. Каждый столбец справа от самого левого столбца содержит бизнес-правило. Каждое правило утверждает, вкратце: «В этой конкретной комбинации условий (отображенной в верхней части правила) необходимо выполнить конкретную комбинацию действий (отображенную в нижней части правила)».

Таблица 6 Пример таблицы альтернатив (полная)


Условия

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

Действительный счет?

Y

Y

Y

Y

Y

Y

Y

Y

N

N

N

N

N

N

N

N

Активный счет?

Y

Y

Y

Y

N

N

N

N

Y

Y

Y

Y

N

N

N

N

В пределах лимита?

Y

Y

N

N

Y

Y

N

N

Y

Y

N

N

Y

Y

N

N

Расположение ok?

Y

N

Y

N

Y

N

Y

N

Y

N

Y

N

Y

N

Y

N

Действия

















































Подтвердить

Y

N

N

N

N

N

N

N

N

N

N

N

N

N

N

N

Связаться с держателем

N

Y

Y

Y

N

Y

Y

Y

N

N

N

N

N

N

N

N

Связаться с эмитентом

N

N

N

N

Y

Y

Y

Y

Y

Y

Y

Y

Y

Y

Y

Y


Количество столбцов т.е. количество бизнес-правил равняется 2 в степени числа условий: 24 = 16. Когда условие строго булево (истина или ложь), и мы имеем дело с полной таблицей альтернатив (а не свернутой), то этого всегда верно.

Как заполняются условия. Верхнее условие изменяется медленнее всего. Половина колонок Истина, половина – Ложь. Второе сверху условие изменяется более быстро, но медленнее чем все остальные условия. Правило заполнения четверть Истина, четверть Ложь, четверть Истина, четверть Ложь. И наконец, нижнее условие чередование Истина, Ложь, Истина, Ложь, и т.д. Такой шаблон заполнения позволяет гарантировать, что ничего не будет пропущено.

Получение тестовых сценариев в этом примере простое: каждый столбец соответствует тестовому сценарию. Когда дело дойдет до выполнения тестов, будут созданы условия, которые являются входными данными для тестов. Условия «Истина/Ложь» будут заменены на реальные входные значения для номера кредитной карты, секретного кода, даты истечения срока действия и имени держателя карты во время проектирования тестов или возможно даже во время выполнения тестов. Будут проверены действия, которые являются ожидаемыми результатами для тестов.

В некоторых случаях может понадобиться создать более одного теста для каждого столбца. Эта возможность будет рассмотрена более детально ниже: методики эквивалентного разбиения и анализа граничных значений будут применены для расширения таблицы альтернатив.

Сворачивание таблицы альтернатив. В приведенном случае некоторые тестовые сценарии не имеют особого смысла. Например, как счет может быть нереальным, но при этом активным? Как счет может быть нереальным, но при этом в рамках лимита? Такая ситуация – подсказка, что возможно в таблице альтернатив не нужны все столбцы.

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

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

Для объединения двух и более столбцов нужно рассмотреть два или более столбца, которые приводят к одинаковому набору действий. Необходимо помнить, что действия должны быть одинаковыми для всех действий в таблице, а не просто некоторых. В этих столбцах некоторые условия будут одинаковыми, а другие отличными. Те, которые различаются, очевидно, не влияют на результат. Поэтому можно заменить условия, которые различаются в этих столбцах, прочерком («-»). Прочерк обычно означает: не важно, не имеет значения или этого не может произойти при заданных условиях.

Теперь нужно повторить этот процесс для всех следующих столбцов, которые содержат такие же комбинации действий для всех действий в таблице.
Еще один важный пункт: нужно быть предельно внимательным, когда имеются таблицы, где в каждый момент времени может применяться более чем одно правило. Такие таблицы имеют неразделимые правила. Они будут рассмотрены ниже.
Таблица 7 отражает ту же самую таблицу альтернатив, что и ранее, только свернутую для того, чтобы выявить ненужные столбцы. Наиболее заметно, что столбцы с 9 по 16 в исходной таблице альтернатив были свернуты в один столбец.

Таблица 7 Пример таблицы альтернатив (свернутая)


Условия

1

2

3

5

6

7

9

Действительный счет?

Y

Y

Y

Y

Y

Y

N

Активный счет?

Y

Y

Y

N

N

N

-

В пределах лимита?

Y

Y

N

Y

Y

N

-

Расположение ok?

Y

N

-

Y

N

-

-

Действия






















Подтвердить

Y

N

N

N

N

N

N

Связаться с держателем

N

Y

Y

N

Y

Y

N

Связаться с эмитентом

N

N

N

Y

Y

Y

Y


Исходная нумерация столбцов сохранена для простоты сравнения. Нельзя свернуть столбцы 2 и 3, потому что это приведет к прочерку для «В пределах лимита» и для «Расположение ок». Если проанализировать эту таблицу или полную, то можно заметить, что одно из этих условий должно быть не Истина, чтобы связались с держателем карты. Сворачивание правила 4 в правило 3 говорит, что если карта превысила лимит, то с держателем свяжутся независимо от расположения. Такая же логика применятся при сворачивании правила 8 в правило 7.

При этом формат не изменяется. Условия перечислены в левой верхней части таблицы, а действия в левой нижней. Каждый столбец справа от самого левого столбца содержит бизнес-правило. Каждое правило говорит: «При конкретно такой комбинации условий (отображенных в верхней части правила, некоторые из которых не учитываются), нужно выполнить конкретно такую комбинацию действий (отображенную в нижней части правила, каждое из которых полностью определено)».

Количество столбцов не более 2, возведенное в степень числа условий. Это важно, поскольку иначе свертывание нельзя было бы провести. При сворачивании таблицы удобный шаблон заполнения столбца «Истина/Ложь», присутствующий в полной таблице, исчезает. Это еще одна причина быть

очень внимательным при сворачивании таблицы, потому что нельзя полагаться на шаблон или математическую формулу для проверки работы.

Неразделимые правила в таблицах альтернатив. Иногда более чем одно правило может быть применено к транзакции. В таблице 8 показан расчет комиссий по кредитной карте. Есть три условия, при этом 0, 1, 2 или все три условия могут выполниться в одном месяце. Как эта ситуация влияет на тестирование? Это немного осложняет тестирование, но можно использовать методический подход и тестирование на основе рисков для того, чтобы избежать значительных затрат.

Таблица 8 Пример неразделимых правил


Условия

1

2

3

Иностранная валюта?

Y

-

-

Перевод средств?

-

Y

-

Просроченная оплата?

-

-

Y

Действия










Комиссия по иностранной валюте

Y

-

-

Комиссия за оплату

-

Y

-

Комиссия по просрочке

-

-

Y

Для начала нужно проверить таблицу альтернатив как обычную таблицу, по каждому правилу и удостовериться в том, что условия, которые не относятся к этому правилу, не тестируются. Это позволяет тестировать правила отдельно – как это приходится делать в ситуациях с разделимыми правилами. Далее нужно оценить тестирование комбинаций правил. Именно

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

тестов. Теперь в этом случае есть только 8 комбинаций 3 условия, 2 варианта значений для каждого условия, 2 в третьей степени равняется 8. Однако если имеется 6 условий по 5 вариантов значений для каждого, то комбинаций будет 15625.

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

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

Можно применить эквивалентное разбиение к вопросу «Как много интересующих с точки зрения тестирования случаев, когда счет не является действительным?» Как видно из рисунка 5, это может произойти в шести потенциально интересных случаях:

  • несоответствие номера карты и держателя;

  • несоответствие номера карты и даты истечения срока;

  • несоответствие номера карты и секретного кода;

  • два из перечисленных несоответствия (три варианта);

  • все три несоответствия.


Условия

9

Действительный счет?

N

Активный счет?

-

В пределах лимита?

-

Расположение ok?

-







Рисунок 5 – Эквивалентное разбиение и таблицы альтернатив Таким образом, для этого столбца может быть семь тестов.

Можно ли применить анализ граничных значений? Да, можно применить его к таблицам альтернатив, чтобы найти новые и интересные тесты. Например, «Как много интересующих тестовых значений относится к кредитному лимиту?»

Как видно из рисунка 6, эквивалентное разбиение и анализ граничных значений дают шесть случаев:

  • счет начинается с нулевого баланса;

  • баланс будет находиться в пределах нормы после транзакции;

  • баланс будет точно на границе лимита после транзакции;

  • баланс будет точно за границей лимита после транзакции;

  • баланс был точно на границе лимита до транзакции (что точно приведет к его превышению, если транзакция завершится);

  • баланс будет на максимальном значении овердрафта после транзакции (что может быть недопустимо).




ЭР

ЭР

Условия

1

2

3

5

6

7

Действительный счет?

Y

Y

Y

Y

Y

Y

Активный счет?

Y

Y

Y

N

N

N

В пределах лимита?

Y

Y

N

Y

Y

N

Расположение ok?

Y

N

-

Y

N

-



В пределах лимита
0

Лимит

Лимит превышен Лимит+0.01

max


Рисунок 6 Анализ граничных значений и таблицы альтернатив

Комбинируя все это с таблицей альтернатив, видим, что тестов на проверку условия «сверх лимита» будет больше, чем столбцов – на один. Иными словами, будет четыре теста на проверку «в пределах лимита» и три теста на проверку «сверх лимита». Это верно до тех пор, пока не потребуется убедиться, что каждый класс эквивалентности «в пределах лимита»

представлен в подтвержденной транзакции. В этом случае столбец 1 будет представлен не одним тестом, а тремя.

    1. Диаграммы причинно-следственных связей



При сворачивании таблицы альтернатив диаграмма причинно- следственных связей может помочь удостовериться в том, что случайно не свернуты столбцы, которые не должны были сворачиваться.
Процесс создания диаграммы причинно-следственных связей из таблицы альтернатив или наоборот достаточно простой. Для создания диаграммы из таблицы для начала нужно выписать все условия слева. Затем справа перечислить все действия. Теперь для каждого действия нужно определить, какие комбинации условий приводят к действию. Одно или несколько условий связываются с действием, используя булевы операторы, которые показаны на рис. 7. Затем необходимо повторить этот процесс для всех действий в таблице альтернатив.

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

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



Легенда


s




a. A ведет к B b. Не A ведет к B

c. A1 ИЛИ A2 ведет к B d. A1 И A2 ведет к B
Рисунок 7 – Пример диаграммы причинно-следственных связей

Если нужно построить таблицу альтернатив по диаграмме причинно- следственных связей, сначала нужно перечислить все условия в левой верхней части «чистой» таблицы. Затем перечислить все действия в левой нижней части таблицы, под условиями. Следуя приведенному выше шаблону, сгенерировать все возможные комбинации условий. Далее согласно диаграмме причинно-следственных связей, определить действия, которые должны быть выполнены и не выполнены для каждой комбинации условий. Когда все ячейки действий полностью заполнены, можно свернуть таблицу, если требуется.

На рис. 7 показана диаграмма причинно-следственных связей, соответствующая приведенной в разделе 4.3 (таблицы 6-7) таблице альтернатив. Может возникнуть вопрос: «Какой именно, полной или

свернутой?» Обеим. Полная и свернутая логически эквивалентны, если только при сворачивании не было допущено ошибки.
1   2   3   4   5   6   7   8   9   10   ...   15


написать администратору сайта