SlideShare une entreprise Scribd logo
1  sur  33
Design Patterns in
Automation
About
QA since 2019
From manual QA to automation QA
Athlete with 12 years of experience
Agenda
1. Що таке патерн
2. Навіщо знати патерни
3. Класифікація патернів
4. Огляд патернів
Що таке
Патерн?
Патерн проектування - це типовий спосіб
вирішення проблем при проектуванні
програм. Він не може бути просто
скопійований в програму, як готові функції
або бібліотеки. Це загальний принцип
вирішення проблеми, який потрібно
адаптувати до потреб конкретної
програми.
Патерни і алгоритми часто помилково
сприймаються як одне й те саме, тому що
обидва описують типові рішення для
відомих проблем. Але, якщо алгоритм - це
конкретний набір дій, то патерн - це більш
загальний опис рішення на високому рівні,
реалізація якого може відрізнятися в
різних програмах.
Навіщо знати
патерни?
Використання перевірених рішень може
заощадити багато часу, оскільки вам не
доведеться винаходити велосипеди знову і знову.
Хоча деякі рішення можуть бути очевидними, інші
можуть здивувати вас своєю ефективністю і
корисністю.
Використання уніфікованих рішень дозволяє
уникнути прорахунків при проектуванні, оскільки
всі можливі проблеми вже виявлені і вирішені.
Це сприяє стандартизації коду та полегшує
розуміння проекту всіма членами команди.
Використання загальної термінології паттернів
дозволяє програмістам швидше і ефективніше
спілкуватися та розуміти один одного. Замість
того, щоб витрачати час на пояснення свого
дизайну і класів, ви можете коротко назвати
паттерн, який використовується, і зосередитися
на його реалізації.
Класифікація патернів
Породжуючі патерни піклуються про гнучке створення об’єктів без внесення в програму
зайвих залежностей.
Структурні патерни показують різні способи побудови зв’язків між об’єктами.
Поведінкові патерни піклуються про ефективну комунікацію між об’єктами.
Decorator Facade Factory method Composite
Builder Singleton
Chain of
Responsibility
Одинак — це породжувальний патерн
проектування, який гарантує, що клас має
лише один екземпляр, та надає глобальну
точку доступу до нього.
Singleton
Коли в програмі повинен бути
єдиний екземпляр якого-небудь
класу, доступний усім клієнтам
(наприклад, спільний доступ до
бази даних з різних частин
програми).
Коли треба мати більше
контролю над глобальними
змінними.
Фабричний метод — це породжувальний
патерн проектування, який визначає
загальний інтерфейс для створення
об’єктів.
Factory method
Коли типи і залежності
об’єктів, з якими
повинен працювати
ваш код, невідомі
заздалегідь.
Коли ви хочете надати
користувачам
можливість
розширювати частини
вашого фреймворку чи
бібліотеки.
Коли ви хочете
зекономити системні
ресурси, повторно
використовуючи вже
створені об’єкти, замість
породження нових.
Будівельник — це породжувальний патерн
проектування, що дає змогу створювати
складні об’єкти крок за кроком.
Будівельник дає можливість
використовувати один і той самий код
будівництва для отримання різних
відображень об’єктів.
Builder
Коли код повинен створювати
різні уявлення якогось об’єкта
Коли потрібно збирати
складні об’єкти
Декоратор — це структурний патерн
проектування, що дає змогу динамічно
додавати об’єктам нову функціональність,
загортаючи їх у корисні «обгортки».
Decorator
Якщо потрібно додавати
об’єктам нові обов’язки «на
льоту», непомітно для коду,
який їх використовує.
Якщо не можна розширити
обов’язки об’єкта за допомогою
спадкування.
Фасад — це структурний патерн
проектування, який надає простий
інтерфейс до складної системи класів,
бібліотеки або фреймворку.
Facade
Якщо потрібно надати простий
або урізаний інтерфейс до
складної підсистеми.
Розкласти підсистему
на окремі рівні.
Компонувальник — це структурний
патерн проектування, що дає змогу
згрупувати декілька об’єктів у
деревоподібну структуру, а потім
працювати з нею так, ніби це одиничний
об’єкт.
Composite
Якщо потрібно представити
деревоподібну структуру
об’єктів.
Якщо клієнти повинні
однаково трактувати прості
та складові об’єкти.
Ланцюжок обов’язків — це поведінковий
патерн проектування, що дає змогу
передавати запити послідовно ланцюжком
обробників. Кожен наступний обробник
вирішує, чи може він обробити запит сам і
чи варто передавати запит далі
ланцюжком.
Chain of Responsibility
Якщо програма має
обробляти різноманітні
запити багатьма
способами, але
заздалегідь невідомо,
які конкретно запити
надходитимуть і які
обробники для них
знадобляться.
Якщо важливо, щоб
обробники
виконувалися один за
іншим у суворому
порядку.
Якщо набір об’єктів,
здатних обробити запит,
повинен задаватися
динамічно.
Яке відношення має фаза місяця до результатів автоматизованого тестування?
Чи є дослідження, які показують, що результати тестування можуть залежати від
фази місяця? І якщо так, то чому?
twitter.com/p2h_global instagram.com/p2h_space
ЮРІЙ СЕРДЮК «Патерни проектування в автоматизації. Практичний досвід з Python» Online QADay 2023

Contenu connexe

Tendances

Software Quality Metrics for Testers - StarWest 2013
Software Quality Metrics for Testers - StarWest 2013Software Quality Metrics for Testers - StarWest 2013
Software Quality Metrics for Testers - StarWest 2013XBOSoft
 
Robot Framework Introduction & Sauce Labs Integration
Robot Framework Introduction & Sauce Labs IntegrationRobot Framework Introduction & Sauce Labs Integration
Robot Framework Introduction & Sauce Labs IntegrationSauce Labs
 
Whitebox testing
Whitebox testingWhitebox testing
Whitebox testingOana Feidi
 
Exploratory testing
Exploratory testingExploratory testing
Exploratory testingHuib Schoots
 
Allure framework
Allure frameworkAllure framework
Allure frameworkartkoshelev
 
Interview Question & Answers for Selenium Freshers | LearningSlot
Interview Question & Answers for Selenium Freshers | LearningSlotInterview Question & Answers for Selenium Freshers | LearningSlot
Interview Question & Answers for Selenium Freshers | LearningSlotLearning Slot
 
