Детальная информация
| Название | Автоматизация разработки тестовых наборов на базе средств статического анализа кода: выпускная квалификационная работа бакалавра: направление 02.03.02 «Фундаментальная информатика и информационные технологии» ; образовательная программа 02.03.02_02 «Информатика и компьютерные науки» = Automating the development of test suites based on static code analysis tools |
|---|---|
| Авторы | Сиобко Борис Анатольевич |
| Научный руководитель | Самочадина Татьяна Николаевна |
| Организация | Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности |
| Выходные сведения | Санкт-Петербург, 2026 |
| Коллекция | Выпускные квалификационные работы ; Общая коллекция |
| Тематика | статический анализ кода ; Swift ; SwiftLint ; SwiftSyntax ; XCUITest ; GitLab Code Quality ; CI/CD ; автоматизированное тестирование ; код-ревью ; static code analyses ; automated testing ; code review |
| Тип документа | Выпускная квалификационная работа бакалавра |
| Язык | Русский |
| Уровень высшего образования | Бакалавриат |
| Код специальности ФГОС | 02.03.02 |
| Группа специальностей ФГОС | 020000 - Компьютерные и информационные науки |
| DOI | 10.18720/SPBPU/3/2026/vr/vr26-2594 |
| Права доступа | Доступ по паролю из сети Интернет (чтение) |
| Дополнительно | Новинка |
| Ключ записи | ru\spstu\vkr\42765 |
| Дата создания записи | 21.08.2026 |
Разрешенные действия
–
Действие 'Прочитать' будет возможно после подготовки администраторами необходимых файлов
| Группа | Анонимные пользователи |
|---|---|
| Сеть | Интернет |
Данная работа посвящена автоматизации контроля качества кода автома-тизированных UI-тестов для мобильного приложения на платформе iOS. Це-лью работы является снижение трудоёмкости проверки кода iOS-тестов за счёт разработки и внедрения средства статического анализа, объединяющего возможности SwiftLint, проектно-специфичные проверки на основе SwiftSyntax и формирование отчёта в формате GitLab Code Quality. В ходе работы были проанализированы существующие инструменты статического анализа, применимые к Swift/iOS-проектам: SwiftLint, swift-format, Semgrep, CodeQL и Periphery. На основании сравнения в качестве ба-зового инструмента был выбран SwiftLint. Для реализации проверок, требу-ющих анализа структуры Swift-кода, была использована библиотека SwiftSyntax. В результате было разработано средство статического анализа, выпол-няющее стандартные и пользовательские правила SwiftLint, а также дополни-тельные проектно-специфичные проверки. Инструмент позволяет выявлять нарушения структуры тестовых классов, использование нежелательных кон-струкций и ошибки, связанные с заданием идентификаторов пользовательского интерфейса. Результаты анализа публикуются в CI/CD в формате GitLab Code Quality. По результатам применения решения 95% сотрудников отметили поло-жительный эффект от внедрения линтера. Разработанный инструмент позво-лил перенести часть формальных замечаний из ручного ревью в автоматизи-рованную проверку и снизить нагрузку на дежурных по автоматизации тести-рования. В работе использованы Swift, XCTest, XCUITest, SwiftLint, SwiftSyntax, ArgumentParser, PathKit, Yams, CryptoKit, JSON, Git, GitLab, GitLab CI, TeamCity и Xcode.
The work is devoted to automating quality control of automated UI test code for a mobile application on the iOS platform. The purpose of the work is to reduce the labor intensity of iOS test code review by developing and integrating a static analysis tool that combines SwiftLint capabilities, project-specific checks based on SwiftSyntax, and report generation in the GitLab Code Quality format. During the work, existing static analysis tools applicable to Swift/iOS pro-jects were reviewed: SwiftLint, swift-format, Semgrep, CodeQL, and Periphery. Based on the comparison, SwiftLint was selected as the basic tool. SwiftSyntax was used to implement checks that require analysis of the Swift code structure. As a result, a static analysis tool was developed. It performs standard and custom SwiftLint rules, as well as additional project-specific checks. The tool de-tects violations of test class structure, undesirable constructions, and issues related to user interface identifiers. The analysis results are published in CI/CD in the GitLab Code Quality format. According to the results of applying the solution, 95% of employees noted a positive effect from the introduction of the linter. The developed tool made it pos-sible to transfer part of the formal review comments from manual review to au-tomated verification and reduce the workload of test automation duty engineers. The work uses Swift, XCTest, XCUITest, SwiftLint, SwiftSyntax, Argu-mentParser, PathKit, Yams, CryptoKit, JSON, Git, GitLab, GitLab CI, TeamCity, and Xcode.
| Место доступа | Группа пользователей | Действие |
|---|---|---|
| Локальная сеть ИБК СПбПУ | Все |
|
| Интернет | Авторизованные пользователи СПбПУ |
|
| Интернет | Анонимные пользователи |
|