TGViewer
Channel Public Channel
qa семпай про тестування

qa семпай про тестування

@qa_advice

Звати Паша, роблю відео для каналу qa семпай

про автоматизацію: https://www.youtube.com/@qa_senpai

секретний чатік: https://base.monobank.ua/Cjh2Sfav8314TE#subscriptions

дірект: @qa_senpai_dojo
Subscribers
3.12K
Photos
272
Videos
32
Links
434

Showing posts older than #45 · Back to latest

Older Posts 18 shown
Post #44 528
Подивився деякі доповоді з рос конференції для тестувальників.
Доповіді не дуже цікаві, але для себе декілька ідей для наступних відео взяв.

Ось коротке самарі доповіді:
особливість їх роботи полягає в тому, що вони регулярно проводять А/Б тестування деяких сторінок.
Що призводить до регулярної їх зміни.

Вони ділять ці зміни на три категорії складності:

1️⃣ незначні зміни в DOM моделі сторінки
2️⃣ додавання/прибирання елемента на сторінці
3️⃣ зміна сторінки повністю

Як вони пропонують боротись з першими двома рівнями складності?
1️⃣ В першому випадку вони просто додають в їх selector умови по типу OR (//*[@title='Annotate' or text()='Annotate'])
2️⃣ якщо елементи змінюються, вони використовують в свої тестах if else

public SetConfirmation CodePagePromise click ContinueButton() {
}
if (baseFunc.explicitWait (ExpectedConditions.invisibilityOfElementLocated (CONTINUE_BUTTON)).isSuccess()) { LOGGER.info(message: "Трапився автосабмит кода", bаse Func. takeScreenshot());
} else {
}
LOGGER.info(message: "Натискаємо кнопку 'Далі'", base Func. takeScreenshot());
baseFunc.click(CONTINUE_BUTTON);
return new SetConfirmationCodePagePromise(baseFunc);

особисто я вважаю використання if else не дуже вдалим рішенням, але як адаптуватись під зміни без цього... я поки хз.

3️⃣ як вони працюють з різними сторінками?
Якщо коротко, вони просто перевіряють наявність специфічного для сторінки елемента, і в залежності від цього повертають правильний PageObject. Для цього використовують фабричний метод.

Фабричний метод — це породжувальний патерн проектування, який визначає загальний інтерфейс для створення об’єктів у суперкласі, дозволяючи підкласам змінювати тип створюваних об’єктів.

public static boolean isPopupLogin() {
return $(SHOW_PASSWORD_BUTTON).isDisplayed();
}

public static boolean isNewAnonymPage() {
return $(OK_LOGO).isDisplayed();
}

public static LoginPage get (Base Func baseFunc) { if (isPopupLogin (base Func)) {
return new Login Popup (base Func);
}
else if (isNewAnonymPage (base Func)) { return new NewAnonymLoginPage (baseFunc); }
else {return new OldLoginPage (base Func)
; }

він там щє розповідав як вони створюють тестових юзерів (ботів), але то таке... дуже специфічна тема для кожного окремого проекту метод буде свій.

➡️➡️➡️

Якщо вам цікаві огляди доповідей конференцій проголосуйте
👍 - якщо робити такі огляди
👎🏻 - якщо не треба.
пишіть коментар - якщо треба, але англомовних
GitHub test-automation-example/cheat-sheets/xpath.md at main · qa-senpai/test-automation-example Contribute to qa-senpai/test-automation-example development by creating an account on GitHub.
  • 👍 13
  • ❤ 1
  • 👎 1
Post #43 452
це я і мій менеджер 😁

Тіки я вже не новенький, але все одно намагаюсь щось змінювати...

а у вас як, важко впроваджувати зміни?
  • 😁 11
Post #42 491
пам'ятаю як тестував на Mac, а там перекинути скрін на основний комп було не дуже комфортно, так я знімав екран на телефон 🤷‍♂️🙃
  • 😁 8
  • 👍 1
Post #41 471
❓Пані і панове, цікавить ваша думка❓

Чи правильно (на рівні рекрутера) відмовляти кандидату у співбесіді, якщо він не має досвіду в якомусь конкретному інструменті автоматизації тестування❔

Наприклад в вакансії вказано Playwright, а у кандидата роки досвіду з іншими інструментами (Selenium, Cypress і тп).

кандидат рівня Senior+
  • 👎 2
  • 👍 1
Post #40 1.12K
Зараз на Djinni одна вакансія QA збирає 150+ відгуків, що вже здається неймовірним. 
Але, в LinkedIn я натрапив на пост дівчини яка шукає роботу тестувальниці в США, з досвідом у 8 років вона вже 5 місяців не може нічого знайти бо кількість кандидатів на одну позицію біля 6000 (ШЕСТИ ТИСЯЧ!!!) за 4 дні... 

🔸Чому так відбувається?🔸
В США є ринок QA шкіл, в яких студенти займаються  6-9 місяців, де  студентів  вчать не тестуванню, а успішному проходженню співбесіди

Далі, випускник складає ідеальне резюме Senior QA Engineer і подається на всі відкриті вакансії які є на ринку  

Наприклад, вакансія  вимагає мати досвід 5+ років?
Добре, в резюме вже написано що він працював в уявній компанії з номером телефона свого друга чи спеціально навченого співробітника школи, той розповідає який кандидат класний, і як він круто працював з ними всі ці п'ять років.

Так проходять бекграуд чек ✅

Далі все залежить від того, чи зможе кандидат відповісти на всі запитаннями інтерв'юера. І якщо кандидат всі ці 6-9 місяців вправно зубрив у нього шансів більше ніж у реального Senior, бо якщо у випадку "справжнього" кандидата він вміє працювати й зможе себе проявити в роботі, то у випадку фейкового кандидата - він робить саме те чому вчився всі ці пів року - справляє враження... 
______________________________________
А у мене є питання до вас 🤔

1️⃣Чи етичний такий спосіб пошуку роботи, або всі методи хороші  на висококонкурентному ринку праці? 
2️⃣Чи були б "школи" такого характеру успішні в Україні? (я, наприклад знаю одну таку, яка приблизно так само вчить шукати роботу) 
__________________________________
Якщо вам цікава повна історія, можете перейти за посиланням
  • 🤷 10
  • 👍 1
Post #39 527
А ви замислювались як вони кожен раз страждають? 🙈
  • 😁 10
Post #37 540
Дякую всім прекрасним панам і панянкам за підписку 🤝

Мене звати Паша, я інженер та автор youtube каналу qa семпай
Мій основний напрямок зараз це автоматизація тестування, управління командами і побудова процесів.

В телеграмі я зазвичай роблю пости з додатковою інформацією до тем відео та мемчики пов'язані з тестуванням і ІТ .
Як от наприклад відео про те, що не так з BDD і історія про те як проходив співбесіду в компанію де вони юзають Cucumber 🥒

Будемо на зв'язку 🔥
YouTube що не так з BDD? (керована поведінкою розробка) Ми поговоримо про те, чому BDD в загальній массі не працює як процес автоматизації тестування Це відео, мій крик душі. Його я б хотів показати своєму менеджеру коли він просував кукумбер для автоматизації тестів... благо ми тоді вистояли, але не всім так…
  • 👍 9
  • ❤ 2
Post #36 192

Forwarded from Нотатки суворого QA 💛💙 (Artem Grygorenko)

💡Українські телеграм канали з тестування.

Колись я збирав папку з активними українськими телеграм каналами з тестування.
У нас їх стало трішки більше, тому підписуємось на нові. І звичайно допомагаємо розповсюдити користь ;)

Додати собі

Якщо я когось забув - пишіть ;)