АНТОН СЕРПУТЬКО « Якісний перфоманс сценарій в Jmeter, це як?» Online QADay ...
АНТОН СЕРПУТЬКО « Якісний перфоманс сценарій в Jmeter, це як?»  Online QADay ...АНТОН СЕРПУТЬКО « Якісний перфоманс сценарій в Jmeter, це як?»  Online QADay ...
АНТОН СЕРПУТЬКО « Якісний перфоманс сценарій в Jmeter, це як?» Online QADay ...GoQA
 
ОЛЕКСАНДР ХОТЕМСЬКИЙ «ChatGPT: який вплив буде мати на тестування?» Online Q...
ОЛЕКСАНДР ХОТЕМСЬКИЙ «ChatGPT: який вплив буде мати на тестування?»  Online Q...ОЛЕКСАНДР ХОТЕМСЬКИЙ «ChatGPT: який вплив буде мати на тестування?»  Online Q...
ОЛЕКСАНДР ХОТЕМСЬКИЙ «ChatGPT: який вплив буде мати на тестування?» Online Q...GoQA
 
TestNG Session presented in Xebia XKE
TestNG Session presented in Xebia XKETestNG Session presented in Xebia XKE
TestNG Session presented in Xebia XKEAbhishek Yadav
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testingBugRaptors
 
Event Handling in Java
Event Handling in JavaEvent Handling in Java
Event Handling in JavaAyesha Kanwal
 
Robot Framework Introduction
Robot Framework IntroductionRobot Framework Introduction
Robot Framework IntroductionPekka Klärck
 
Iseb, ISTQB Static Testing
Iseb, ISTQB Static TestingIseb, ISTQB Static Testing
Iseb, ISTQB Static Testingonsoftwaretest
 
Validation & verification software engineering
Validation & verification software engineeringValidation & verification software engineering
Validation & verification software engineeringSweta Kumari Barnwal
 

Tendances (20)

Software Quality Metrics for Testers - StarWest 2013
Software Quality Metrics for Testers - StarWest 2013Software Quality Metrics for Testers - StarWest 2013
Software Quality Metrics for Testers - StarWest 2013
 
Robot Framework Introduction & Sauce Labs Integration
Robot Framework Introduction & Sauce Labs IntegrationRobot Framework Introduction & Sauce Labs Integration
Robot Framework Introduction & Sauce Labs Integration
 
Testing Tools
Testing ToolsTesting Tools
Testing Tools
 
Whitebox testing
Whitebox testingWhitebox testing
Whitebox testing
 
Exploratory testing
Exploratory testingExploratory testing
Exploratory testing
 
Allure framework
Allure frameworkAllure framework
Allure framework
 
Interview Question & Answers for Selenium Freshers | LearningSlot
Interview Question & Answers for Selenium Freshers | LearningSlotInterview Question & Answers for Selenium Freshers | LearningSlot
Interview Question & Answers for Selenium Freshers | LearningSlot
 
API Testing
API TestingAPI Testing
API Testing
 
АНТОН СЕРПУТЬКО « Якісний перфоманс сценарій в Jmeter, це як?» Online QADay ...
АНТОН СЕРПУТЬКО « Якісний перфоманс сценарій в Jmeter, це як?»  Online QADay ...АНТОН СЕРПУТЬКО « Якісний перфоманс сценарій в Jmeter, це як?»  Online QADay ...
АНТОН СЕРПУТЬКО « Якісний перфоманс сценарій в Jmeter, це як?» Online QADay ...
 
ОЛЕКСАНДР ХОТЕМСЬКИЙ «ChatGPT: який вплив буде мати на тестування?» Online Q...
ОЛЕКСАНДР ХОТЕМСЬКИЙ «ChatGPT: який вплив буде мати на тестування?»  Online Q...ОЛЕКСАНДР ХОТЕМСЬКИЙ «ChatGPT: який вплив буде мати на тестування?»  Online Q...
ОЛЕКСАНДР ХОТЕМСЬКИЙ «ChatGPT: який вплив буде мати на тестування?» Online Q...
 
SOFTWARE TESTING
SOFTWARE TESTINGSOFTWARE TESTING
SOFTWARE TESTING
 
TestNG Session presented in Xebia XKE
TestNG Session presented in Xebia XKETestNG Session presented in Xebia XKE
TestNG Session presented in Xebia XKE
 
Introduction to Robot Framework
Introduction to Robot FrameworkIntroduction to Robot Framework
Introduction to Robot Framework
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
 
Event Handling in Java
Event Handling in JavaEvent Handling in Java
Event Handling in Java
 
Exploratory testing workshop
Exploratory testing workshopExploratory testing workshop
Exploratory testing workshop
 
Robot Framework Introduction
Robot Framework IntroductionRobot Framework Introduction
Robot Framework Introduction
 
Iseb, ISTQB Static Testing
Iseb, ISTQB Static TestingIseb, ISTQB Static Testing
Iseb, ISTQB Static Testing
 
Api Testing
Api TestingApi Testing
Api Testing
 
Validation & verification software engineering
Validation & verification software engineeringValidation & verification software engineering
Validation & verification software engineering
 

Similaire à ЮРІЙ СЕРДЮК «Патерни проектування в автоматизації. Практичний досвід з Python» Online QADay 2023

Корнілов Андрій
Корнілов АндрійКорнілов Андрій
Корнілов АндрійOleg Nazarevych
 
informatyka_9_klas_ryvkind_2022.pdf
informatyka_9_klas_ryvkind_2022.pdfinformatyka_9_klas_ryvkind_2022.pdf
informatyka_9_klas_ryvkind_2022.pdfssuser59c0a2
 
UX Дезайнер: Інструкція з користування
UX Дезайнер: Інструкція з користуванняUX Дезайнер: Інструкція з користування
UX Дезайнер: Інструкція з користуванняTanya Zavialova
 
природна і економна дорожня карта для переходу команди розробки на тест центр...
природна і економна дорожня карта для переходу команди розробки на тест центр...природна і економна дорожня карта для переходу команди розробки на тест центр...
природна і економна дорожня карта для переходу команди розробки на тест центр...Andrii Podanenko
 
