От чего зависит эффективность автотестов?
От их правильного написания и поддерживаемости!
Поэтому сегодня — немного о практиках, которые помогут вам создавать качественные автотесты на Java.
1. Используйте понятные и описательные названия тестов
Названия тестов должны четко отражать их цель. Это упрощает понимание кода всеми членами команды.
Например:
// Хорошо
// Плохо
Описательные названия помогают быстро понять, что проверяет тест, без необходимости изучения его внутренней логики.
2. Применяйте Page Object Model (POM)
Page Object Model позволяет отделить логику теста от структуры веб-страницы, что делает код более модульным и удобным для поддержки при изменениях интерфейса.
Пример использования:
// Класс
// Тестовый сценарий
POM способствует повторному использованию кода и улучшает читаемость тестов.
3. Используйте параметризацию и data-driven подход
Параметризованные тесты позволяют запускать один и тот же сценарий с различными входными данными, что увеличивает охват тестирования без дублирования кода.
Этот подход делает тесты более гибкими и масштабируемыми.
4. Следуйте принципу AAA (Arrange, Act, Assert)
Структурируйте тесты в три этапа:
Arrange: подготовка данных и окружения.
Act: выполнение действия.
Assert: проверка результата.
Пример:
Этот подход делает тесты более организованными и легко читаемыми.
5. Логирование и отчетность
Добавляйте логирование в тесты для диагностики проблем:
Интеграция инструментов отчетности (например, Allure) помогает визуализировать результаты тестов и быстро выявлять ошибки.
6. Регулярные ревью кода
Проводите регулярные ревью автотестов для повышения качества кода. Это помогает выявить потенциальные проблемы, улучшить читаемость и обеспечить соблюдение стандартов кодирования.
7. Автоматизация и CI/CD
Используйте инструменты автоматизации (Maven, Gradle) для запуска тестов в рамках CI/CD пайплайнов. Это ускоряет процесс разработки и обеспечивает стабильность приложения на всех этапах.
Следуйте этим практикам и создавайте эффективные автотесты, которые легко поддерживаются в долгосрочной перспективе.
Этому и многому другому научим вас на базовом курсе по автоматизации на Java.
🔗 Зарегистрируйтесь на первый открытый урок по ссылке.
От их правильного написания и поддерживаемости!
Поэтому сегодня — немного о практиках, которые помогут вам создавать качественные автотесты на Java.
1. Используйте понятные и описательные названия тестов
Названия тестов должны четко отражать их цель. Это упрощает понимание кода всеми членами команды.
Например:
// Хорошо
public void verifyLoginWithValidCredentials() { ... }
// Плохо
public void test1() { ... }
Описательные названия помогают быстро понять, что проверяет тест, без необходимости изучения его внутренней логики.
2. Применяйте Page Object Model (POM)
Page Object Model позволяет отделить логику теста от структуры веб-страницы, что делает код более модульным и удобным для поддержки при изменениях интерфейса.
Пример использования:
// Класс
Page Object
public class LoginPage {
private By usernameField = By. id("username");
private By passwordField = By. id("password");
private By loginButton = By. id("loginBtn");
public void enterUsername(String username) {
driver.findElement(usernameField).sendKeys(username);
}
public void enterPassword(String password) {
driver.findElement(passwordField).sendKeys(password);
}
public void clickLoginButton() {
driver.findElement(loginButton).click();
}
}
// Тестовый сценарий
LoginPage loginPage = new LoginPage(driver);
loginPage.enterUsername("john.doe");
loginPage.enterPassword("password123");
loginPage.clickLoginButton();
POM способствует повторному использованию кода и улучшает читаемость тестов.
3. Используйте параметризацию и data-driven подход
Параметризованные тесты позволяют запускать один и тот же сценарий с различными входными данными, что увеличивает охват тестирования без дублирования кода.
@ ParameterizedTest
@ CsvSource({"john.doe, password123", "jane.smith, test@123"})
public void verifyLogin(String username, String password) {
LoginPage loginPage = new LoginPage(driver);
loginPage.enterUsername(username);
loginPage.enterPassword(password);
loginPage.clickLoginButton();
}
Этот подход делает тесты более гибкими и масштабируемыми.
4. Следуйте принципу AAA (Arrange, Act, Assert)
Структурируйте тесты в три этапа:
Arrange: подготовка данных и окружения.
Act: выполнение действия.
Assert: проверка результата.
Пример:
@ Test
public void testAddition() {
// Arrange
Calculator calculator = new Calculator();
// Act
int result = calculator.add(2, 3);
// Assert
assertEquals(5, result);
}
Этот подход делает тесты более организованными и легко читаемыми.
5. Логирование и отчетность
Добавляйте логирование в тесты для диагностики проблем:
log. info("Entering username: " + username);
log. info("Clicking on the login button");
Интеграция инструментов отчетности (например, Allure) помогает визуализировать результаты тестов и быстро выявлять ошибки.
6. Регулярные ревью кода
Проводите регулярные ревью автотестов для повышения качества кода. Это помогает выявить потенциальные проблемы, улучшить читаемость и обеспечить соблюдение стандартов кодирования.
7. Автоматизация и CI/CD
Используйте инструменты автоматизации (Maven, Gradle) для запуска тестов в рамках CI/CD пайплайнов. Это ускоряет процесс разработки и обеспечивает стабильность приложения на всех этапах.
Следуйте этим практикам и создавайте эффективные автотесты, которые легко поддерживаются в долгосрочной перспективе.
Этому и многому другому научим вас на базовом курсе по автоматизации на Java.
🔗 Зарегистрируйтесь на первый открытый урок по ссылке.
qa.guru
Курс по автоматизации тестирования на Java | QA.GURU
Основы тестирования на Java (джава) и Selenide. Обучение автоматическому тестированию программ и приложений на Java.
1. Основы синтаксиса и типы данных
Для начала важно освоить базовый синтаксис Java: переменные, операторы (арифметические, логические и сравнения), условные конструкции (if-else, switch) и циклы (for, while, do-while).
Эти элементы — фундамент для написания простых программ и автотестов.
Пример: проверка статуса элемента на веб-странице с использованием цикла:
for (WebElement element : elements) {
if (element.isDisplayed()) {
System.out.println("Элемент отображается.");
}
}
2. Объектно-ориентированное программирование (ООП)
Java — это объектно-ориентированный язык, поэтому понимание принципов ООП крайне важно:
Классы и объекты. Классы описывают сущности, а объекты являются их экземплярами.
Наследование: позволяет переиспользовать код.
Полиморфизм: дает возможность использовать один интерфейс для различных реализаций.
Инкапсуляция: помогает скрыть детали реализации.
Для тестировщиков эти принципы особенно полезны при работе с паттерном Page Object Model (POM), где каждый веб-элемент представляется как объект.
3. Коллекции
Коллекции в Java (например, List, Set, Map) необходимы для работы с большими объемами данных. Например, вы можете хранить данные тест-кейсов или результаты выполнения тестов в коллекциях.
Пример использования:
List<String> testCases = new ArrayList<>();
testCases.add("Login Test");
testCases.add("Registration Test");
System.out.println("Всего тестов: " + testCases.size());
4. Исключения и обработка ошибок
В автоматизации важно уметь обрабатывать исключения, чтобы тесты не прерывались из-за ошибок. Конструкции try-catch позволяют перехватывать ошибки и выполнять альтернативные действия.
Пример:
try {
driver.findElement(By.id("nonexistent")).click();
} catch (NoSuchElementException e) {
System.out.println("Элемент не найден.");
}
5. Юнит-тестирование
Для проверки корректности кода используются фреймворки юнит-тестирования, такие как JUnit или TestNG. Они позволяют структурировать тесты, задавать предусловия (@Before), постусловия (@After) и объединять тестовые сценарии в группы.
Пример простого теста:
@Test
public void testAddition() {
int result = Calculator.add(2, 3);
assertEquals(5, result);
}
6. Работа с потоками
Многопоточность в Java позволяет запускать несколько тестов параллельно, что ускоряет выполнение автотестов.
Например, в Selenium, Selenide и Playwright можно использовать потоки для одновременного запуска тестов на разных браузерах.
7. Генерики
Генерики позволяют писать универсальный код, который может работать с различными типами данных. Это повышает читаемость и повторное использование кода.
Пример:
public class TestData<T> {
private T data;
public void setData(T data) {
this.data = data;
}
public T getData() {
return data;
}
}
Java для тестировщика — это больше, чем просто инструмент. Это язык, который позволяет создавать мощные и гибкие фреймворки.
Приходите на первое занятие, даже если никогда не писали код. Программа подходит новичкам
🔗 Буду на вводном!
Please open Telegram to view this post
VIEW IN TELEGRAM
qa.guru
Курс по автоматизации тестирования на Java | QA.GURU
Основы тестирования на Java (джава) и Selenide. Обучение автоматическому тестированию программ и приложений на Java.
Отзыв Каида на курс «Java Base» 🤍
«..Несмотря на рекомендацию коллег, оставались сомнения: вдруг не подойдет формат? Вдруг не получится?
Однако очень быстро все сомнения развеялись: обучение проходит в гибком графике, можно учиться в любое время, пересматривать материалы и сочетать с работой. А практика с первого дня и поддержка менторов позволяют быстро закрепить материал..»
Каид, спасибо за отзыв! Наши студенты и их успешное обучение — наша сама большая мотивация.
Кстати, уже завтра в 20:00 (мск) ждем вас на старте 35 потока по направлению «Java Base».
🔗 Зарегистрируйтесь, чтобы не пропустить встречу.
«..Несмотря на рекомендацию коллег, оставались сомнения: вдруг не подойдет формат? Вдруг не получится?
Однако очень быстро все сомнения развеялись: обучение проходит в гибком графике, можно учиться в любое время, пересматривать материалы и сочетать с работой. А практика с первого дня и поддержка менторов позволяют быстро закрепить материал..»
Каид, спасибо за отзыв! Наши студенты и их успешное обучение — наша сама большая мотивация.
Кстати, уже завтра в 20:00 (мск) ждем вас на старте 35 потока по направлению «Java Base».
Please open Telegram to view this post
VIEW IN TELEGRAM
Первый урок «Java Base» доступен в записи!
Вы найдете занятие на платформе школы, YouTube и Rutube.
Еще не купили курс? Сейчас самое время!
Скидка 5% действует до завтра до 12 часов по московскому времени.
До встречи на занятиях!
Вы найдете занятие на платформе школы, YouTube и Rutube.
Еще не купили курс? Сейчас самое время!
Скидка 5% действует до завтра до 12 часов по московскому времени.
До встречи на занятиях!
YouTube
QA.GURU. Java 35-ый поток. Станислав Васенков. «Вводное занятие. Сразу к практике!»
00:00 - Введение
06:27 - Общение со зрителями
08:55 - План занятия
11:47 - О преподавателе
18:20 - Вопросы
25:55 - Автотесты
28:50 - Преподаватели и структура курса
30:25 - Основные принципы автоматизации
39:50 - Рассматриваем автотест
50:55 - Варианты…
06:27 - Общение со зрителями
08:55 - План занятия
11:47 - О преподавателе
18:20 - Вопросы
25:55 - Автотесты
28:50 - Преподаватели и структура курса
30:25 - Основные принципы автоматизации
39:50 - Рассматриваем автотест
50:55 - Варианты…
Forwarded from LikeaDuck🦆
This media is not supported in your browser
VIEW IN TELEGRAM
#selenide #selenoid #docker
Хочу рассказать историю потерянного выходного дня.
Часть 1: Пролог
Начиналось все, как обычно, хорошо - я просто решил добавить пару скриншотных тестов на canvas, который отрисовывается с анимацией библиотекой chart.js, в наш учебный проект qa.guru - Niffler.
Канвас - это такая штука, содержимое которой можно проверить только скриншотом - что там будет нарисовано, одному chart.js (в моем случае) известно. Т.к. отрисовка происходит с анимацией, то добавляем классический
Но, я не об этом.
Этот тест прекрасно работает локально, вот, буквально, 10 из 10 попыток - passed ✅
И 10 из 10 падает при попытках запустить в Selenoid (как на официальном
Почему? Читай далее, а пока накидывай варианты ⬇️
Хочу рассказать историю потерянного выходного дня.
Часть 1: Пролог
Начиналось все, как обычно, хорошо - я просто решил добавить пару скриншотных тестов на canvas, который отрисовывается с анимацией библиотекой chart.js, в наш учебный проект qa.guru - Niffler.
Канвас - это такая штука, содержимое которой можно проверить только скриншотом - что там будет нарисовано, одному chart.js (в моем случае) известно. Т.к. отрисовка происходит с анимацией, то добавляем классический
Thread.sleep
на пару секунд, делаем скриншот, сравниваем с expected. Здесь передаем привет докладам про "антипаттерны автотестов", где минут 10 говорят, что Thread.sleep
в тестах быть не должно🤌Но, я не об этом.
Этот тест прекрасно работает локально, вот, буквально, 10 из 10 попыток - passed ✅
И 10 из 10 падает при попытках запустить в Selenoid (как на официальном
selenoid/vnc_chrome:127.0
, так и на неофициальном twilio/selenoid:chrome_stable_135
) 🔴Почему? Читай далее, а пока накидывай варианты ⬇️
Allure Reports | зачем отчетность в автотестировании
Расскажет разработчик Allure Reports и Allure TestOps Артем Ерошенко👀
Узнайте все об эффективной работе с инструментом у его создателя на курсе «Java Base». Поселение места на апрельский поток 👉 здесь.
Allure Reports — это open-source фреймворк, ставший стандартом для создания отчетов в индустрии QA.
Он создает визуально привлекательные, интерактивные отчеты о выполнении тестов. Поддерживает множество языков программирования и интегрируется с большинством популярных тестовых фреймворков (JUnit, TestNG, Pytest и др.) и CI/CD инструментов (Jenkins, TeamCity, GitHub Actions).
За что инженеры выбирают Allure
✅ Детализация тестов
Отображение шагов, статусов, временных меток и продолжительности выполнения.
✅ Визуализация данных
Графики, диаграммы и временные линии для наглядного анализа.
✅ Исторический анализ
Сравнение текущих результатов с предыдущими запусками.
✅ Гибкость
Возможность кастомизации отчетов под нужды проекта.
✅ Интерактивность
Группировка по категориям, историям пользователей или функциональным модулям.
А как вы визуализируете результаты тестов?
Расскажет разработчик Allure Reports и Allure TestOps Артем Ерошенко
Узнайте все об эффективной работе с инструментом у его создателя на курсе «Java Base». Поселение места на апрельский поток 👉 здесь.
Allure Reports — это open-source фреймворк, ставший стандартом для создания отчетов в индустрии QA.
Он создает визуально привлекательные, интерактивные отчеты о выполнении тестов. Поддерживает множество языков программирования и интегрируется с большинством популярных тестовых фреймворков (JUnit, TestNG, Pytest и др.) и CI/CD инструментов (Jenkins, TeamCity, GitHub Actions).
За что инженеры выбирают Allure
Отображение шагов, статусов, временных меток и продолжительности выполнения.
Графики, диаграммы и временные линии для наглядного анализа.
Сравнение текущих результатов с предыдущими запусками.
Возможность кастомизации отчетов под нужды проекта.
Группировка по категориям, историям пользователей или функциональным модулям.
А как вы визуализируете результаты тестов?
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Vitalii Kotov
Привет, коллеги.
Сегодня и послезавтра в LearnQA пройдут два вебинара на тему: «Основы Go для тестировщиков».
Узнайте, как использовать Go для эффективной автоматизации тестирования!
🌐 Ссылка на мероприятие: https://www.learnqa.ru/go_webinar
❗️ Вебинар разделен на две части, каждая по два с половиной часа.
🗓 Даты проведения: 22 и 24 апреля в 20:00 (UTC+3)
За два вебинара мы успеем:
✔ Разобраться, зачем вообще тестировщику изучать Go и чем он отличается от других языков
✔ Настроить с нуля рабочую среду для разработки на Go
✔ Изучить основы синтаксиса: переменные, функции, условия и циклы
✔ Понять, как устроена система типов в Go и какие особенности есть у типизации
✔ Поработать с указателями и разобраться с обработкой ошибок
✔ Освоить тестирование в Go: табличные тесты, subtests, setup/teardown
✔ Познакомиться с популярными библиотеками для тестов: testify, gomock, ginkgo
✔ Понять, как в Go реализована асинхронность: горутины, каналы, поработать с пакетом sync
✔ Разобраться с дженериками и узнать, как они используются в тестах
✔ Выложить на свой Github и добавить в свое портфолию проект на Go
Стек: Go, Go Modules, testify, gomock, ginkgo
Для кого будет полезен вебинар:
✔ для QA-инженеров, которые хотят добавить Go в свой стек
✔ для автоматизаторов, которым нужно писать тесты на Go или работать с микросервисами на этом языке
✔ для тех, кто изучал Python, Java или JavaScript и хочет попробовать строгую, но простую альтернативу
✔ для инженеров, которым интересна асинхронность и работа с многопоточностью без боли
Мы обязательно сделаем видеозапись — она будет доступна всем зарегистрированным участникам. Если не получится присоединиться в прямом эфире, вы сможете посмотреть запись в удобное для вас время. Главное — не забудьте зарегистрироваться!
Промокод на скидку 15% для участников группы: LQAGOGURU
Узнать больше и записаться на вебинар можно по ссылке: https://www.learnqa.ru/go_webinar
Сегодня и послезавтра в LearnQA пройдут два вебинара на тему: «Основы Go для тестировщиков».
Узнайте, как использовать Go для эффективной автоматизации тестирования!
🌐 Ссылка на мероприятие: https://www.learnqa.ru/go_webinar
❗️ Вебинар разделен на две части, каждая по два с половиной часа.
За два вебинара мы успеем:
✔ Разобраться, зачем вообще тестировщику изучать Go и чем он отличается от других языков
✔ Настроить с нуля рабочую среду для разработки на Go
✔ Изучить основы синтаксиса: переменные, функции, условия и циклы
✔ Понять, как устроена система типов в Go и какие особенности есть у типизации
✔ Поработать с указателями и разобраться с обработкой ошибок
✔ Освоить тестирование в Go: табличные тесты, subtests, setup/teardown
✔ Познакомиться с популярными библиотеками для тестов: testify, gomock, ginkgo
✔ Понять, как в Go реализована асинхронность: горутины, каналы, поработать с пакетом sync
✔ Разобраться с дженериками и узнать, как они используются в тестах
✔ Выложить на свой Github и добавить в свое портфолию проект на Go
Стек: Go, Go Modules, testify, gomock, ginkgo
Для кого будет полезен вебинар:
✔ для QA-инженеров, которые хотят добавить Go в свой стек
✔ для автоматизаторов, которым нужно писать тесты на Go или работать с микросервисами на этом языке
✔ для тех, кто изучал Python, Java или JavaScript и хочет попробовать строгую, но простую альтернативу
✔ для инженеров, которым интересна асинхронность и работа с многопоточностью без боли
Мы обязательно сделаем видеозапись — она будет доступна всем зарегистрированным участникам. Если не получится присоединиться в прямом эфире, вы сможете посмотреть запись в удобное для вас время. Главное — не забудьте зарегистрироваться!
Промокод на скидку 15% для участников группы: LQAGOGURU
Узнать больше и записаться на вебинар можно по ссылке: https://www.learnqa.ru/go_webinar
Please open Telegram to view this post
VIEW IN TELEGRAM
www.learnqa.ru
Основы Go для тестировщиков
Для новичков в QA без опыта в ручном тестировании 🔥 🔥 🔥
Запускаем второй поток курса «Вход в IT: основы ручного тестирования».
Погружаемся в QA под чутким руководством автора программы Ивана Тебенькова.
Иван — наш наставник на курсах по Python и Python Advanced и соавтор программ для многих наших занятий.
Иван любит преподавать и знает, как сделать занятие веселым и запоминающимся⚡️
За 8 недель обучения:
- Вы узнаете, как устроено тестирование в IT-командах.
- Научитесь составлять чек-листы и баг-репорты.
- Освоите Jira, AllureTestOps и работу с TMS-системами.
- Разберётесь в том, как устроены веб-приложения, как работает браузер, HTML, CSS и JavaScript.
Стартуем 12 мая, успейте зарегистрироваться.
🔗 Программа курса и запись по ссылке▶️
Запускаем второй поток курса «Вход в IT: основы ручного тестирования».
Погружаемся в QA под чутким руководством автора программы Ивана Тебенькова.
Иван — наш наставник на курсах по Python и Python Advanced и соавтор программ для многих наших занятий.
Иван любит преподавать и знает, как сделать занятие веселым и запоминающимся
За 8 недель обучения:
- Вы узнаете, как устроено тестирование в IT-командах.
- Научитесь составлять чек-листы и баг-репорты.
- Освоите Jira, AllureTestOps и работу с TMS-системами.
- Разберётесь в том, как устроены веб-приложения, как работает браузер, HTML, CSS и JavaScript.
Стартуем 12 мая, успейте зарегистрироваться.
🔗 Программа курса и запись по ссылке
Please open Telegram to view this post
VIEW IN TELEGRAM
qa.guru
Курс Вход в IT: основы ручного тестирования. | QA.GURU
Курс тестирования Научим писать автотесты | Без знания программирования и неподъёмных домашек ► Пошаговая поддержка в трудоустройстве ✅ Рекомендуем студентов в крупные компании
QA.GURU | Новости pinned «Для новичков в QA без опыта в ручном тестировании 🔥 🔥 🔥 Запускаем второй поток курса «Вход в IT: основы ручного тестирования». Погружаемся в QA под чутким руководством автора программы Ивана Тебенькова. Иван — наш наставник на курсах по Python и Python…»
Это база: HTML как фундамент фронтенда
На курсе «Вход в IT: основы ручного тестирования» отдельный блок посвящен HTML. Почему?
Мы изучаем язык разметки, на котором строится структура любой веб-страницы. Всё, что видит пользователь в браузере, от заголовков до изображений, описывается с помощью HTML.
Для тестировщика знание HTML — реальный инструмент для качественной проверки веб-приложений. Без него сложно анализировать причины багов, формулировать отчёты и предложения по улучшению.
Примеры HTML-элементов
Заголовок:
Кнопка:
Форма:
Ссылка:
Изображение:
Тестировщику нужно быть уверенным в том, что интерфейс работает корректно: элементы отображаются правильно, они доступны и реагируют на действия пользователя.
Для этого важно понимать, как устроена страница изнутри.
▶️ Проверка верстки
Зная HTML, QA сможет быстро найти ошибки в расположении и отображении элементов, увидеть, где нарушена структура.
Например, если кнопка
оказалась вне формы
это может повлиять на её работу.
▶️ Работа с DevTools
Инструменты разработчика в браузере позволяют смотреть и изменять HTML-код страницы. Это удобно для поиска багов, проверки стилей и поведения элементов. Например, можно проверить, что у всех изображений есть важный для доступности атрибут alt.
▶️ Тестирование доступности
Понимание тегов и атрибутов HTML помогает оценить, насколько сайт доступен для разных людей. Например, правильно ли размечены кнопки, есть ли alt-тексты у изображений.
▶️ Автоматизация тестирования
Для написания автотестов важно уметь выбирать корректные локаторы элементов (например, по тегу, классу или id), это невозможно без понимания структуры HTML.
Навыки HTML помогут вам эффективнее находить и описывать баги, выстраивать грамотную коммуникацию с разработчиками и автоматизировать рутинные проверки.
Ждем вас на старте потока 12 мая. Подробнее о тарифах здесь▶️
На курсе «Вход в IT: основы ручного тестирования» отдельный блок посвящен HTML. Почему?
Мы изучаем язык разметки, на котором строится структура любой веб-страницы. Всё, что видит пользователь в браузере, от заголовков до изображений, описывается с помощью HTML.
Для тестировщика знание HTML — реальный инструмент для качественной проверки веб-приложений. Без него сложно анализировать причины багов, формулировать отчёты и предложения по улучшению.
Примеры HTML-элементов
Заголовок:
<h1>Добро пожаловать!</h1>
Кнопка:
<button>Отправить</button>
Форма:
<form>
<label for="email">Email:</label>
<input type="email" id="email" name="email">
<button type="submit">Отправить</button>
</form>
Ссылка:
<a href="https://example. com">Перейти на сайт</a>
Изображение:
<img src="logo.png" alt="Логотип">
Тестировщику нужно быть уверенным в том, что интерфейс работает корректно: элементы отображаются правильно, они доступны и реагируют на действия пользователя.
Для этого важно понимать, как устроена страница изнутри.
Зная HTML, QA сможет быстро найти ошибки в расположении и отображении элементов, увидеть, где нарушена структура.
Например, если кнопка
<button>
оказалась вне формы
<form>
это может повлиять на её работу.
Инструменты разработчика в браузере позволяют смотреть и изменять HTML-код страницы. Это удобно для поиска багов, проверки стилей и поведения элементов. Например, можно проверить, что у всех изображений есть важный для доступности атрибут alt.
Понимание тегов и атрибутов HTML помогает оценить, насколько сайт доступен для разных людей. Например, правильно ли размечены кнопки, есть ли alt-тексты у изображений.
Для написания автотестов важно уметь выбирать корректные локаторы элементов (например, по тегу, классу или id), это невозможно без понимания структуры HTML.
Навыки HTML помогут вам эффективнее находить и описывать баги, выстраивать грамотную коммуникацию с разработчиками и автоматизировать рутинные проверки.
Ждем вас на старте потока 12 мая. Подробнее о тарифах здесь
Please open Telegram to view this post
VIEW IN TELEGRAM
qa.guru
Курс Вход в IT: основы ручного тестирования. | QA.GURU
Курс тестирования Научим писать автотесты | Без знания программирования и неподъёмных домашек ► Пошаговая поддержка в трудоустройстве ✅ Рекомендуем студентов в крупные компании
Майские скидки на курсы Java и Python 🌸
Прокачайтесь за лето и ворвитесь в осенний найм с новыми знаниями!
Займите места на ближайших потоках Java и Python со скидкой до 25%.
🔜 Акция до 15 мая, но может закончиться раньше — как только все места займут.
1️⃣ Классический курс по автоматизации тестирования на Java, 10 мест со скидкой 25%
Для ручных тестировщиков и новичков в автоматизации. Автотестировщикам на любом языке для расширения стека.
Научитесь разрабатывать автотесты на Java для веб, мобильных приложений и API. Составите портфолио из реальных кейсов, освоите навыки самопрезентации на собеседованиях.
2️⃣ Классический курс по автоматизации тестирования на Python, 10 мест со скидкой 25%
Для ручных тестировщиков и начинающих автоматизаторов. Автотестировщикам на любом языке для расширения стека.
Научитесь разрабатывать автотесты на Python для веб, мобильных приложений, API и строить инфраструктуру. Упаковывать кейсы и проходить собеседования.
3️⃣ Продвинутый курс по автоматизации тестирования «Java Advanced 2.0», 25 мест со скидкой 15%
Для автотестировщиков на Java, готовых выйти на уровень Senior+.
Прокачаете знания: освоите работу с базами данных и Kafka из тестов и поймете, как технологии работают под капотом.
Усилите резюме и потренируетесь в прохождении собеседований.
4️⃣ Продвинутый курс по автоматизации тестирования «Python Advanced», 20 мест со скидкой 20%
Для автотестировщиков на Python, готовых выйти на уровень Senior+.
Прокачаете знания: освоите архитектуру и дизайн на продвинутом уровне, будете работать с базами данных и Kafka из тестов.
Усилите резюме и потренируетесь в прохождении собеседований.
Обучение с нами:
👉 Создание и запуск рабочих проектов на GitHub.
👉 Постоянная поддержка кураторов и других студентов в закрытом чате потока. Теперь вы часть комьюнити!
👉 Бессрочный доступ к материалам.
А еще активная работа над резюме, практика собеседований и многое другое!
Занять места со скидкой▶️
Прокачайтесь за лето и ворвитесь в осенний найм с новыми знаниями!
Займите места на ближайших потоках Java и Python со скидкой до 25%.
Для ручных тестировщиков и новичков в автоматизации. Автотестировщикам на любом языке для расширения стека.
Научитесь разрабатывать автотесты на Java для веб, мобильных приложений и API. Составите портфолио из реальных кейсов, освоите навыки самопрезентации на собеседованиях.
Для ручных тестировщиков и начинающих автоматизаторов. Автотестировщикам на любом языке для расширения стека.
Научитесь разрабатывать автотесты на Python для веб, мобильных приложений, API и строить инфраструктуру. Упаковывать кейсы и проходить собеседования.
Для автотестировщиков на Java, готовых выйти на уровень Senior+.
Прокачаете знания: освоите работу с базами данных и Kafka из тестов и поймете, как технологии работают под капотом.
Усилите резюме и потренируетесь в прохождении собеседований.
Для автотестировщиков на Python, готовых выйти на уровень Senior+.
Прокачаете знания: освоите архитектуру и дизайн на продвинутом уровне, будете работать с базами данных и Kafka из тестов.
Усилите резюме и потренируетесь в прохождении собеседований.
Обучение с нами:
А еще активная работа над резюме, практика собеседований и многое другое!
Занять места со скидкой
Please open Telegram to view this post
VIEW IN TELEGRAM
Реальные примеры тестирования с Python
От умения строить тесты по принципу «от простого к сложному» и грамотно применять инструменты языка зависит качество и надежность кода.
Проще всего освоить работу с любым языком, включая Python, через реальные примеры. Мы начнём с простых проверок и шаг за шагом покажем, как перейти к более продвинутому тестированию на Python.
1. Начинаем с простых unit-тестов
Unit-тесты проверяют отдельные функции и методы. В Python для этого отлично подходит встроенный модуль unittest.
Пример:
Такой тест быстро выявляет ошибки в логике отдельных функций.
2. Переходим к параметризации с pytest
Чтобы не дублировать код, используйте параметризацию — это позволяет запускать один тест с разными входными данными.
Пример с использованием pytest:
Параметризация делает тесты гибкими и расширяет покрытие.
3. Тестируем API с requests и pytest
Python подходит для автоматизации API-тестов. Используем библиотеку requests и pytest:
Такой подход позволяет быстро проверять работоспособность внешних сервисов.
4. Автоматизируем UI с Selenium
Для тестирования веб-интерфейсов используем Selenium WebDriver.
Применяйте паттерн Page Object для структурирования кода.
Page Object повышает читаемость и удобство поддержки тестов.
5. Добавляем отчётность и интеграцию с CI/CD
Внедряйте инструменты для генерации отчётов (например, Allure) и запускайте тесты в CI/CD пайплайне. Это ускоряет обратную связь и стабилизирует процесс разработки.
Эти и многие другие приёмы вы освоите на курсе по автоматизации тестирования на Python.
Зарегистрируйтесь на открытый урок по Python по этой ссылке
От умения строить тесты по принципу «от простого к сложному» и грамотно применять инструменты языка зависит качество и надежность кода.
Проще всего освоить работу с любым языком, включая Python, через реальные примеры. Мы начнём с простых проверок и шаг за шагом покажем, как перейти к более продвинутому тестированию на Python.
1. Начинаем с простых unit-тестов
Unit-тесты проверяют отдельные функции и методы. В Python для этого отлично подходит встроенный модуль unittest.
Пример:
python
import unittest
def add(a, b):
return a + b
class TestMath(unittest.TestCase):
def test_add(self):
self.assertEqual(add(2, 3), 5)
Такой тест быстро выявляет ошибки в логике отдельных функций.
2. Переходим к параметризации с pytest
Чтобы не дублировать код, используйте параметризацию — это позволяет запускать один тест с разными входными данными.
Пример с использованием pytest:
python
import pytest
@ pytest.mark.parametrize("a, b, expected", [
(2, 3, 5),
(0, 0, 0),
(-1, 1, 0),
])
def test_add(a, b, expected):
assert add(a, b) == expected
Параметризация делает тесты гибкими и расширяет покрытие.
3. Тестируем API с requests и pytest
Python подходит для автоматизации API-тестов. Используем библиотеку requests и pytest:
python
import requests
def test_status_code():
response = requests.get("https://api. example. com/status")
assert response.status_code == 200
Такой подход позволяет быстро проверять работоспособность внешних сервисов.
4. Автоматизируем UI с Selenium
Для тестирования веб-интерфейсов используем Selenium WebDriver.
Применяйте паттерн Page Object для структурирования кода.
python
from selenium import webdriver
class LoginPage:
def init(self, driver):
self.driver = driver
def login(self, username, password):
self.driver.find_element_by_id("username").send_keys(username)
self.driver.find_element_by_id("password").send_keys(password)
self.driver.find_element_by_id("loginBtn").click()
def test_login():
driver = webdriver.Chrome()
login_page = LoginPage(driver)
login_page.login("user", "pass")
# Добавьте проверки успешного входа
driver.quit()
Page Object повышает читаемость и удобство поддержки тестов.
5. Добавляем отчётность и интеграцию с CI/CD
Внедряйте инструменты для генерации отчётов (например, Allure) и запускайте тесты в CI/CD пайплайне. Это ускоряет обратную связь и стабилизирует процесс разработки.
Эти и многие другие приёмы вы освоите на курсе по автоматизации тестирования на Python.
Зарегистрируйтесь на открытый урок по Python по этой ссылке
qa.guru
Курс по автоматизации тестирования на Python | QA.GURU
Основы тестирования на Python (пайтон) и Selen. Обучение автоматическому тестированию программ и приложений на Python..
Только начинаете путь в IT?👨🏼💻
Мы знаем, как это страшно:
— непонятно, с чего начать
— кажется, что знаний не хватит
— боязнь провалить собеседование
Этот курс создан, чтобы снять страхи и уверенно ввести вас в профессию QA-инженера.
Что вы получите:
🎯 Практику, приближенную к реальной работе
С первого модуля вы начнёте выполнять задачи, как в настоящей IT-компании.
🧠 Только нужные навыки для старта:
Тест-кейсы — научитесь писать инструкции, которые ждут от новичков
Поиск и описание багов — так, чтобы разработчики легко поняли суть
Отчёты — покажете, что сделано и что требует внимания
Понимание процессов — увидите, как работает проект изнутри
Коммуникация — будете уверенно общаться в команде
💡 Результат:вы не просто узнаете, что делает тестировщик, а почувствуете, что сами можете им стать.
И да — после курса вам будет не страшно идти на первую работу.
🚀 Старт уже скоро — присоединяйтесь!
Начните карьеру в IT с поддержкой и понятным планом.
Мы знаем, как это страшно:
— непонятно, с чего начать
— кажется, что знаний не хватит
— боязнь провалить собеседование
Этот курс создан, чтобы снять страхи и уверенно ввести вас в профессию QA-инженера.
Что вы получите:
🎯 Практику, приближенную к реальной работе
С первого модуля вы начнёте выполнять задачи, как в настоящей IT-компании.
🧠 Только нужные навыки для старта:
Тест-кейсы — научитесь писать инструкции, которые ждут от новичков
Поиск и описание багов — так, чтобы разработчики легко поняли суть
Отчёты — покажете, что сделано и что требует внимания
Понимание процессов — увидите, как работает проект изнутри
Коммуникация — будете уверенно общаться в команде
💡 Результат:
И да — после курса вам будет не страшно идти на первую работу.
🚀 Старт уже скоро — присоединяйтесь!
Начните карьеру в IT с поддержкой и понятным планом.
Шашлыки под 🍺 ?
Нет, шашлыки под Java и Python со скидкой до 25%!
Сильно не отвлекаем, но напоминаем: майские скидки на исходе, а мест почти не осталось!
Забрать со скидкой 25%
▶️ Автоматизация тестирования на Java.
▶️ Автоматизация тестирования на Python.
Забрать со скидкой 20%
▶️ Автоматизация тестирования «Python Advanced», курс для продвинутых.
Забрать со скидкой 15%
▶️ Автоматизация тестирования «Java Advanced 2.0», курс для продвинутых.
Выбирайте курс и удобный поток, увидимся на занятиях!
Сильно не отвлекаем, но напоминаем: майские скидки на исходе, а мест почти не осталось!
Забрать со скидкой 25%
Забрать со скидкой 20%
Забрать со скидкой 15%
Выбирайте курс и удобный поток, увидимся на занятиях!
Please open Telegram to view this post
VIEW IN TELEGRAM