Software testing lectures

МСня Π·ΠΎΠ²ΡƒΡ‚ ВсСволод Π‘Ρ€Π΅ΠΊΠ΅Π»ΠΎΠ².

Twitter: https://twitter.com/brekelov

Π― ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠ» Π»Π΅ΠΊΡ†ΠΈΠΈ Π² ИВМО ΠΏΠΎ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΌΡƒ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ.

ВсС Π²ΠΈΠ΄Π΅ΠΎ записи, домашниС задания, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ здСсь.

ЗанятиС 1. ΠžΡΠ½ΠΎΠ²Ρ‹ Ρ‚Π΅ΠΎΡ€ΠΈΠΈ.

Π”ΠΎΠΌΠ°ΡˆΠ½Π΅Π΅ Ρ‡Ρ‚ΠΈΠ²ΠΎ:

Π”ΠΎΠΌΠ°ΡˆΠ½Π΅Π΅ Π²ΠΈΠ΄Π΅ΠΎ (Π½Π΅ Ρ‚ΠΎ, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π²Ρ‹ ΠΏΠΎΠ΄ΡƒΠΌΠ°Π»ΠΈ):

ΠŸΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ссылки:

Telegram-ΠΊΠ°Π½Π°Π»Ρ‹:

  • @selenide_ru (Selenide Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°)

  • @qa_load (Π§Π°Ρ‚ пСрфоманс тСстировщиков)

  • @heisenbugconf (Π§Π°Ρ‚ ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ ΠΏΠΎ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Heisenbug)

  • @allure_ru (Π§Π°Ρ‚ Allure Ρ€Π΅ΠΏΠΎΡ€Ρ‚ΠΈΠ½Π³ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°)

  • @aerokube (Π§Π°Ρ‚ рСбят ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Aerokube, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅Π»Π°ΡŽΡ‚ Selenoid ΠΈ Moon)

Youtube:

ЗанятиС 2. ВСстированиС Frontend.

Youtube:

Notes: Looks like Angular is dying and that's why Protractor probably won't be used much in a long term. So use this video for understanding main principles and how you can handle jasmine, karma and mocking.

Π”ΠΎΠΌΠ°ΡˆΠ½Π΅Π΅ Π·Π°Π΄Π°Π½ΠΈΠ΅

Main Ρ‡Π°ΡΡ‚ΡŒ:

  • Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½Π° GitHub, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠ°ΠΏΠΊΡƒ client

  • Π’ ΠΏΠ°ΠΏΠΊΠ΅ client ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° React / Angular / Vue Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ΅ Π½Π° ваш Π²Ρ‹Π±ΠΎΡ€. Π£ ΠΊΠΎΠ³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Π½ самый Ρ€Π΅Π΄ΠΊΠΈΠΉ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ -- ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π±Π°Π»Π»Ρ‹.

  • ВрСбования ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ: Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ нСсколько страниц с Ρ€ΠΎΡƒΡ‚ΠΈΠ½Π³ΠΎΠΌ, ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ сСрвис, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ общаСтся с node.js Π±Π΅ΠΊΠ΅Π½Π΄ΠΎΠΌ.

  • ΠŸΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ unit, component ΠΈ e2e тСсты Π² минимальном количСствС 1ΡˆΡ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ.

Advanced Ρ‡Π°ΡΡ‚ΡŒ:

  • ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ содСрТит Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΈ Π½Π΅ собрано ΠΈΠ· Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Π²ΠΈΠ΄Π° JHipster.

  • Написаны тСсты для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ

  • БущСствуСт нСскольно Π½Π°Π±ΠΎΡ€ΠΎΠ² тСстов (нСсколько suites)

Bonus Ρ‡Π°ΡΡ‚ΡŒ:

  • Π’Ρ‹ рассматриваСтС Π΄Π²Π° Π»ΡŽΠ±Ρ‹Ρ… Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Π½Π° Π²Ρ‹Π±ΠΎΡ€. НапримСр: Mocha ΠΈ Jest ΠΈΠ»ΠΈ Playwright ΠΈ Cypress.

  • ΠŸΠΈΡˆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ с ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ ΠΈΠ· Ρ„Ρ€Π΅ΠΉΠΌΠΎΠ²ΠΎΠΊΡ€ΠΎΠ² для своСго прилоТСния.

  • ΠšΠΎΡ€ΠΎΡ‚ΠΊΠ°Ρ ΡΡ‚Π°Ρ‚ΡŒΡ ΠΈΠ»ΠΈ Π·Π°ΠΌΠ΅Ρ‚ΠΊΠΈ Π² Ρ‡Π΅ΠΌ ΠΈΠΌΠ΅Π½Π½ΠΎ для вас каТутся основныС отличия.

  • Π”Π΅Π»Π°Π΅Ρ‚Π΅ Π² своСм Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Π½Π° GitHub Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ GitHub pages ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Π΅Ρ‚Π΅ эту ΡΡ‚Π°Ρ‚ΡŒΡŽ Ρ‚Π°ΠΌ.

