Аннотация 3
Введение 5
1.Изучение предметной области разработки приложения для автоматизированного тестирования на языке Kotlin 7
1.1 Анализ предметной области 7
1.1.1 Уровни автоматизированного тестирования 10
1.2 Обзор существующих библиотек для тестирования 12
1.3 Обзор платформ для создания отчетов о выполнении тестов 15
2. Проектирование приложения для автоматизированных тестов 20
2.1 Постановка задачи разработки приложения для автоматизированного тестирования 20
2.2 Выбор инструментов для разработки 22
3. Реализация приложения для тестирования 24
3.1 Разработка ядра Corounit-engine 24
3.2 Разработка ядра Corounit-allure 29
3.3 Разработка обертки kbdd для написания тестов на базе Corounit 30
4. Тестирование приложения 33
4.1 Тестирования ядра Corounit 33
4.2 Тестирование обертки kbdd 34
Заключение 35
Список использованных источников 37
Приложение А 39
Приложение Б 40
Приложение В 41
Рынок разработки продукта для бизнеса (enterprise разработка) - одна из самых крупных отраслей в сфере информационных технологий. Автоматизация тестирования на этом рынке имеет довольно долгую историю и представляет собой большую область для исследований и оптимизации. Исходя из этого целью данной работы является создание удобного и надежного инструмента для написания и поддержания автоматизированных тестов в крупных проектах. Для достижения поставленной цели были определены следующие задачи:
1. Проанализировать существующие инструменты для разработки автоматизированных тестов;
2. Спроектировать программный продукт и выбрать инструменты для разработки;
3. Портировать Java аннотации в Kotlin;
4. Интегрировать платформу для создания визуализированной отчетности на основе результатов тестов в приложение;
5. Добавить возможности использования инструментов многопоточности;
6.Создать обертки для написания и внедрения автоматизированного тестирования;
7. Протестировать разработанный программный продукт.
Разработка на языке Kotlin довольно молодое направление, прежде всего обусловленное доминированием на рынке языка Java.
1. Электронный фонд правовых и нормативно-технических документов, ГОСТ 34.601-90 / [Электронный ресурс]. – Режим доступа: https://docs.cntd.ru/document/1200006921 – Загл. с экрана. – (дата обращения: 22.10.2020)
2. Автоматизированное тестирование / [Электронный ресурс]. – Режим доступа: https://ru.wikipedia.org/wiki/%D0%90%D0%B2%D1%82%D0%BE%D0%BC% D0%B0%D1%82%D0%B8%D0%B7%D0%B8%D1%80%D0%BE%D0%B2%D 0%B0%D0%BD%D0%BD%D0%BE%D0%B5_%D1%82%D0%B5%D1%81%D 1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0
%B5 (дата обращения: 07.11.2020)
3. 3 уровня автоматизации тестирования [Электронный ресурс]. – Режим доступа:
https://testmatick.com/ru/kompanii-po-avtomatizirovannomu-testirovaniyu-3-urov nya-avtomatizatsii/ (дата обращения 21.11.2020)
4. Введение в BDD [Электронный ресурс]. – Режим доступа : http://agilerussia.ru/practices/introducing-bdd/ (дата обращения: 23.12.2020)
5. Behavior-driven development [Электронный ресурс]. – Режим доступа : https://en.wikipedia.org/wiki/Behavior-driven_development (дата обращения 24.12.2021)
6. Язык программирования Kotlin / [Электронный ресурс]. – Режим доступа: https://www.osp.ru/os/2011/09/13011550 (дата обращения: 15.01.2021)
7. Software Engineering — Guide to the software engineering body of knowledge (SWEBOK) / [Электронный ресурс]. – Режим доступа: http://profs.etsmtl.ca/claporte/English/Enseignement/CMU_SQA/Lectures/Corpus/ SWEBOK_ISO_IEC_TR_19759_2005(E).pdf (дата обращения: 01.11.2020)
8. Test Phases - IBM Documentation / [Электронный ресурс]. – Режим доступа: https://www.ibm.com/docs/en/rtw/9.0.1?topic=methodology-test-phases (дата обращения 03.11.2020)
9. Kotest documentation / [Электронный ресурс]. – Режим доступа: https://kotest.io/ (дата обращения 02.12.2020)
10. Kotlinx-lincheck documentation / [Электронный ресурс]. – Режим доступа: https://github.com/Kotlin/kotlinx-lincheck (дата обращения 07.12.2020)
11. Allure Framework documentation / [Электронный ресурс]. – Режим доступа: https://github.com/allure-framework/allure-docs (дата обращения 14.12.2020)
12. ExtentReports & Klov Docs / [Электронный ресурс]. – Режим доступа: https://www.extentreports.com/documentation-2/ (дата обращения 22.12.2020)
13. Gradle / [Электронный ресурс]. – Режим доступа: https://en.wikipedia.org/wiki/Gradle (дата обращения 27.01.2021)
14. AsciiDoc documentation / [Электронный ресурс]. – Режим доступа: https://asciidoc.org/ (дата обращения 28.01.2021)
15. Kotlin documentation / [Электронный ресурс]. – Режим доступа: https://kotlinlang.org/docs/home.html (дата обращения 14.02.2021)
16. JUnit5 User Guide / [Электронный ресурс]. – Режим доступа: https://junit.org/junit5/docs/current/user-guide/ (дата обращения 01.03.2021)
17. @Before vs @BeforeClass vs @BeforeEach vs @BeforeAll / [Электронный ресурс]. – Режим доступа: https://www.baeldung.com/junit-before-beforeclass-beforeeach-beforeall (дата обращения 23.03.2021)
18. Allure documentation / [Электронный ресурс]. – Режим доступа: https://docs.qameta.io/allure/ (дата обращения 25.03.2021)
19. How to begin with KotlinTest / [Электронный ресурс]. – Режим доступа: https://medium.com/@herve.darritchon/how-to-begin-with-kotlintest-1bc0459061 08 (дата обращения 26.03.2021)
20. WireMock documentation / [Электронный ресурс]. – Режим доступа: http://wiremock.org/docs/ (дата обращения 27.03.2021)