Informatyka-9-klas-Ryvkind-2022 (1).pdf
Informatyka-9-klas-Ryvkind-2022 (1).pdfInformatyka-9-klas-Ryvkind-2022 (1).pdf
Informatyka-9-klas-Ryvkind-2022 (1).pdfssuser59c0a2
 
Nikita Zahurdaiev: PMO Tools and Technologies (UA)
Nikita Zahurdaiev: PMO Tools and Technologies (UA)Nikita Zahurdaiev: PMO Tools and Technologies (UA)
Nikita Zahurdaiev: PMO Tools and Technologies (UA)Lviv Startup Club
 
Введення в програмну інженерію
Введення в програмну інженеріюВведення в програмну інженерію
Введення в програмну інженеріюOleg Nazarevych
 
Anna Podolynna, BAQ "How not to loose a QA focus and organize testing proces...
Anna Podolynna, BAQ  "How not to loose a QA focus and organize testing proces...Anna Podolynna, BAQ  "How not to loose a QA focus and organize testing proces...
Anna Podolynna, BAQ "How not to loose a QA focus and organize testing proces...Dakiry
 
Вибір і експлуатація систем керування автоматизованим виробництвом
Вибір і експлуатація систем керування автоматизованим виробництвомВибір і експлуатація систем керування автоматизованим виробництвом
Вибір і експлуатація систем керування автоматизованим виробництвомirko514
 
KyivUX Meetup 2 - Design Systems for White Label products Ignite.pdf
KyivUX Meetup 2 - Design Systems for White Label products Ignite.pdfKyivUX Meetup 2 - Design Systems for White Label products Ignite.pdf
KyivUX Meetup 2 - Design Systems for White Label products Ignite.pdfYuri Ternytsky
 
DrupalTour. Zhytomyr — Drupal Optimization (Dmitry Kinakh, InternetDevels)
DrupalTour. Zhytomyr — Drupal Optimization (Dmitry Kinakh, InternetDevels)DrupalTour. Zhytomyr — Drupal Optimization (Dmitry Kinakh, InternetDevels)
DrupalTour. Zhytomyr — Drupal Optimization (Dmitry Kinakh, InternetDevels)Drupaltour
 
Урок 65. Вибір теми проекту. Його планування. Добір ресурсів.
Урок 65. Вибір теми проекту. Його планування. Добір ресурсів.Урок 65. Вибір теми проекту. Його планування. Добір ресурсів.
Урок 65. Вибір теми проекту. Його планування. Добір ресурсів.Василь Тереховський
 
10 клас иф технолог проф-ль завадський програм.
10 клас  иф технолог проф-ль завадський програм.10 клас  иф технолог проф-ль завадський програм.
10 клас иф технолог проф-ль завадський програм.af1311
 
10 клас инф технолог профиль завадський програм.
10 клас  инф технолог профиль завадський програм.10 клас  инф технолог профиль завадський програм.
10 клас инф технолог профиль завадський програм.af1311
 
основи програмування 1
основи програмування  1основи програмування  1
основи програмування 1CDN_IF
 
"What is a RAG system and how to build it",Dmytro Spodarets
"What is a RAG system and how to build it",Dmytro Spodarets"What is a RAG system and how to build it",Dmytro Spodarets
"What is a RAG system and how to build it",Dmytro SpodaretsFwdays
 

Similaire à ЮРІЙ СЕРДЮК «Патерни проектування в автоматизації. Практичний досвід з Python» Online QADay 2023 (20)

m-9-10.pptx
m-9-10.pptxm-9-10.pptx
m-9-10.pptx
 
Корнілов Андрій
Корнілов АндрійКорнілов Андрій
Корнілов Андрій
 
Patterns.pptx
Patterns.pptxPatterns.pptx
Patterns.pptx
 
informatyka_9_klas_ryvkind_2022.pdf
informatyka_9_klas_ryvkind_2022.pdfinformatyka_9_klas_ryvkind_2022.pdf
informatyka_9_klas_ryvkind_2022.pdf
 
UX Дезайнер: Інструкція з користування
UX Дезайнер: Інструкція з користуванняUX Дезайнер: Інструкція з користування
UX Дезайнер: Інструкція з користування
 
природна і економна дорожня карта для переходу команди розробки на тест центр...
природна і економна дорожня карта для переходу команди розробки на тест центр...природна і економна дорожня карта для переходу команди розробки на тест центр...
природна і економна дорожня карта для переходу команди розробки на тест центр...
 
Informatyka-9-klas-Ryvkind-2022 (1).pdf
Informatyka-9-klas-Ryvkind-2022 (1).pdfInformatyka-9-klas-Ryvkind-2022 (1).pdf
Informatyka-9-klas-Ryvkind-2022 (1).pdf
 
Less4
Less4Less4
Less4
 
Nikita Zahurdaiev: PMO Tools and Technologies (UA)
Nikita Zahurdaiev: PMO Tools and Technologies (UA)Nikita Zahurdaiev: PMO Tools and Technologies (UA)
Nikita Zahurdaiev: PMO Tools and Technologies (UA)
 
Введення в програмну інженерію
Введення в програмну інженеріюВведення в програмну інженерію
Введення в програмну інженерію
 
Anna Podolynna, BAQ "How not to loose a QA focus and organize testing proces...
Anna Podolynna, BAQ  "How not to loose a QA focus and organize testing proces...Anna Podolynna, BAQ  "How not to loose a QA focus and organize testing proces...
Anna Podolynna, BAQ "How not to loose a QA focus and organize testing proces...
 
Вибір і експлуатація систем керування автоматизованим виробництвом
Вибір і експлуатація систем керування автоматизованим виробництвомВибір і експлуатація систем керування автоматизованим виробництвом
Вибір і експлуатація систем керування автоматизованим виробництвом
 
cpp-2013 #3 OOP Basics
cpp-2013 #3 OOP Basicscpp-2013 #3 OOP Basics
cpp-2013 #3 OOP Basics
 
KyivUX Meetup 2 - Design Systems for White Label products Ignite.pdf
KyivUX Meetup 2 - Design Systems for White Label products Ignite.pdfKyivUX Meetup 2 - Design Systems for White Label products Ignite.pdf
KyivUX Meetup 2 - Design Systems for White Label products Ignite.pdf
 
