Details

Title Автоматизация разработки тестовых наборов на базе средств статического анализа кода: выпускная квалификационная работа бакалавра: направление 02.03.02 «Фундаментальная информатика и информационные технологии» ; образовательная программа 02.03.02_02 «Информатика и компьютерные науки» = Automating the development of test suites based on static code analysis tools
Creators Сиобко Борис Анатольевич
Scientific adviser Самочадина Татьяна Николаевна
Organization Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности
Imprint Санкт-Петербург, 2026
Collection Выпускные квалификационные работы ; Общая коллекция
Subjects статический анализ кода ; Swift ; SwiftLint ; SwiftSyntax ; XCUITest ; GitLab Code Quality ; CI/CD ; автоматизированное тестирование ; код-ревью ; static code analyses ; automated testing ; code review
Document type Bachelor graduation qualification work
Language Russian
Level of education Bachelor
Speciality code (FGOS) 02.03.02
Speciality group (FGOS) 020000 - Компьютерные и информационные науки
DOI 10.18720/SPBPU/3/2026/vr/vr26-2594
Rights Доступ по паролю из сети Интернет (чтение)
Additionally New arrival
Record key ru\spstu\vkr\42765
Record create date 8/21/2026

Allowed Actions

Action 'Read' will be available if administrator prepare required files

Group Anonymous
Network Internet

Данная работа посвящена автоматизации контроля качества кода автома-тизированных 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.

Network User group Action
ILC SPbPU Local Network All
Internet Authorized users SPbPU
Internet Anonymous
...