*оновлено
  • 👍 2
Post #35 365
Пан суворий QA робить правильні речі для популяризації українських авторів, за що йому подяка 💪
У мене є надія, що колись українське комьюніті тестувальників стане таким же активним як і комьюніті українських розробників 🤞
Post #34 341
раніше міг понити комусь, а тепер всі приходять понити тобі...
  • 😁 9
Post #33 350
Випустив нове відео, народжувалось воно через біль і страждання... бо я захворів :)

В відео говорив про свій досвід роботи з так званими "BDD тестами" і чому вони не працюють.
Будь ласка подивіться до кінця і залиште коментар ❤️❤️❤️ (ютьюб таке любить)

А от вам коротка історія про співбесіду.
В якийсь момент я вирішив, що засидівся і не прогресую... треба міняти місце роботи. Відкрив Djinni профайл і шось там почали писати різне, але не за моїм фахом. По ітогу написала рекрутер, ми домовились про співбесіди. Перша була внутрішня, друга з клієнтом.

Першу я пройшов успішно, і вона мені скидає питання які клієнт зазвичай питає кандидатів.

1) How good are your JavaScript skills? For how long have you been for JS automation?
2) Are you familiar with API testing things.
3) Difference between петч и put request.
4) If you needed to write an automation framework, what would your automation framework structure look like?
5) How the automation framework structure looks in Selenium and in Cypress?
6) Have you used BDD?
7) Do you know what is scenario concept? мока concept?

Перше питання яке я задав їй у відповідь, чи ваш клієнт індієць? 😁
Вона, мені відповідає - а як ти дізнався? 😆

Співбесіду мені проводила два індійця, і якщо першого я щє розумів, то інший (він типу технарь був) я взагалі ні слова не поняв... 🤦‍♂️