DrupalTour. Zhytomyr — Drupal Optimization (Dmitry Kinakh, InternetDevels)
DrupalTour. Zhytomyr — Drupal Optimization (Dmitry Kinakh, InternetDevels)DrupalTour. Zhytomyr — Drupal Optimization (Dmitry Kinakh, InternetDevels)
DrupalTour. Zhytomyr — Drupal Optimization (Dmitry Kinakh, InternetDevels)
 
Урок 65. Вибір теми проекту. Його планування. Добір ресурсів.
Урок 65. Вибір теми проекту. Його планування. Добір ресурсів.Урок 65. Вибір теми проекту. Його планування. Добір ресурсів.
Урок 65. Вибір теми проекту. Його планування. Добір ресурсів.
 
10 клас иф технолог проф-ль завадський програм.
10 клас  иф технолог проф-ль завадський програм.10 клас  иф технолог проф-ль завадський програм.
10 клас иф технолог проф-ль завадський програм.
 
10 клас инф технолог профиль завадський програм.
10 клас  инф технолог профиль завадський програм.10 клас  инф технолог профиль завадський програм.
10 клас инф технолог профиль завадський програм.
 
основи програмування 1
основи програмування  1основи програмування  1
основи програмування 1
 
"What is a RAG system and how to build it",Dmytro Spodarets
"What is a RAG system and how to build it",Dmytro Spodarets"What is a RAG system and how to build it",Dmytro Spodarets
"What is a RAG system and how to build it",Dmytro Spodarets
 

Plus de GoQA

АРТЕМ ГРИГОРЕНКО «Покращення процесів найму»
АРТЕМ ГРИГОРЕНКО «Покращення процесів найму»АРТЕМ ГРИГОРЕНКО «Покращення процесів найму»
АРТЕМ ГРИГОРЕНКО «Покращення процесів найму»GoQA
 
КАТЕРИНА ЖУПАН «Mobile Testing based on “ISTQB Mobile Application – Syllabus»
КАТЕРИНА ЖУПАН «Mobile Testing based on “ISTQB Mobile Application – Syllabus»КАТЕРИНА ЖУПАН «Mobile Testing based on “ISTQB Mobile Application – Syllabus»
КАТЕРИНА ЖУПАН «Mobile Testing based on “ISTQB Mobile Application – Syllabus»GoQA
 
МОРРІС-ВСЕСЛАВ ШОСТАК «Роль QA в індустрії програмного та апаратного забезпеч...
МОРРІС-ВСЕСЛАВ ШОСТАК «Роль QA в індустрії програмного та апаратного забезпеч...МОРРІС-ВСЕСЛАВ ШОСТАК «Роль QA в індустрії програмного та апаратного забезпеч...
МОРРІС-ВСЕСЛАВ ШОСТАК «Роль QA в індустрії програмного та апаратного забезпеч...GoQA
 
ОКСАНА ГОРОЩУК «Improving Quality Through Root Cause Analysis»
ОКСАНА ГОРОЩУК «Improving Quality Through Root Cause Analysis»ОКСАНА ГОРОЩУК «Improving Quality Through Root Cause Analysis»
ОКСАНА ГОРОЩУК «Improving Quality Through Root Cause Analysis»GoQA
 
ПАВЛО САФОНОВ «Як оцінити ефективність автоматизації»
ПАВЛО САФОНОВ «Як оцінити ефективність автоматизації»ПАВЛО САФОНОВ «Як оцінити ефективність автоматизації»
ПАВЛО САФОНОВ «Як оцінити ефективність автоматизації»GoQA
 
ГАННА КІЛІМОВА & СВІТЛАНА ЯКОВЛЄВА «ADA testing – те, що дуже на часі»
ГАННА КІЛІМОВА & СВІТЛАНА ЯКОВЛЄВА «ADA testing – те, що дуже на часі»ГАННА КІЛІМОВА & СВІТЛАНА ЯКОВЛЄВА «ADA testing – те, що дуже на часі»
ГАННА КІЛІМОВА & СВІТЛАНА ЯКОВЛЄВА «ADA testing – те, що дуже на часі»GoQA
 
СЕРГІЙ БРИТ «Як запускати тести з Playwright Java написані на Selenide. Не пе...
СЕРГІЙ БРИТ «Як запускати тести з Playwright Java написані на Selenide. Не пе...СЕРГІЙ БРИТ «Як запускати тести з Playwright Java написані на Selenide. Не пе...
СЕРГІЙ БРИТ «Як запускати тести з Playwright Java написані на Selenide. Не пе...GoQA
 
БОГДАН САВЧУК «IoT testing: Manual, Automation and Cyber Security techniques»
БОГДАН САВЧУК «IoT testing: Manual, Automation and Cyber Security techniques»БОГДАН САВЧУК «IoT testing: Manual, Automation and Cyber Security techniques»
БОГДАН САВЧУК «IoT testing: Manual, Automation and Cyber Security techniques»GoQA
 
ЕЛЬМІР ІСКАНДЕРОВ «Bulletproof Your Software: The Magic of Security Autotests»
ЕЛЬМІР ІСКАНДЕРОВ «Bulletproof Your Software: The Magic of Security Autotests»ЕЛЬМІР ІСКАНДЕРОВ «Bulletproof Your Software: The Magic of Security Autotests»
ЕЛЬМІР ІСКАНДЕРОВ «Bulletproof Your Software: The Magic of Security Autotests»GoQA
 
ІННА ДВОЙНІКОВА «Як вийти на Upwork та розширити горизонти QA»
ІННА ДВОЙНІКОВА «Як вийти на Upwork та розширити горизонти QA»ІННА ДВОЙНІКОВА «Як вийти на Upwork та розширити горизонти QA»
ІННА ДВОЙНІКОВА «Як вийти на Upwork та розширити горизонти QA»GoQA
 
КАТЕРИНА АБЗЯТОВА «Point of Growth: Transforming Challenges into Skill-Buildi...
КАТЕРИНА АБЗЯТОВА «Point of Growth: Transforming Challenges into Skill-Buildi...КАТЕРИНА АБЗЯТОВА «Point of Growth: Transforming Challenges into Skill-Buildi...
КАТЕРИНА АБЗЯТОВА «Point of Growth: Transforming Challenges into Skill-Buildi...GoQA
 
