Все что надо знать о код ревью
https://www.youtube.com/watch?v=wWB2RTfBe_M
Теги: #cleanСode, #reviews.
https://www.youtube.com/watch?v=wWB2RTfBe_M
Теги: #cleanСode, #reviews.
YouTube
Ангелина Купцова — Код-ревью с уважением
Подробнее о конференции HolyJS: https://jrg.su/EM4wwV
— —
Что может помочь вырасти разработчику или полностью убить его мотивацию? Что может усилить командную работу или полностью разрушить коллектив? Что может улучшить проект или превратить его в груду…
— —
Что может помочь вырасти разработчику или полностью убить его мотивацию? Что может усилить командную работу или полностью разрушить коллектив? Что может улучшить проект или превратить его в груду…
👎49👍7
Опубликовали мой доклад с осеннего гейзенбага
Я рассказывал про девтулзы и о том, как искать утечки памяти и проблемы с производительностью
В этом сезоне будет продолжение истории девтулзов, только с акцентом на проблемы рендеринга
И на осень в этом году (если все получится) поговорим про доступность и его тестирования, используя девтулзы
Оставлю тут промкод
https://www.youtube.com/watch?v=WroJikjigpg
Теги: #automation, #devtools, #performance, #rendering, #accessibility.
Я рассказывал про девтулзы и о том, как искать утечки памяти и проблемы с производительностью
В этом сезоне будет продолжение истории девтулзов, только с акцентом на проблемы рендеринга
И на осень в этом году (если все получится) поговорим про доступность и его тестирования, используя девтулзы
Оставлю тут промкод
AlexeyIvanov дает скидку 25% на билеты «Для частных лиц»https://www.youtube.com/watch?v=WroJikjigpg
Теги: #automation, #devtools, #performance, #rendering, #accessibility.
Heisenbug 2024 Spring. Конференция по тестированию не только для тестировщиков
Браузерные инструменты: ищем проблемы рендеринга | Доклад на Heisenbug 2024 Spring
Доклад о важности поиска проблем рендеринга и анимации в веб-приложениях. Рассмотрим основные браузерные инструменты для поиска, а также практические примеры использования.
👎63👍16
На замену гермионе яндекс выпустил тестовый фреймворк Testplane
Основанный на wdio и mocha
🤔 Интересно там пофиксили баг со скриншотом айфрейма
Не знаю на сколько им пользуются, ссылку оставлю тут, вдруг кому интересно
https://github.com/gemini-testing/testplane
Теги: #testplane #wdio #mocha
Основанный на wdio и mocha
Не знаю на сколько им пользуются, ссылку оставлю тут, вдруг кому интересно
https://github.com/gemini-testing/testplane
Теги: #testplane #wdio #mocha
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - gemini-testing/testplane: Testplane (ex-hermione) browser test runner based on mocha and wdio
Testplane (ex-hermione) browser test runner based on mocha and wdio - gemini-testing/testplane
👎60😁7👍4
Поучаствовал на прошлой неделе в дискуссии по развитию автотестов в команде, для меня все еще очень сложный формат, где налету надо строить мысли😂
https://youtu.be/nSDNye62hOk?si=4c6fPtTEcHVZLW-t
Теги: #automation
https://youtu.be/nSDNye62hOk?si=4c6fPtTEcHVZLW-t
Теги: #automation
YouTube
Дискуссия "Уютные автотестирования"
Модератор:
Артем Бадышев,
Технический лидер тестирования, ex-Альфа-Банк
Иванов Алексей Владимирович
SDET, Самолет
Архипова Ангелина Александровна
QA инженер, Авито
Зотов Дмитрий
Руководитель группы разработки, Tinkoff
Екатерина Луна
Технический лидер…
Артем Бадышев,
Технический лидер тестирования, ex-Альфа-Банк
Иванов Алексей Владимирович
SDET, Самолет
Архипова Ангелина Александровна
QA инженер, Авито
Зотов Дмитрий
Руководитель группы разработки, Tinkoff
Екатерина Луна
Технический лидер…
👎60👍15😁1
Если у вас есть большой тест, и повторный запуск (retry) не имеет смысла, Сергей Гапанович предлагает отключать такие тесты для повторов. Используйте testInfo.retry, чтобы пропускать ненужные проверки:
Такой подход позволяет оптимизировать процесс автоматизации, исключая ненужные повторы для больших тестов.
Источник
Теги: #automation #cleanСode #playwright
test.describe("How testInfo works", async () => {
test("check", async ({}, testInfo) => {
if (testInfo.retry) test.skip(true, "Повторы не поддерживаются");
expect(1).toBe(2);
});
});
Такой подход позволяет оптимизировать процесс автоматизации, исключая ненужные повторы для больших тестов.
Источник
Теги: #automation #cleanСode #playwright
Playwright Solutions
How To Use Playwright's testInfo.retry To Deal With Flakey Environments
The environment I am working with can be unstable sometimes. To ensure I don't have false negative tests, I need to rerun the failed checks. Playwright makes this easy by allowing you to pass --retries followed by the number of retries.
Skipping certain…
Skipping certain…
👎49👍8
В последнее время я все больше уделяю внимание юнит тестированию, что связано с моим наставничеством на Hexlet и выравнивание пирамиды на работе.
И немного решил освежить основы при написания юнит тестов:
Теги: #unitTests #testing
Please open Telegram to view this post
VIEW IN TELEGRAM
👎54👍8
Давайте разберем конкретные примеры тестирования компонентов React для каждого из принципов FIRST ☝️
Источник: https://github.com/tekguard/Principles-of-Unit-Testing
Теги: #react #тестирование #FIRST
Источник: https://github.com/tekguard/Principles-of-Unit-Testing
Теги: #react #тестирование #FIRST
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👎59👍9
Рассказал о MemLab (спойлер: это инструмент для анализа и оптимизации потребления памяти вашими веб-приложениями ) ➡️ читать здесь.
Ранее уже писал о потреблении памяти веб-приложения:
🔵 часть 1
🔵 часть 2
👍 — если полезно, 👎 — ничего нового
Теги: #tools
Ранее уже писал о потреблении памяти веб-приложения:
👍 — если полезно, 👎 — ничего нового
Теги: #tools
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegraph
Что такое MemLab?
MemLab — это инструмент для анализа и оптимизации потребления памяти вашими веб-приложениями. Он помогает обнаруживать утечки памяти в e2e сценариях. Пример кейса для E2E сценария: Давно замечал, что у иви, после просмотра трейлера, сайт немного начал медленно…
👎64👍11❤3
Так выглядит тест будущего, и это не bdd
ZeroStep — это инструмент, который улучшает тестирование с использованием Playwright, интегрируя искусственный интеллект, в частности, GPT-3.5 и GPT-4. Это позволяет сократить время на подготовку и исполнение тестов, а также уменьшить количество ошибок, связанных с изменениями в интерфейсе тестируемых приложений.
Я попробовал написать и автоматизировать тест, что мне показалось достаточно трудозатратным, требующим постоянного дебаггинга и проверки того, что именно тестирует мой тест.
Интересное представление о том, как будет выглядеть автоматизация будущего в виде промпт инженеринга, открывает новые перспективы в разработке тестов. Теперь вместо того, чтобы писать сложные и запутанные селекторы, можно использовать обычный разговорный язык для описания действий, которые должен выполнить тест. Кроме того, применение ИИ позволяет адаптироваться к изменениям в интерфейсе без необходимости переписывать тесты.
Хотя в настоящее время массовое использование таких инструментов, как ZeroStep, может быть ограничено из-за вопросов безопасности и недостаточного уровня доверия к автоматизации на основе ИИ, трудно предсказать, что будет через год. Технологии развиваются быстро, и возможности искусственного интеллекта в тестировании могут значительно расшириться, когда я начинал работать в далеком 2017 году я не мог представить о появлении ChatGPT, а сейчас это повседневный инструмент в работе.
Теги: #playwright #automation
test('Fill form', async ({ page }) => {
const aiArgs = { page, test };
await page.goto('/landings/open-account-and-invest/');
await ai(`Click the 'Открыть счет' button`, aiArgs);
await ai(`Wait until the form is fully loaded`, aiArgs);
await ai(`Fill the 'name' field with realistic data`, aiArgs);
await ai(`Fill the 'phone' field with the complete phone number '9195562010'`, aiArgs);
await ai(`Fill the 'email' field with realistic data`, aiArgs);
await ai(`Click the 'отправить' button`, aiArgs);
await ai(`Verify that a popup appears with the text 'Зарегистрироваться по номеру телефона'`, aiArgs);
});ZeroStep — это инструмент, который улучшает тестирование с использованием Playwright, интегрируя искусственный интеллект, в частности, GPT-3.5 и GPT-4. Это позволяет сократить время на подготовку и исполнение тестов, а также уменьшить количество ошибок, связанных с изменениями в интерфейсе тестируемых приложений.
Я попробовал написать и автоматизировать тест, что мне показалось достаточно трудозатратным, требующим постоянного дебаггинга и проверки того, что именно тестирует мой тест.
Интересное представление о том, как будет выглядеть автоматизация будущего в виде промпт инженеринга, открывает новые перспективы в разработке тестов. Теперь вместо того, чтобы писать сложные и запутанные селекторы, можно использовать обычный разговорный язык для описания действий, которые должен выполнить тест. Кроме того, применение ИИ позволяет адаптироваться к изменениям в интерфейсе без необходимости переписывать тесты.
Хотя в настоящее время массовое использование таких инструментов, как ZeroStep, может быть ограничено из-за вопросов безопасности и недостаточного уровня доверия к автоматизации на основе ИИ, трудно предсказать, что будет через год. Технологии развиваются быстро, и возможности искусственного интеллекта в тестировании могут значительно расшириться, когда я начинал работать в далеком 2017 году я не мог представить о появлении ChatGPT, а сейчас это повседневный инструмент в работе.
Теги: #playwright #automation
👎61👍15❤2
Я решил более регулярно вести канал, и мне интересно, что вам интересно и в каком виде — поучаствуйте в опросе, а если что-то хочется добавить, напишите в комментариях
Please open Telegram to view this post
VIEW IN TELEGRAM
👎55🔥3
👎52
Какой контент на моем канале для вас более полезный/интересный?
Anonymous Poll
77%
образовательный
71%
кейсы
27%
рассказы про конфы, доклады, митапы
👎62
Тесты можно разделить на две школы по способу изоляции кода:
⚖️ Разница в подходах
Тестируемый код
// orderService.js
class OrderService {
constructor(paymentService) {
this.paymentService = paymentService;
}
placeOrder(order) {
if (this.paymentService.processPayment(order)) {
return 'Order placed';
} else {
return 'Payment failed';
}
}
}
// paymentService.js
class PaymentService {
processPayment(order) {
// Логика обработки платежа
return true; // Или false в случае ошибки
}
}
Классический подход 📘
test('placeOrder returns "Order placed" when payment is successful', () => {
const paymentService = new PaymentService();
const orderService = new OrderService(paymentService);
const order = { amount: 100 };
const result = orderService.placeOrder(order);
expect(result).toBe('Order placed');
});Лондонская школа
test('placeOrder returns "Order placed" when payment is successful', () => {
const paymentService = { processPayment: jest.fn().mockReturnValue(true) };
const orderService = new OrderService(paymentService);
const order = { amount: 100 };
const result = orderService.placeOrder(order);
expect(result).toBe('Order placed');
expect(paymentService.processPayment).toHaveBeenCalledWith(order);
});Выбор подхода зависит от конкретного проекта и предпочтений команды.
Теги: #unitTests #testing #cleanСode
Please open Telegram to view this post
VIEW IN TELEGRAM
👎63👍8❤3
👎65