Вопросы для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π·Π½Π°Π½ΠΈΠΉ:

  • Π—Π°Ρ‡Π΅ΠΌ e2e тСсты, Ссли ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½Ρ‹Π΅ тСсты? Π§Π΅ΠΌ отличаСтся e2e тСст ΠΎΡ‚ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½Ρ‹Ρ…?

  • ВСрминология describe it xit ΠΌΠ½Π΅ понятна ΠΈ я ΠΌΠΎΠ³Ρƒ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ Ρ‡Ρ‚ΠΎ это

  • Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ test runner?

  • ВСст зависит ΠΎΡ‚ запуска Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ тСста(ΠΆΠ΄Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ состояния систСмы). Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΉΡ‚ΠΈ Π½Π΅ Ρ‚Π°ΠΊ?

  • beforeTest(),afterTest() Π·Π°Ρ‡Π΅ΠΌ это?

  • КакиС Π±Ρ‹Π²Π°ΡŽΡ‚ assertion frameworks?

  • ΠŸΠΎΡ‡Π΅ΠΌΡƒ рСкомСндуСтся ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ e2e тСстов?

  • Бколько ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π² ΠΎΠ΄Π½ΠΎΠΌ ΡŽΠ½ΠΈΡ‚ тСстС?

  • Как Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ тСсты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚ΠΎ проходят, Ρ‚ΠΎ Π½Π΅ проходят? ΠŸΠΎΡ‡Π΅ΠΌΡƒ Ρ‚Π°ΠΊ Π±Ρ‹Π²Π°Π΅Ρ‚ ΠΈ Ρ‡Ρ‚ΠΎ с Π½ΠΈΠΌΠΈ Π΄Π΅Π»Π°Ρ‚ΡŒ?

ЗанятиС 3. ВСстированиС Frontend: e2e тСстированиС.

Π”ΠΎΠΌΠ°ΡˆΠ½Π΅Π΅ Π·Π°Π΄Π°Π½ΠΈΠ΅

Main Ρ‡Π°ΡΡ‚ΡŒ:

  • Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΉ части домашнСго задания Ρƒ вас ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ с ΡŽΠ½ΠΈΡ‚ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½Ρ‹ΠΌΠΈ тСстами. Π‘Π°ΠΌΠΎΠ΅ врСмя Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ e2e тСстами.

    НСобходимо Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 5 тСстов Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ²: Cypress ΠΈ Playwright.

Advanced Ρ‡Π°ΡΡ‚ΡŒ:

  • Π Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Cypress ΠΈ Playwright Π΄Π΅Π»Π°Ρ‚ΡŒ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΡŽ Π² вашСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ тСст Π½Π΅ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΠ» Ρ„ΠΎΡ€ΠΌΡƒ Π»ΠΎΠ³ΠΈΠ½Π°(Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ).

Bonus Ρ‡Π°ΡΡ‚ΡŒ:

  • ΠΠ°ΠΏΠΈΡΠ°Ρ‚ΡŒ e2e тСсты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅Π»Π°ΡŽΡ‚ ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚ тСстированиС ΠΈ запись Π²ΠΈΠ΄Π΅ΠΎ. Найти Π΄Π΅Ρ„Π΅ΠΊΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²ΠΈΠ΄Π΅ΠΎ ΠΈΠ»ΠΈ ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚ тСста, Π½ΠΎ ΠΏΡ€ΠΈ этом Π½Π°ΠΉΡ‚ΠΈ ΠΈΡ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡŽΠ½ΠΈΡ‚ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½Ρ‹Ρ… тСстов Π½Π΅ Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½ΠΎ.

  • По Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΡΡ‚Π°Ρ‚ΡŒΡŽ Π² ваш Π±Π»ΠΎΠ³(Π±Π»ΠΎΠ³ Π½Π° github pages, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Π΄Π΅Π»Π°Π»ΠΈ Π² 1 Π΄Π·)

ЗанятиС 4. ВСстированиС Backend. Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅.

Бсылки HowToDo(Π³Π°ΠΉΠ΄Ρ‹)

Бсылки для ознакомлСния

ЗанятиС 5. ВСстированиС Backend. Unit testing. Component testing.

Бсылки

Π”ΠΎΠΌΠ°ΡˆΠ½Π΅Π΅ Π·Π°Π΄Π°Π½ΠΈΠ΅ Main Ρ‡Π°ΡΡ‚ΡŒ: Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ сСрвис Π½Π° Java+Spring+любая DB, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ 1 Controller. ΠΠ°ΠΏΠΈΡΠ°Ρ‚ΡŒ Unit ΠΈ Component тСсты для этого сСрвиса. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ TestContainers для ΠΎΠ΄Π½ΠΎΠ³ΠΎ тСста с DB. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Mockito для мокирования тСстов с внСшним сСрвисом. ΠΠ°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ(README) ΠΊΠ°ΠΊΠΈΠ΅ тСсты Π΅Ρ‰Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ, Π½ΠΎ Π²Ρ‹ Π½Π΅ успСли.

Advanced Ρ‡Π°ΡΡ‚ΡŒ: Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ взаимодСйствиС сСрвиса ΠΈ вашСго Frontend прилоТСния. Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ тСсты Π½Π° Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΡŽ. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Spring Test Configruation, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„Π»Π°Π³Π° ΠΏΡ€ΠΈ запускС тСстов. Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΡŽ тСстовой Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Ρ‡Π΅Ρ€Π΅Π· Asci Doctor(Spring Rest Docs).

Bonus Ρ‡Π°ΡΡ‚ΡŒ:

ΠŸΡ€ΠΈΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ/стримы Π²ΠΈΠ΄Π° RabbitMQ/Kafka streams. ΠΠ°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½Ρ‹Π΅ тСсты Π½Π° эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ(ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ TestContainers).