Пройшло, як мабуть ви здогадались, все дуже погано (на щастя), але історія запам'яталась мені тим як я по питанням викупив, що клієнт індієць і що BDD/Gherkin відстій😅
——-——-——-——-——-——-——-——-
Як ви думаєте, як я зрозумів, що представник їх клієнта був індійцем? 😅
YouTube що не так з BDD? (керована поведінкою розробка) Ми поговоримо про те, чому BDD в загальній массі не працює як процес автоматизації тестування Це відео, мій крик душі. Його я б хотів показати своєму менеджеру коли він просував кукумбер для автоматизації тестів... благо ми тоді вистояли, але не всім так…
  • ❤ 5
  • 👍 2
Post #32 300
Flaky тест - головний ворог тестувальника 😡

У себе в проекті я не дозволяю🙅🏻‍♂️ мержити новий тест поки

- тест не виконали 10 разів підряд
- всі 10 разів були успішні
- тест не залишив по собі ніяких слідів
- до Pull Request прикладається скрін з логом виконання

Щоб не запускати тест в ручну і не чекати кожен раз виконання в playwright-test є хороша команда

--repeat-each={кількість виконань}

Приклад:

npx playwright test -g "TEST-7290 Create something-check that it created" --workers=3 --repeat-each=10 

Користуйтесь🤝
  • 👍 7
Post #31 363
🇺🇦 Доброго дня, вітаю з Днем Державного прапору 🇺🇦

qa семпай випустив відео про композицію і як її застосувати для створення модульних і якісних page object model.

А тут я напишу свої думки про важливість об'єктно орієнтованого програмування (далі ооп) для інженера з автоматизації тестування.

1️⃣ ооп неможливо “вивчити”, його можна тільки зрозуміти регулярно займаючись дизайном систем за допомогою цієї парадигми

2️⃣ без "розуміння" можна дуже довго і результативно працювати, написання автоматизованих тестів не вимагає застосування ооп, більше того, інколи це може бути шкідливим і призвести до надмірної "складності" системи

3️⃣ ооп необхідно якщо ви будуєте систему автоматизації тестування "на роки", якщо ваша автоматизація це на довго і вам потрібно її регулярно підтримувати, дописувати нові компоненти, розширяти, та залучати інших інженерів.
тоді обʼєктно орієнтований підхід розкривається на повну і ви отримаєте всі бенефіти цієї парадигми.


тож я рекомендую на початку не фокусуватися на вивченні ооп, починайте писати тести, далі створюйте page object класи з використанням наслідування і композиції, повертайтесь до "старих" класів і переглядайте, дивіться що можна зробити краще і в якийсь момент ви скажете, ааа ось воно що... тепер зрозуміло 😄

а, що думаєте ви ? ⬇️⬇️⬇️
YouTube композиція - наступний рівень page object model playwright В цьому відео ми покажемо і розкажемо як використовувати композицію в побудові Page Object Model класів. Це допоможе вам робити більш модульні і легкі у підтримці проекти автоматизації тестування з використанням POM патерну. телеграм: 📎 https://t.me/qa_advice/31…
  • ❤ 3
Post #28 281
📹з відео про першу мову програмування вибрав коментарі які на мій погляд добре доповнюють і розширюють зміст відео.

А, що ви думаєте❓
  • 👍 2
Post #27 255
бажаю вам зелених тестів в п'ятничні релізи 🤞🏻
Post #26 251
Особисто мав справу лише з
- REST
- SOAP
- GraphQL
- WebSockets
- Webhooks
  • 👍 1
Post #25 229
Добрий ранок
Бажаю продуктивного тижня 😊

#http #codes
*взято з просторів інтернету
  • 👍 5
Post #24 290
☀️шпаргалка по використанню CSS Selectors ☀️

алгоритм по створенню CSS Selectors

1) є id? - Використайте його.
2) є унікальний атрибут (наприклад placeholder, title, name)? - Використайте його.
3) Якщо цього всього нема то використовуйте комбінації (tag[parentElement] [childElement])
4) Класи використовуйте якщо не виходить з id чи атрибутами, або в комбінації з ними
.css-1avyp1d img[decoding= 'async']
5) Для класів можете використовувати contains функції
[class *= '1avyp1d'] img[decoding= 'async']

📎 Посилання на шпаргалку CSS Selector: https://bit.ly/47pPoS0
📎 Відео по темі СSS Selector: https://youtu.be/ZA-w7CsqwY0

#css #selector

telegram youtube канал
GitHub test-automation-example/cheat-sheets/css-selectors.md at main · qa-senpai/test-automation-example Contribute to qa-senpai/test-automation-example development by creating an account on GitHub.
  • 👍 4
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →