RUS  ENG
Полная версия
ЖУРНАЛЫ // Труды института системного программирования РАН // Архив

Труды ИСП РАН, 2024, том 36, выпуск 2, страницы 59–72 (Mi tisp873)

On the automated unit tests generation for Java applications using spring framework

[Об автоматической генерации модульных тестов для Java-приложений, использующих фреймворк Spring]

K. A. Shishin, I. V. Muravev, E. K. Kulikov

Saint Petersburg State University

Аннотация: Данная работа посвящена автоматической генерации модульных тестов для приложений на языке Java, использующих фреймворк Spring. Хотя в последние десятилетия было создано несколько инструментов автоматической генерации тестов для «чистой» Java, специфические особенности этого фреймворка, как правило, не принимались во внимание. Тем не менее, Spring используется при разработке многих промышленных приложений на Java. Использование фреймворка в приложении, для которого необходимо сгенерировать тесты, накладывает дополнительные требования не только к используемым методам анализа кода, но и к виду предлагаемых тестов. Главным источником информации о типах и свойствах объектов в Spring-приложении является его контекст. В данной работе предлагается механизм анализа контекста приложения, который в некоторых случаях позволяет генерировать тестовые сценарии, соответствующие реальному исполнению программы, избегая избыточного мокирования. При этом полная инициализация контекста приложения в процессе анализа не происходит, что делает генерацию тестов безопасной для пользовательских данных. Предложенный инструмент анализа контекста Spring приложения был интегрирован в инструмент автоматической генерации тестов UnitTestBot Java. В заключение приводятся примеры тестов, сгенерированных для некоторых проектов с открытым исходным кодом.

Ключевые слова: Тестирование программного обеспечения, автоматическая генерация модульных тестов, фреймворк Spring, мокирование, UnitTestBot Java.

Язык публикации: английский

DOI: 10.15514/ISPRAS-2024-36(2)-5



© МИАН, 2024