НАТАЛІЯ ТРОЙНІЧ «Редизайн всього продукту, коли на проекті залишилось два ман...
НАТАЛІЯ ТРОЙНІЧ «Редизайн всього продукту, коли на проекті залишилось два ман...НАТАЛІЯ ТРОЙНІЧ «Редизайн всього продукту, коли на проекті залишилось два ман...
НАТАЛІЯ ТРОЙНІЧ «Редизайн всього продукту, коли на проекті залишилось два ман...GoQA
 
РІНА УЖЕВКО «Вплив архітектури на стратегію тестування»
РІНА УЖЕВКО «Вплив архітектури на стратегію тестування»РІНА УЖЕВКО «Вплив архітектури на стратегію тестування»
РІНА УЖЕВКО «Вплив архітектури на стратегію тестування»GoQA
 
СЕРГІЙ РУСІНЧУК «Розкриття майстерності QA команд через KPI»
СЕРГІЙ РУСІНЧУК «Розкриття майстерності QA команд через KPI»СЕРГІЙ РУСІНЧУК «Розкриття майстерності QA команд через KPI»
СЕРГІЙ РУСІНЧУК «Розкриття майстерності QA команд через KPI»GoQA
 
КАТЕРИНА АБЗЯТОВА - Certify with confidence: ISTQB Foundation 4.0. Common err...
КАТЕРИНА АБЗЯТОВА - Certify with confidence: ISTQB Foundation 4.0. Common err...КАТЕРИНА АБЗЯТОВА - Certify with confidence: ISTQB Foundation 4.0. Common err...
КАТЕРИНА АБЗЯТОВА - Certify with confidence: ISTQB Foundation 4.0. Common err...GoQA
 
Слуцька Вікторія - Виступити і не наступити на граблі: Як виступати QA спеціа...
Слуцька Вікторія - Виступити і не наступити на граблі: Як виступати QA спеціа...Слуцька Вікторія - Виступити і не наступити на граблі: Як виступати QA спеціа...
Слуцька Вікторія - Виступити і не наступити на граблі: Як виступати QA спеціа...GoQA
 
ОЛЕКСАНДР ХОТЕМСЬКИЙ «Планування стратегії розвитку тестування на проекті»
ОЛЕКСАНДР ХОТЕМСЬКИЙ «Планування стратегії розвитку тестування на проекті»ОЛЕКСАНДР ХОТЕМСЬКИЙ «Планування стратегії розвитку тестування на проекті»
ОЛЕКСАНДР ХОТЕМСЬКИЙ «Планування стратегії розвитку тестування на проекті»GoQA
 
ОЛЕКСІЙ ОСТАПОВ «Створення плагінів для pytest»
ОЛЕКСІЙ ОСТАПОВ «Створення плагінів для pytest»ОЛЕКСІЙ ОСТАПОВ «Створення плагінів для pytest»
ОЛЕКСІЙ ОСТАПОВ «Створення плагінів для pytest»GoQA
 
РОМАН ДУМАНСЬКИЙ «Testing the application in the Amazon Cloud»
РОМАН ДУМАНСЬКИЙ «Testing the application in the Amazon Cloud»РОМАН ДУМАНСЬКИЙ «Testing the application in the Amazon Cloud»
РОМАН ДУМАНСЬКИЙ «Testing the application in the Amazon Cloud»GoQA
 
ВЯЧЕСЛАВ САХАРОВ “Баги, хотфікси та воркераунди в космічній галузі. Вчимось н...
ВЯЧЕСЛАВ САХАРОВ “Баги, хотфікси та воркераунди в космічній галузі. Вчимось н...ВЯЧЕСЛАВ САХАРОВ “Баги, хотфікси та воркераунди в космічній галузі. Вчимось н...
ВЯЧЕСЛАВ САХАРОВ “Баги, хотфікси та воркераунди в космічній галузі. Вчимось н...GoQA
 

Plus de GoQA (20)

АРТЕМ ГРИГОРЕНКО «Покращення процесів найму»
АРТЕМ ГРИГОРЕНКО «Покращення процесів найму»АРТЕМ ГРИГОРЕНКО «Покращення процесів найму»
АРТЕМ ГРИГОРЕНКО «Покращення процесів найму»
 
КАТЕРИНА ЖУПАН «Mobile Testing based on “ISTQB Mobile Application – Syllabus»
КАТЕРИНА ЖУПАН «Mobile Testing based on “ISTQB Mobile Application – Syllabus»КАТЕРИНА ЖУПАН «Mobile Testing based on “ISTQB Mobile Application – Syllabus»
КАТЕРИНА ЖУПАН «Mobile Testing based on “ISTQB Mobile Application – Syllabus»
 
МОРРІС-ВСЕСЛАВ ШОСТАК «Роль QA в індустрії програмного та апаратного забезпеч...
МОРРІС-ВСЕСЛАВ ШОСТАК «Роль QA в індустрії програмного та апаратного забезпеч...МОРРІС-ВСЕСЛАВ ШОСТАК «Роль QA в індустрії програмного та апаратного забезпеч...
МОРРІС-ВСЕСЛАВ ШОСТАК «Роль QA в індустрії програмного та апаратного забезпеч...
 
ОКСАНА ГОРОЩУК «Improving Quality Through Root Cause Analysis»
ОКСАНА ГОРОЩУК «Improving Quality Through Root Cause Analysis»ОКСАНА ГОРОЩУК «Improving Quality Through Root Cause Analysis»
ОКСАНА ГОРОЩУК «Improving Quality Through Root Cause Analysis»
 
ПАВЛО САФОНОВ «Як оцінити ефективність автоматизації»
ПАВЛО САФОНОВ «Як оцінити ефективність автоматизації»ПАВЛО САФОНОВ «Як оцінити ефективність автоматизації»
ПАВЛО САФОНОВ «Як оцінити ефективність автоматизації»
 
ГАННА КІЛІМОВА & СВІТЛАНА ЯКОВЛЄВА «ADA testing – те, що дуже на часі»
ГАННА КІЛІМОВА & СВІТЛАНА ЯКОВЛЄВА «ADA testing – те, що дуже на часі»ГАННА КІЛІМОВА & СВІТЛАНА ЯКОВЛЄВА «ADA testing – те, що дуже на часі»
ГАННА КІЛІМОВА & СВІТЛАНА ЯКОВЛЄВА «ADA testing – те, що дуже на часі»
 
