Software testing lectures
ΠΠ΅Π½Ρ Π·ΠΎΠ²ΡΡ ΠΡΠ΅Π²ΠΎΠ»ΠΎΠ΄ ΠΡΠ΅ΠΊΠ΅Π»ΠΎΠ². Twitter: https://twitter.com/brekelov
ΠΠ°Π½ΡΡΠΈΠ΅ 1. ΠΡΠ½ΠΎΠ²Ρ ΡΠ΅ΠΎΡΠΈΠΈ.
ΠΠΎΠΌΠ°ΡΠ½Π΅Π΅ ΡΡΠΈΠ²ΠΎ:
ΠΠΎΠΌΠ°ΡΠ½Π΅Π΅ Π²ΠΈΠ΄Π΅ΠΎ (Π½Π΅ ΡΠΎ, ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌ Π²Ρ ΠΏΠΎΠ΄ΡΠΌΠ°Π»ΠΈ):
https://www.youtube.com/watch?v=L2c8awaHIAg (ΡΡΡΠ»ΠΊΠ° Π½Π° Π΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΡ https://github.com/qala-io/test-pyramid)
https://www.youtube.com/watch?v=-q_9oPRAxFo (ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²ΡΠΈΠΊΠ°)
ΠΠΎΠ»Π΅Π·Π½ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ:
Telegram-ΠΊΠ°Π½Π°Π»Ρ:
@selenide_ru (Selenide Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°)
@qa_load (Π§Π°Ρ ΠΏΠ΅ΡΡΠΎΠΌΠ°Π½Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²ΡΠΈΠΊΠΎΠ²)
@heisenbugconf (Π§Π°Ρ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ ΠΏΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Heisenbug)
@allure_ru (Π§Π°Ρ Allure ΡΠ΅ΠΏΠΎΡΡΠΈΠ½Π³ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°)
@aerokube (Π§Π°Ρ ΡΠ΅Π±ΡΡ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Ρ Aerokube, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π΅Π»Π°ΡΡ Selenoid ΠΈ Moon)
Youtube:
https://www.youtube.com/c/Heisenbugconf/videos (ΠΡΠ»ΠΈΡΠ½ΡΠ΅ Π²ΠΈΠ΄Π΅ΠΎ Ρ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ Heisenbug)
ΠΠ°Π½ΡΡΠΈΠ΅ 2. Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Frontend. Π§Π°ΡΡΡ 1.
[ΠΠ΅ΠΊΡΠΈΡ 2] TBD
ΠΡΠΈΠΌΠ΅Ρ 1 ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ ΡΡΠΎΠ½ΡΠ΅Π½Π΄ΠΎΠΌ, ΡΠ΅ΡΡΠ°ΠΌΠΈ ΠΈ Π±Π΅ΠΊΠ΅Π½Π΄ΠΎΠΌ.
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. Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Backend. ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅.
Π‘ΡΡΠ»ΠΊΠΈ HowToDo(Π³Π°ΠΉΠ΄Ρ)
Π‘ΡΡΠ»ΠΊΠΈ Π΄Π»Ρ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠ»Π΅Π½ΠΈΡ
ΠΠ°Π½ΡΡΠΈΠ΅ 4. Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Backend. Unit testing. Component testing.
[ΠΠ΅ΠΊΡΠΈΡ 4]
Π‘ΡΡΠ»ΠΊΠΈ
ΠΠΎΠΌΠ°ΡΠ½Π΅Π΅ Π·Π°Π΄Π°Π½ΠΈΠ΅ Main ΡΠ°ΡΡΡ: Π‘Π΄Π΅Π»Π°ΡΡ ΡΠ΅ΡΠ²ΠΈΡ Π½Π° Java+Spring+Π»ΡΠ±Π°Ρ DB (ΠΈΠ»ΠΈ NodeJS + DI tool), ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠΌΠ΅Π΅Ρ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ 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? (ΠΈΠ»ΠΈ Π½Π΅Ρ? =)
ΠΠ°Π½ΡΡΠΈΠ΅ 5. CI/CD. GitHub actions.
[ΠΠ΅ΠΊΡΠΈΡ 5]
[ΠΡΠΈΠΌΠ΅Ρ]
Π‘ΡΡΠ»ΠΊΠΈ
ΠΠΎΠΌΠ°ΡΠ½Π΅Π΅ Π·Π°Π΄Π°Π½ΠΈΠ΅ 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?
ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ Π½Π°ΡΡΡΠΎΠΈΡΡ Π΄Π΅ΠΏΠ»ΠΎΠΉΠΌΠ΅Π½Ρ Π½Π° ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎΠΆΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΡΠ°Π·Π½ΡΡ Π²Π΅ΡΠΎΠΊ?
ΠΠ°ΡΠ΅ΠΌ Π½ΡΠΆΠ½ΠΎ Π΄Π΅ΠΏΠ»ΠΎΠΈΡΡ ΠΏΠΎ ΠΊΠΎΠΌΠΈΡΡ/ΠΏΡΡΡ Π² ΠΌΠ°ΡΡΠ΅Ρ?
ΠΠ°Π½ΡΡΠΈΠ΅ 6. Reporting. BDD.
Π‘ΡΡΠ»ΠΊΠΈ
ΠΠΎΠΌΠ°ΡΠ½Π΅Π΅ Π·Π°Π΄Π°Π½ΠΈΠ΅
Bonus ΡΠ°ΡΡΡ:
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Allure reporting Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ ΡΠ΅ΡΡΠΎΠ².
{#reporting #bdd #allure}
ΠΠ°Π½ΡΡΠΈΠ΅ 7. Contract tests. Pact. Spring cloud contract.
[ΠΠ΅ΠΊΡΠΈΡ 7]
[ΠΡΠΈΠΌΠ΅Ρ]
Π‘ΡΡΠ»ΠΊΠΈ
ΠΠΎΠΌΠ°ΡΠ½Π΅Π΅ Π·Π°Π΄Π°Π½ΠΈΠ΅
Bonus ΡΠ°ΡΡΡ:
ΠΠ°ΠΏΠΈΡΠ°ΡΡ Pact-ΡΠ΅ΡΡΡ ΠΊ ΡΠ²ΠΎΠ΅ΠΌΡ ΡΠ΅ΡΠ²ΠΈΡΡ.
{#contract-tests #pact #swagger}
ΠΠ°Π½ΡΡΠΈΠ΅ 8. A11Y. Instruments.
[ΠΡΠΈΠΌΠ΅Ρ]
Π‘ΡΡΠ»ΠΊΠΈ
ΠΠΎΠΌΠ°ΡΠ½Π΅Π΅ Π·Π°Π΄Π°Π½ΠΈΠ΅
Bonus ΡΠ°ΡΡΡ:
ΠΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΉ Π²Π΅Π±-ΡΠ°ΠΉΡ Π½Π° Π°11y Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΎΡ Mozilla ΠΈ Lighthouse. ΠΠΎΡΠΈΠΊΡΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. Π‘Π΄Π΅Π»Π°ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ΅ΡΡ Ρ axe.
{#a11y}
ΠΠ°Π½ΡΡΠΈΠ΅ 9. Selenium. Selenide. Selenoid.
Π‘ΡΡΠ»ΠΊΠΈ
ΠΠΎΠΌΠ°ΡΠ½Π΅Π΅ Π·Π°Π΄Π°Π½ΠΈΠ΅
Main ΡΠ°ΡΡΡ:
ΠΠ°ΠΏΠΈΡΠ°ΡΡ e2e ΡΠ΅ΡΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Selenide.
Advanced ΡΠ°ΡΡΡ:
ΠΠ°ΡΡΡΠΎΠΈΡΡ Π·Π°ΠΏΡΡΠΊ ΡΠ΅ΡΡΠΎΠ² Ρ Selenoid.
Bonus ΡΠ°ΡΡΡ:
ΠΠ°ΡΡΡΠΎΠΈΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΎΡΡΠ΅ΡΠΎΠ² Ρ Allure report, ΡΠ΄Π΅Π»Π°Π² ΠΏΠΎΠ»Π½ΡΠΉ ΡΠ΅ΡΠ°ΠΏ Π² GitHub: e2e ΡΠ΅ΡΡΡ Ρ selenide Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Selenoid Π½Π° ΡΠ°Π·Π½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡΡ (Π±ΡΠ°ΡΠ·Π΅ΡΠ°Ρ ) ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ ΠΈ ΡΠΎΠ±ΠΈΡΠ°ΡΡ ΠΎΡΡΠ΅Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Allure Report.
ΠΠ°ΠΏΠΈΡΠ°ΡΡ ΡΡΠ°ΡΡΡ ΠΊΠ°ΠΊ ΡΠΎΠ±ΡΠ°ΡΡ ΡΠ°ΠΊΠΎΠΉ ΡΠ΅ΡΠ°ΠΏ.
{#selenium #selenide #selenoid #e2e-tests #parallel-run}
ΠΠ°Π½ΡΡΠΈΠ΅ 10. Performance testing.
Π‘ΡΡΠ»ΠΊΠΈ
ΠΠΎΠΌΠ°ΡΠ½Π΅Π΅ Π·Π°Π΄Π°Π½ΠΈΠ΅
Main ΡΠ°ΡΡΡ:
ΠΡΠΎΠΉΡΠΈ Π²ΠΎΡΠΊΡΠΎΠΏ ΠΈ Π²ΡΠ»ΠΎΠΆΠΈΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π² Π³ΠΈΡΡ Π°Π± ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ.
Advanced ΡΠ°ΡΡΡ:
ΠΠ°ΡΡΡΠΎΠΈΡΡ CI Ρ Github actions.
Bonus ΡΠ°ΡΡΡ:
ΠΠ°ΡΡΡΠΎΠΈΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΎΡΡΠ΅ΡΠΎΠ² Ρ Allure report.
Notes: ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ΅ ΡΠΏΠ°ΡΠΈΠ±ΠΎ Π‘Π΅ΡΠ³Π΅Ρ Π§Π΅ΠΏΠΊΠ°ΡΠΎΠ²Ρ ΠΈ ΠΠ°ΠΊΡΠΈΠΌΡ Π ΠΎΠ³ΠΎΠΆΠ½ΠΈΠΊΠΎΠ²Ρ Π·Π° ΠΎΡΠ»ΠΈΡΠ½ΡΠΉ Π²ΠΎΡΠΊΡΠΎΠΏ.
{#performance #load #gatling #jmeter}
ΠΠ°Π½ΡΡΠΈΠ΅ 11. Data Quality.
Π‘ΡΡΠ»ΠΊΠΈ
{#dataquality #data #greatexpectations #sql}
ΠΠ°Π½ΡΡΠΈΠ΅ 12. Best practices. ΠΡΠΎΠ³ΠΎΠ²Π°Ρ Π»Π΅ΠΊΡΠΈΡ.
Last updated