{#java #spring #springboot #springboottest #testcontainers #testng #junit5}

Вопросы для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π·Π½Π°Π½ΠΈΠΉ:

  • Π—Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ΅Π½ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Config для тСстов?

  • Как ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Suite для запуска Ρ€Π°Π·Π½Ρ‹Ρ… тСстов?

  • МоТно Π»ΠΈ Π² тСстС ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π· Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π½Π΅ΠΉ(Π½Π΅ подымая саму Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… для тСста ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ Π² ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ)?

  • Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ тСст с JUnit?

  • Π•ΡΡ‚ΡŒ Π»ΠΈ hamcrest Π² JUnit 5?

  • ΠŸΠΎΡ‡Π΅ΠΌΡƒ JUnit 5 Π»ΡƒΡ‡ΡˆΠ΅ TestNG? (ΠΈΠ»ΠΈ Π½Π΅Ρ‚? =)

ЗанятиС 6. CI/CD. GitHub actions. Azure.

Бсылки

Π”ΠΎΠΌΠ°ΡˆΠ½Π΅Π΅ Π·Π°Π΄Π°Π½ΠΈΠ΅ Main Ρ‡Π°ΡΡ‚ΡŒ:

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ GitHub action для запуска тСстов Π½Π° UI ΠΈ Backend ΠΏΠΎ ΠΏΡƒΡˆΡƒ ΠΈΠ· Π² master Π²Π΅Ρ‚ΠΊΡƒ.

Advanced Ρ‡Π°ΡΡ‚ΡŒ:

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ GitHub action для дСплоя прилоТСния UI+BE Π½Π° Azure/Vercel/ЯндСкс Облако.

Bonus Ρ‡Π°ΡΡ‚ΡŒ:

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Kubernetes Π² Azure/ЯндСкс ОблакС для разворачивания срСды.

{#githubActions #cicd #azure #cloud}

Вопросы для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π·Π½Π°Π½ΠΈΠΉ:

  • Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ CI/CD?

  • МоТно Π»ΠΈ Π±Π΅Π· Docker Π·Π°Π΄Π΅ΠΏΠ»ΠΎΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅?

  • КакиС основныС шаги ΠΏΡ€ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² CI ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½Π΅ для UI/BE?

  • МоТно Π»ΠΈ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π΄Π΅ΠΏΠ»ΠΎΠΉΠΌΠ΅Π½Ρ‚ Π½Π° ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎΠΆΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ· Ρ€Π°Π·Π½Ρ‹Ρ… Π²Π΅Ρ‚ΠΎΠΊ?

  • Π—Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π΄Π΅ΠΏΠ»ΠΎΠΈΡ‚ΡŒ ΠΏΠΎ ΠΊΠΎΠΌΠΈΡ‚Ρƒ/ΠΏΡƒΡˆΡƒ Π² мастСр?

ЗанятиС 7. Reporting. BDD.

Бсылки

Π”ΠΎΠΌΠ°ΡˆΠ½Π΅Π΅ Π·Π°Π΄Π°Π½ΠΈΠ΅

Bonus Ρ‡Π°ΡΡ‚ΡŒ:

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Allure reporting для написанных тСстов.

{#reporting #bdd #allure}

ЗанятиС 8. Contract tests. Pact. Spring cloud contract.

Бсылки

Π”ΠΎΠΌΠ°ΡˆΠ½Π΅Π΅ Π·Π°Π΄Π°Π½ΠΈΠ΅

Bonus Ρ‡Π°ΡΡ‚ΡŒ:

ΠΠ°ΠΏΠΈΡΠ°Ρ‚ΡŒ Pact-тСсты ΠΊ своСму сСрвису.

{#contract-tests #pact #swagger}

ЗанятиС 9. A11Y. Instruments.

Бсылки

Π”ΠΎΠΌΠ°ΡˆΠ½Π΅Π΅ Π·Π°Π΄Π°Π½ΠΈΠ΅

Bonus Ρ‡Π°ΡΡ‚ΡŒ:

ΠŸΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свой Π²Π΅Π±-сайт Π½Π° Π°11y с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ инструмСнтов ΠΎΡ‚ Mozilla ΠΈ Lighthouse. ΠŸΠΎΡ„ΠΈΠΊΡΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ автоматичСский тСст с axe.

{#a11y}

ЗанятиС 10. Selenium. Selenide. Selenoid.

Бсылки

Π”ΠΎΠΌΠ°ΡˆΠ½Π΅Π΅ Π·Π°Π΄Π°Π½ΠΈΠ΅

Main Ρ‡Π°ΡΡ‚ΡŒ:

  • ΠΠ°ΠΏΠΈΡΠ°Ρ‚ΡŒ e2e тСсты, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Selenide.

Advanced Ρ‡Π°ΡΡ‚ΡŒ:

  • ΠΠ°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ запуск тСстов с Selenoid.

Bonus Ρ‡Π°ΡΡ‚ΡŒ:

  • ΠΠ°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΡŽ ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² с Allure report, сдСлав ΠΏΠΎΠ»Π½Ρ‹ΠΉ сСтап Π² GitHub: e2e тСсты с selenide Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ с

    использованиСм Selenoid Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… окруТСниях(Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ…) ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ ΠΈ ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡ‚ ΠΎΡ‚Ρ‡Π΅Ρ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Allure Report.

  • ΠΠ°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΡΡ‚Π°Ρ‚ΡŒΡŽ ΠΊΠ°ΠΊ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ сСтап.

{#selenium #selenide #selenoid #e2e-tests #parallel-run}

ЗанятиС 11. Performance testing.

Бсылки

Π”ΠΎΠΌΠ°ΡˆΠ½Π΅Π΅ Π·Π°Π΄Π°Π½ΠΈΠ΅

Main Ρ‡Π°ΡΡ‚ΡŒ:

  • ΠŸΡ€ΠΎΠΉΡ‚ΠΈ Π²ΠΎΡ€ΠΊΡˆΠΎΠΏ ΠΈ Π²Ρ‹Π»ΠΎΠΆΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² Π³ΠΈΡ‚Ρ…Π°Π± Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.

Advanced Ρ‡Π°ΡΡ‚ΡŒ:

  • ΠΠ°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ CI с Github actions.

Bonus Ρ‡Π°ΡΡ‚ΡŒ:

  • ΠΠ°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΡŽ ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² с Allure report.

Notes: ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ΅ спасибо Π‘Π΅Ρ€Π³Π΅ΡŽ ЧСпкасову ΠΈ ΠœΠ°ΠΊΡΠΈΠΌΡƒ Π ΠΎΠ³ΠΎΠΆΠ½ΠΈΠΊΠΎΠ²Ρƒ Π·Π° ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ Π²ΠΎΡ€ΠΊΡˆΠΎΠΏ.

{#performance #load #gatling #jmeter}

ЗанятиС 12. Best practices. Π˜Ρ‚ΠΎΠ³ΠΎΠ²Π°Ρ лСкция.

Last updated