СЕРГІЙ БРИТ «Як запускати тести з Playwright Java написані на Selenide. Не пе...
СЕРГІЙ БРИТ «Як запускати тести з Playwright Java написані на Selenide. Не пе...СЕРГІЙ БРИТ «Як запускати тести з Playwright Java написані на Selenide. Не пе...
СЕРГІЙ БРИТ «Як запускати тести з Playwright Java написані на Selenide. Не пе...
 
БОГДАН САВЧУК «IoT testing: Manual, Automation and Cyber Security techniques»
БОГДАН САВЧУК «IoT testing: Manual, Automation and Cyber Security techniques»БОГДАН САВЧУК «IoT testing: Manual, Automation and Cyber Security techniques»
БОГДАН САВЧУК «IoT testing: Manual, Automation and Cyber Security techniques»
 
ЕЛЬМІР ІСКАНДЕРОВ «Bulletproof Your Software: The Magic of Security Autotests»
ЕЛЬМІР ІСКАНДЕРОВ «Bulletproof Your Software: The Magic of Security Autotests»ЕЛЬМІР ІСКАНДЕРОВ «Bulletproof Your Software: The Magic of Security Autotests»
ЕЛЬМІР ІСКАНДЕРОВ «Bulletproof Your Software: The Magic of Security Autotests»
 
ІННА ДВОЙНІКОВА «Як вийти на Upwork та розширити горизонти QA»
ІННА ДВОЙНІКОВА «Як вийти на Upwork та розширити горизонти QA»ІННА ДВОЙНІКОВА «Як вийти на Upwork та розширити горизонти QA»
ІННА ДВОЙНІКОВА «Як вийти на Upwork та розширити горизонти QA»
 
КАТЕРИНА АБЗЯТОВА «Point of Growth: Transforming Challenges into Skill-Buildi...
КАТЕРИНА АБЗЯТОВА «Point of Growth: Transforming Challenges into Skill-Buildi...КАТЕРИНА АБЗЯТОВА «Point of Growth: Transforming Challenges into Skill-Buildi...
КАТЕРИНА АБЗЯТОВА «Point of Growth: Transforming Challenges into Skill-Buildi...
 
НАТАЛІЯ ТРОЙНІЧ «Редизайн всього продукту, коли на проекті залишилось два ман...
НАТАЛІЯ ТРОЙНІЧ «Редизайн всього продукту, коли на проекті залишилось два ман...НАТАЛІЯ ТРОЙНІЧ «Редизайн всього продукту, коли на проекті залишилось два ман...
НАТАЛІЯ ТРОЙНІЧ «Редизайн всього продукту, коли на проекті залишилось два ман...
 
РІНА УЖЕВКО «Вплив архітектури на стратегію тестування»
РІНА УЖЕВКО «Вплив архітектури на стратегію тестування»РІНА УЖЕВКО «Вплив архітектури на стратегію тестування»
РІНА УЖЕВКО «Вплив архітектури на стратегію тестування»
 
СЕРГІЙ РУСІНЧУК «Розкриття майстерності QA команд через KPI»
СЕРГІЙ РУСІНЧУК «Розкриття майстерності QA команд через KPI»СЕРГІЙ РУСІНЧУК «Розкриття майстерності QA команд через KPI»
СЕРГІЙ РУСІНЧУК «Розкриття майстерності QA команд через KPI»
 
КАТЕРИНА АБЗЯТОВА - Certify with confidence: ISTQB Foundation 4.0. Common err...
КАТЕРИНА АБЗЯТОВА - Certify with confidence: ISTQB Foundation 4.0. Common err...КАТЕРИНА АБЗЯТОВА - Certify with confidence: ISTQB Foundation 4.0. Common err...
КАТЕРИНА АБЗЯТОВА - Certify with confidence: ISTQB Foundation 4.0. Common err...
 
Слуцька Вікторія - Виступити і не наступити на граблі: Як виступати QA спеціа...
Слуцька Вікторія - Виступити і не наступити на граблі: Як виступати QA спеціа...Слуцька Вікторія - Виступити і не наступити на граблі: Як виступати QA спеціа...
Слуцька Вікторія - Виступити і не наступити на граблі: Як виступати QA спеціа...
 
ОЛЕКСАНДР ХОТЕМСЬКИЙ «Планування стратегії розвитку тестування на проекті»
ОЛЕКСАНДР ХОТЕМСЬКИЙ «Планування стратегії розвитку тестування на проекті»ОЛЕКСАНДР ХОТЕМСЬКИЙ «Планування стратегії розвитку тестування на проекті»
ОЛЕКСАНДР ХОТЕМСЬКИЙ «Планування стратегії розвитку тестування на проекті»
 
ОЛЕКСІЙ ОСТАПОВ «Створення плагінів для pytest»
ОЛЕКСІЙ ОСТАПОВ «Створення плагінів для pytest»ОЛЕКСІЙ ОСТАПОВ «Створення плагінів для pytest»
ОЛЕКСІЙ ОСТАПОВ «Створення плагінів для pytest»
 
РОМАН ДУМАНСЬКИЙ «Testing the application in the Amazon Cloud»
РОМАН ДУМАНСЬКИЙ «Testing the application in the Amazon Cloud»РОМАН ДУМАНСЬКИЙ «Testing the application in the Amazon Cloud»
РОМАН ДУМАНСЬКИЙ «Testing the application in the Amazon Cloud»
 
ВЯЧЕСЛАВ САХАРОВ “Баги, хотфікси та воркераунди в космічній галузі. Вчимось н...
ВЯЧЕСЛАВ САХАРОВ “Баги, хотфікси та воркераунди в космічній галузі. Вчимось н...ВЯЧЕСЛАВ САХАРОВ “Баги, хотфікси та воркераунди в космічній галузі. Вчимось н...
ВЯЧЕСЛАВ САХАРОВ “Баги, хотфікси та воркераунди в космічній галузі. Вчимось н...
 

Dernier

Проєкт «ІТ.UA: народжені в Україні». Єгор Анчишкін
Проєкт «ІТ.UA: народжені в Україні». Єгор Анчишкін Проєкт «ІТ.UA: народжені в Україні». Єгор Анчишкін
Проєкт «ІТ.UA: народжені в Україні». Єгор Анчишкін НБУ для дітей
 
