'
Научный журнал «Вестник науки»

Режим работы с 09:00 по 23:00

zhurnal@vestnik-nauki.com

Информационное письмо

  1. Главная
  2. Архив
  3. Вестник науки №6 (63) том 1
  4. Научная статья № 152

Просмотры  3027 просмотров

Шевчук В.И.

  


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

  


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

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


DOI 10.24412/2712-8849-2023-663-949-954

УДК 004

Шевчук В.И.

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

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

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

 

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

НА ОСНОВЕ ПЕРЕХОДА СОСТОЯНИЙ

 

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

 

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

 

Введение

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

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

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

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

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

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

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

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

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

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

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

 

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

Переход состояния

Входные данные

Выходные данные

Защитное условие

бездействие -> частичное

вставить купюру

показать количество внесенных денег

купюра подлинная

частичное -> частичное

вставить купюру

показать количество внесенных денег

купюра подлинная и общее количество < цена продукта

частичное -> готовность

вставить купюру

показать продукты

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

частичное -> бездействие

отмена

вернуть купюры

готовность -> готовность

вставить купюру

показать продукты

купюра подлинная

готовность -> выдача

выбрать продукт

выдать продукт

продукт доступен

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

готовность -> бездействие

отмена

вернуть монеты

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

  1. Тест кейс 1: бездействие -> частичное -> частичное -> готовность -> выдача -> бездействие
  • Входные данные: вставить 2 рубля, вставить 1 рубль, переход к списку продуктов, выбрать продукт
  • Выходные данные: отобразить 2 рубля, отобразить 3 рубля, отобразить продукты, выдать продукт
  1. Тест кейс 2: бездействие -> частичное -> бездействие
  • Входные данные: вставить 5 рублей, отменить
  • Выходные данные: отобразить что купюра не подлинная, возврат 5 рублей
  1. Тест кейс 3: бездействие -> частичное -> готовность -> готовность -> бездействие
  • Входные данные: вставить 2 рубля, вставить 1 рубль, переход к списку продуктов, отменить
  • Выходные данные: отобразить 2 рубля, отобразить 3 рубля, отобразить продукты, вернуть 3 рубля

Заключение

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

 

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

 

  1. Veenendaal E., Александров А. RSTQB. Стандартный глоссарий терминов, используемых в тестировании программного обеспечения. – 2014. – 60 с.
  2. Назина О. Тест-дизайн. Практическое руководство для начинающих. – BHV-CПб, 2023. С. 490-498
  3. pro, "State transition testing". [Электронный ресурс]. – Режим доступа: URL: https://isolution.pro/ru/t/software-testing-dictionary/state-transition/testirovanie-perehoda-sostoanij. (27.05.2023)
  4. Бейзер Б. Тестирование черного ящика. Технологии функционального тестирования программного обеспечения и систем. – СПб.: Питер, 2004. – 58 с. 
  


Полная версия статьи PDF

Номер журнала Вестник науки №6 (63) том 1

  


Ссылка для цитирования:

Шевчук В.И. ТЕСТИРОВАНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ НА ОСНОВЕ ПЕРЕХОДА СОСТОЯНИЙ // Вестник науки №6 (63) том 1. С. 949 - 954. 2023 г. ISSN 2712-8849 // Электронный ресурс: https://www.вестник-науки.рф/article/8701 (дата обращения: 19.05.2024 г.)


Альтернативная ссылка латинскими символами: vestnik-nauki.com/article/8701



Нашли грубую ошибку (плагиат, фальсифицированные данные или иные нарушения научно-издательской этики) ?
- напишите письмо в редакцию журнала: zhurnal@vestnik-nauki.com


Вестник науки СМИ ЭЛ № ФС 77 - 84401 © 2023.    16+




* В выпусках журнала могут упоминаться организации (Meta, Facebook, Instagram) в отношении которых судом принято вступившее в законную силу решение о ликвидации или запрете деятельности по основаниям, предусмотренным Федеральным законом от 25 июля 2002 года № 114-ФЗ 'О противодействии экстремистской деятельности' (далее - Федеральный закон 'О противодействии экстремистской деятельности'), или об организации, включенной в опубликованный единый федеральный список организаций, в том числе иностранных и международных организаций, признанных в соответствии с законодательством Российской Федерации террористическими, без указания на то, что соответствующее общественное объединение или иная организация ликвидированы или их деятельность запрещена.