Научная статья на тему 'ТЕСТИРОВАНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ НА ОСНОВЕ ПЕРЕХОДА СОСТОЯНИЙ'

ТЕСТИРОВАНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ НА ОСНОВЕ ПЕРЕХОДА СОСТОЯНИЙ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
232
33
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ТЕСТИРОВАНИЕ / ПЕРЕХОД СОСТОЯНИЙ / ДИАГРАММА / ВХОДНЫЕ ДАННЫЕ / ВЫХОДНЫЕ ДАННЫЕ / ТЕСТИРОВАНИЕ ЧЕРНОГО ЯЩИКА / ПРОЕКТИРОВАНИЕ ТЕСТОВ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Шевчук В.И.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

SOFTWARE TESTING BASED ON STATE TRANSITION

The purpose of this article is to consider one of the methods of software test design - the state transition method. This method is based on using a diagram to represent the states and transitions of a software component and allows to check its behavior with different input and output data. The article describes the process of practical application of the state transition method on the example of testing a function that controls a vending machine. At the end, there are conclusions about advantages and disadvantages of this method for test design

Текст научной работы на тему «ТЕСТИРОВАНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ НА ОСНОВЕ ПЕРЕХОДА СОСТОЯНИЙ»

УДК 004

Шевчук В.И.

инженер по контролю качества программного обеспечения,

Международная компания-разработчик программного обеспечения

«Yucca Digital» (г. Витебск, Беларусь)

ТЕСТИРОВАНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ НА ОСНОВЕ ПЕРЕХОДА СОСТОЯНИЙ

Аннотация: целью данной статье является рассмотреть один из методов проектирования тестов для программного обеспечения - метод перехода состояний. Этот метод основан на использовании диаграммы для представления состояний и переходов программного компонента и позволяет проверить его поведение при различных входных и выходных данных. В статье описывается процесс практического применения метода перехода состояний на примере тестирования функции, управляющей торговым автоматом. В завершение делаются выводы о преимуществах и недостатках данного метода при проектировании тестов.

Ключевые слова: тестирование, переход состояний, диаграмма, входные данные, выходные данные, тестирование черного ящика, проектирование тестов.

Введение

Тестирование программного обеспечения является неотъемлемой частью разработки программного обеспечения (ПО). Оно помогает убедиться в том, что ПО соответствует требованиям, а также обнаруживает дефекты и ошибки, повышает качество и надежность. Эта непростая задача, требует тщательного планирования, разработки, выполнения и оценки тестов. Проектирование тестов - важнейший шаг в тестировании программного обеспечения. Он определяет, что тестировать, как это тестировать и может оказать значительное влияние на стоимость, время и качество тестирования ПО.

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

В данной статье рассмотрим один из методов, основанный на спецификациях и применяемый при тестировании программного обеспечения -метод перехода состояний [1, с. 60].

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

Тестирование с помощью перехода состояний - это метод, который использует диаграмму для представления состояний и переходов программного компонента [2, с. 490]. Диаграмма перехода состояний состоит из узлов, называемых состояниями (условиями или ситуациями), и ребер, называемых переходами (событиями или действиями) (рис. 1).

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

Каждый переход имеет вход (триггер), выход (отклик) и, необязательно, защитное условие (ограничение). Диаграмма перехода состояний показывает, как программный компонент ведет себя при различных входных и выходных данных [3].

Чтобы применить тестирование перехода состояний, необходимо идентифицировать состояния и переходы программного компонента. Нарисовать диаграмму перехода состояний с узлами в качестве состояний и ребрами в качестве переходов. Обозначить каждый переход входными, выходными данными [1, с. 58] и, опционально, защитным условием. Затем использовать каждый путь или цикл на диаграмме в качестве тестового примера, предоставляя значения для входных данных и проверяя выходные данные.

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

Рис. 2. Диаграмма перехода состояний

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

Таблица 1. Переходы состояний

Переход состояния Входные данные Выходные данные Защитное условие

бездействие -> частичное вставить купюру показать количество внесенных денег купюра подлинная

частичное -> частичное вставить купюру показать количество внесенных денег купюра подлинная и общее количество < цена продукта

частичное -> готовность вставить купюру показать продукты купюра подлинная и общее количество >= цена продукта

частичное -> бездействие отмена вернуть купюры —

готовность -> готовность вставить купюру показать продукты купюра подлинная

готовность -> выдача выбрать продукт выдать продукт продукт доступен

выдача -> бездействие — — —

готовность -> бездействие отмена вернуть монеты —

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

a) Тест кейс 1: бездействие -> частичное -> частичное -> готовность -> выдача -> бездействие

• Входные данные: вставить 2 рубля, вставить 1 рубль, переход к списку продуктов, выбрать продукт

• Выходные данные: отобразить 2 рубля, отобразить 3 рубля, отобразить продукты, выдать продукт

b) Тест кейс 2: бездействие -> частичное -> бездействие

• Входные данные: вставить 5 рублей, отменить

• Выходные данные: отобразить что купюра не подлинная, возврат 5

рублей

^ Тест кейс 3: бездействие -> частичное -> готовность -> готовность -> бездействие

• Входные данные: вставить 2 рубля, вставить 1 рубль, переход к списку продуктов, отменить

• Выходные данные: отобразить 2 рубля, отобразить 3 рубля, отобразить продукты, вернуть 3 рубля

Заключение

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

СПИСОК ЛИТЕРАТУРЫ:

1. Veenendaal E., Александров А. RSTQB. Стандартный глоссарий терминов, используемых в тестировании программного обеспечения. - 2014. - 60 с.

2. Назина О. Тест-дизайн. Практическое руководство для начинающих.

- BHV-СПб, 2023. С. 490-498

3. Isolution.pro, "State transition testing". [Электронный ресурс]. - Режим доступа: URL: https: //isolution. pro/ru/t/software-testing-dictionary/state-transition/testirovanie-perehoda-sostoanij. (27.05.2023)

4. Бейзер Б. Тестирование черного ящика. Технологии функционального тестирования программного обеспечения и систем. - СПб.: Питер, 2004. - 58 с.

Shauchuk V.I.

software quality assurance engineer, International software company «Yucca Digital», (Vitebsk, Belarus)

SOFTWARE TESTING BASED ON STATE TRANSITION

Abstract: the purpose of this article is to consider one of the methods of software test design

- the state transition method. This method is based on using a diagram to represent the states and transitions of a software component and allows to check its behavior with different input and output data. The article describes the process of practical application of the state transition method on the example of testing a function that controls a vending machine. At the end, there are conclusions about advantages and disadvantages of this method for test design.

Keywords: testing, state transition, diagram, input data, output data, black box testing, test

design.

i Надоели баннеры? Вы всегда можете отключить рекламу.