Критерії самоцінювання Іноземні мови.pdf
Критерії самоцінювання  Іноземні мови.pdfКритерії самоцінювання  Іноземні мови.pdf
Критерії самоцінювання Іноземні мови.pdfolha1koval
 
критерії сооцінювання і взаємооцінюваннятехнології.pdf
критерії сооцінювання і взаємооцінюваннятехнології.pdfкритерії сооцінювання і взаємооцінюваннятехнології.pdf
критерії сооцінювання і взаємооцінюваннятехнології.pdfolha1koval
 
ПОРТУГАЛІЯ ТА ІСПАНІЯ В ПЕРШІЙ ТРЕТИНІ хх СТ.pptx
ПОРТУГАЛІЯ ТА ІСПАНІЯ В ПЕРШІЙ ТРЕТИНІ хх СТ.pptxПОРТУГАЛІЯ ТА ІСПАНІЯ В ПЕРШІЙ ТРЕТИНІ хх СТ.pptx
ПОРТУГАЛІЯ ТА ІСПАНІЯ В ПЕРШІЙ ТРЕТИНІ хх СТ.pptxAlexanderSholk
 
Черкаський художньо-технічний коледж оголошує про день відкритих дверей
Черкаський художньо-технічний коледж оголошує про день відкритих дверейЧеркаський художньо-технічний коледж оголошує про день відкритих дверей
Черкаський художньо-технічний коледж оголошує про день відкритих дверейvitaliyinformatik
 
Роберт Шеклі. Біографія письменника-фантаста
Роберт Шеклі. Біографія письменника-фантастаРоберт Шеклі. Біографія письменника-фантаста
Роберт Шеклі. Біографія письменника-фантастаAdriana Himinets
 
Луцький центр ПТО соціальний проєкт .pptx
Луцький центр ПТО соціальний проєкт .pptxЛуцький центр ПТО соціальний проєкт .pptx
Луцький центр ПТО соціальний проєкт .pptxhome
 
Презентація роботи Осипенківської ЗОШ 2023-2024.pptx
Презентація роботи Осипенківської ЗОШ 2023-2024.pptxПрезентація роботи Осипенківської ЗОШ 2023-2024.pptx
Презентація роботи Осипенківської ЗОШ 2023-2024.pptxssuserc6cee7
 
Автомат.звука с.інтегровані ігри для дітейpptx
Автомат.звука с.інтегровані ігри для дітейpptxАвтомат.звука с.інтегровані ігри для дітейpptx
Автомат.звука с.інтегровані ігри для дітейpptxvitalina6709
 
освітня програма 2023-2024 .
освітня програма  2023-2024                    .освітня програма  2023-2024                    .
освітня програма 2023-2024 .zaskalko111
 
Kryterii otciniuvannia navchalnykh dosiahnen
Kryterii otciniuvannia navchalnykh dosiahnenKryterii otciniuvannia navchalnykh dosiahnen
Kryterii otciniuvannia navchalnykh dosiahnenolha1koval
 

Dernier (14)

17.04.2024.1.docx17.04.2024.1.docx17.04.2024.1.docx
17.04.2024.1.docx17.04.2024.1.docx17.04.2024.1.docx17.04.2024.1.docx17.04.2024.1.docx17.04.2024.1.docx
17.04.2024.1.docx17.04.2024.1.docx17.04.2024.1.docx
 
Проєкт «ІТ.UA: народжені в Україні». Єгор Анчишкін
Проєкт «ІТ.UA: народжені в Україні». Єгор Анчишкін Проєкт «ІТ.UA: народжені в Україні». Єгор Анчишкін
Проєкт «ІТ.UA: народжені в Україні». Єгор Анчишкін
 
17.04.2024.2.docx17.04.2024.2.docx17.04.2024.2.docx
17.04.2024.2.docx17.04.2024.2.docx17.04.2024.2.docx17.04.2024.2.docx17.04.2024.2.docx17.04.2024.2.docx
17.04.2024.2.docx17.04.2024.2.docx17.04.2024.2.docx
 
Критерії самоцінювання Іноземні мови.pdf
Критерії самоцінювання  Іноземні мови.pdfКритерії самоцінювання  Іноземні мови.pdf
Критерії самоцінювання Іноземні мови.pdf
 
Віртуальна виставка «Аграрна наука України у виданнях: історичний аспект»
Віртуальна виставка «Аграрна наука України у виданнях: історичний аспект»Віртуальна виставка «Аграрна наука України у виданнях: історичний аспект»
Віртуальна виставка «Аграрна наука України у виданнях: історичний аспект»
 
критерії сооцінювання і взаємооцінюваннятехнології.pdf
критерії сооцінювання і взаємооцінюваннятехнології.pdfкритерії сооцінювання і взаємооцінюваннятехнології.pdf
критерії сооцінювання і взаємооцінюваннятехнології.pdf
 
ПОРТУГАЛІЯ ТА ІСПАНІЯ В ПЕРШІЙ ТРЕТИНІ хх СТ.pptx
ПОРТУГАЛІЯ ТА ІСПАНІЯ В ПЕРШІЙ ТРЕТИНІ хх СТ.pptxПОРТУГАЛІЯ ТА ІСПАНІЯ В ПЕРШІЙ ТРЕТИНІ хх СТ.pptx
ПОРТУГАЛІЯ ТА ІСПАНІЯ В ПЕРШІЙ ТРЕТИНІ хх СТ.pptx
 
Черкаський художньо-технічний коледж оголошує про день відкритих дверей
Черкаський художньо-технічний коледж оголошує про день відкритих дверейЧеркаський художньо-технічний коледж оголошує про день відкритих дверей
Черкаський художньо-технічний коледж оголошує про день відкритих дверей
 
Роберт Шеклі. Біографія письменника-фантаста
Роберт Шеклі. Біографія письменника-фантастаРоберт Шеклі. Біографія письменника-фантаста
Роберт Шеклі. Біографія письменника-фантаста
 
Луцький центр ПТО соціальний проєкт .pptx
Луцький центр ПТО соціальний проєкт .pptxЛуцький центр ПТО соціальний проєкт .pptx
Луцький центр ПТО соціальний проєкт .pptx
 
