Главная страница
Навигация по странице:

  • Сплошные линии с

  • Пунктирные линии с

  • Штрихпунктирные

  • Тестирование

  • Согласно

  • Стрелка в виде петли

  • «Добавить

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


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

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


    1. Простая причинно-следственная связь: если А истина, то произойдет B, или, другими словами, А ведет к B.

    2. Отрицание: если А не истина, то произойдет B, или, другими словами, не А ведет к B.

    3. Операция ИЛИ: если А1 или А2 истина, то произойдет B, или, другими словами, А1 или А2 ведет к B.

    4. Операция И: если А1 и А2 одновременно истина, то произойдет B, или, другими словами, А1 и А2 ведут к B.

    Рассмотрим связи между условиями и действиями. Сплошные линии с оператором И показывают, что все четыре условия должны быть удовлетворены, чтобы транзакция была подтверждена. Пунктирные линии с отрицанием и оператором ИЛИ показывают, что если счет недействительный или счет не активный, нужно связаться с эмитентом.

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

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


      1. Тестирование на основе состояний и диаграммы переходов состояний

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

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

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

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

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

    применяться к диаграммам переходов состояний. Более жесткий критерий покрытия – когда каждая строка в таблице переходов состояний покрыта как минимум одним тестом.

    Еще один потенциально более жесткий критерий покрытия требует, чтобы каждая последовательность переходов длины N и меньше была покрыта как минимум одним тестом. N может быть равно 1, 2, 3, 4 и больше. Это называется «Покрытием переходов Чау» (“Chow’s switch coverage”), по имени профессора Чау, разработавшим методику, или «Покрытием N-1 переходов» - по достигнутому уровню покрытия. Если покрыть все переходы единичной длины, тогда «Покрытие N-1 переходов» означает

    «покрытие 0 переходов». Следует заметить, что это тоже нижний уровень покрытия, который рассматривался выше. Если покрыть все переходы длины 1 и 2, тогда «Покрытие N-1 переходов» означает «покрытие 1 перехода». Это, естественно, более высокий уровень покрытия по сравнению с нижним.

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

    Какова же гипотеза ошибки при тестировании на основе состояний? Нужно искать ситуации, в которых происходят неверные действия или переходы в неверные состояния в ответ на конкретное событие при заданном наборе условий, основанных на истории комбинаций событий/условий до текущего момента.

    Согласно глоссарию ISTQB, тестирование переходов состояний (state transition testing) – это разработка тестов методом черного ящика, в котором сценарии тестирования строятся на основе выполнения корректных и некорректных переходов состояний.

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


    Рисунок 8 – Пример диаграммы переходов состояний

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

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

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

    Альтернативно, покупатель может выбрать оформление покупки. В этом случае он входит в состояние авторизации. Он вводит регистрационную информацию. К этой информации применимо условие: верна ли регистрационная информация. Если не верна, то система отображает ошибку, и пользователь остается в состоянии авторизации. Если верна, то система отображает первую страницу в диалоге оплаты. Заметим, что
    1   ...   4   5   6   7   8   9   10   11   ...   15


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