Презентація роботи Осипенківської ЗОШ 2023-2024.pptx
Презентація роботи Осипенківської ЗОШ 2023-2024.pptxПрезентація роботи Осипенківської ЗОШ 2023-2024.pptx
Презентація роботи Осипенківської ЗОШ 2023-2024.pptx
 
Автомат.звука с.інтегровані ігри для дітейpptx
Автомат.звука с.інтегровані ігри для дітейpptxАвтомат.звука с.інтегровані ігри для дітейpptx
Автомат.звука с.інтегровані ігри для дітейpptx
 
освітня програма 2023-2024 .
освітня програма  2023-2024                    .освітня програма  2023-2024                    .
освітня програма 2023-2024 .
 
Kryterii otciniuvannia navchalnykh dosiahnen
Kryterii otciniuvannia navchalnykh dosiahnenKryterii otciniuvannia navchalnykh dosiahnen
Kryterii otciniuvannia navchalnykh dosiahnen
 

ЮРІЙ СЕРДЮК «Патерни проектування в автоматизації. Практичний досвід з Python» Online QADay 2023

  • 1.
  • 3. About QA since 2019 From manual QA to automation QA Athlete with 12 years of experience
  • 4. Agenda 1. Що таке патерн 2. Навіщо знати патерни 3. Класифікація патернів 4. Огляд патернів
  • 5. Що таке Патерн? Патерн проектування - це типовий спосіб вирішення проблем при проектуванні програм. Він не може бути просто скопійований в програму, як готові функції або бібліотеки. Це загальний принцип вирішення проблеми, який потрібно адаптувати до потреб конкретної програми. Патерни і алгоритми часто помилково сприймаються як одне й те саме, тому що обидва описують типові рішення для відомих проблем. Але, якщо алгоритм - це конкретний набір дій, то патерн - це більш загальний опис рішення на високому рівні, реалізація якого може відрізнятися в різних програмах.
  • 6. Навіщо знати патерни? Використання перевірених рішень може заощадити багато часу, оскільки вам не доведеться винаходити велосипеди знову і знову. Хоча деякі рішення можуть бути очевидними, інші можуть здивувати вас своєю ефективністю і корисністю. Використання уніфікованих рішень дозволяє уникнути прорахунків при проектуванні, оскільки всі можливі проблеми вже виявлені і вирішені. Це сприяє стандартизації коду та полегшує розуміння проекту всіма членами команди. Використання загальної термінології паттернів дозволяє програмістам швидше і ефективніше спілкуватися та розуміти один одного. Замість того, щоб витрачати час на пояснення свого дизайну і класів, ви можете коротко назвати паттерн, який використовується, і зосередитися на його реалізації.
  • 7. Класифікація патернів Породжуючі патерни піклуються про гнучке створення об’єктів без внесення в програму зайвих залежностей. Структурні патерни показують різні способи побудови зв’язків між об’єктами. Поведінкові патерни піклуються про ефективну комунікацію між об’єктами.
  • 8. Decorator Facade Factory method Composite Builder Singleton Chain of Responsibility
  • 9.
  • 10. Одинак — це породжувальний патерн проектування, який гарантує, що клас має лише один екземпляр, та надає глобальну точку доступу до нього. Singleton
  • 11. Коли в програмі повинен бути єдиний екземпляр якого-небудь класу, доступний усім клієнтам (наприклад, спільний доступ до бази даних з різних частин програми). Коли треба мати більше контролю над глобальними змінними.
  • 12.
  • 13. Фабричний метод — це породжувальний патерн проектування, який визначає загальний інтерфейс для створення об’єктів. Factory method
  • 14. Коли типи і залежності об’єктів, з якими повинен працювати ваш код, невідомі заздалегідь. Коли ви хочете надати користувачам можливість розширювати частини вашого фреймворку чи бібліотеки. Коли ви хочете зекономити системні ресурси, повторно використовуючи вже створені об’єкти, замість породження нових.
  • 15.
  • 16.
  • 17. Будівельник — це породжувальний патерн проектування, що дає змогу створювати складні об’єкти крок за кроком. Будівельник дає можливість використовувати один і той самий код будівництва для отримання різних відображень об’єктів. Builder
  • 18. Коли код повинен створювати різні уявлення якогось об’єкта Коли потрібно збирати складні об’єкти
  • 19.
  • 20. Декоратор — це структурний патерн проектування, що дає змогу динамічно додавати об’єктам нову функціональність, загортаючи їх у корисні «обгортки». Decorator
  • 21. Якщо потрібно додавати об’єктам нові обов’язки «на льоту», непомітно для коду, який їх використовує. Якщо не можна розширити обов’язки об’єкта за допомогою спадкування.
  • 22.
  • 23. Фасад — це структурний патерн проектування, який надає простий інтерфейс до складної системи класів, бібліотеки або фреймворку. Facade
  • 24. Якщо потрібно надати простий або урізаний інтерфейс до складної підсистеми. Розкласти підсистему на окремі рівні.
  • 25.
  • 26. Компонувальник — це структурний патерн проектування, що дає змогу згрупувати декілька об’єктів у деревоподібну структуру, а потім працювати з нею так, ніби це одиничний об’єкт. Composite
  • 27. Якщо потрібно представити деревоподібну структуру об’єктів. Якщо клієнти повинні однаково трактувати прості та складові об’єкти.
  • 28.
  • 29. Ланцюжок обов’язків — це поведінковий патерн проектування, що дає змогу передавати запити послідовно ланцюжком обробників. Кожен наступний обробник вирішує, чи може він обробити запит сам і чи варто передавати запит далі ланцюжком. Chain of Responsibility
  • 30. Якщо програма має обробляти різноманітні запити багатьма способами, але заздалегідь невідомо, які конкретно запити надходитимуть і які обробники для них знадобляться. Якщо важливо, щоб обробники виконувалися один за іншим у суворому порядку. Якщо набір об’єктів, здатних обробити запит, повинен задаватися динамічно.
  • 31.
  • 32. Яке відношення має фаза місяця до результатів автоматизованого тестування? Чи є дослідження, які показують, що результати тестування можуть залежати від фази місяця? І якщо так, то чому? twitter.com/p2h_global instagram.com/p2h_space