Библиотека для тестировщика и QA. По всем вопросам @evgenycarter
🚀❓ Играете в игры, но хотите зарабатывать на их тестировании? Тогда это ваш шанс! На открытом вебинаре «Инструменты для тестирования игр» вы узнаете, как стать экспертом Game QA и превратить хобби в карьеру.
Что обсудим:
- Какие инструменты нужны для тестирования игр и зачем.
- Как работать с документацией, замерять производительность и автоматизировать рутину.
- Как собрать идеальный инструментарий для эффективной работы.
- Как использовать AI для ускорения тестирования.
⭐️ Спикер Никита Шаченко — QA Automation Engineer в Redhill Games.
Курс «Game QA Engineer» стартует совсем скоро, а все участники открытого урока получат скидку на обучение.
👉 Записывайтесь прямо сейчас: https://vk.cc/cJlmi0
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Разработка эффективных тест-кейсов для автоматизации: Руководство для опытных QA-инженеров
Автоматизированное тестирование требует грамотного проектирования тест-кейсов, обеспечивающего надежность, стабильность и минимальное техническое обслуживание. Разберем ключевые аспекты, которые помогут в создании эффективных тест-кейсов.
1. Основные принципы проектирования тест-кейсов для автоматизации
При написании тест-кейсов для автоматизации важно соблюдать несколько принципов:
1. Идентифицируемость – тест-кейс должен иметь четкое название, описывающее его цель.
2. Детерминированность – каждый тест-кейс должен давать один и тот же результат при повторном выполнении.
3. Модульность – тест-кейсы должны быть независимыми друг от друга, чтобы избежать цепной реакции сбоев.
4. Повторяемость – тест должен быть устойчивым к изменениям данных и среды.
5. Минимизация технического долга – избегайте чрезмерной детализации, которая затрудняет поддержку.
2. Структура эффективного автоматизированного тест-кейса
Хороший тест-кейс состоит из следующих компонентов:
• Название – краткое и информативное (например, Verify user login with valid credentials).
• Предварительные условия (Preconditions) – данные, состояния системы перед тестом.
• Шаги выполнения – четкая последовательность действий.
• Ожидаемый результат – конкретный и измеримый.
• Постусловия (Postconditions) – очистка данных, если требуется.
Пример:Название: Verify user login with valid credentials
Предусловия:
1. Пользователь зарегистрирован в системе.
Шаги:
1. Открыть страницу входа.
2. Ввести корректный логин и пароль.
3. Нажать "Войти".
Ожидаемый результат:
- Пользователь успешно авторизован.
- Открыта главная страница.
Постусловия:
- Выход из системы (если требуется).
3. Лучшие практики автоматизации тест-кейсов
Чтобы тесты были устойчивыми и эффективными, следуйте этим рекомендациям:
3.1. Используйте Page Object Model (POM)
Этот паттерн помогает избежать дублирования кода, улучшает читаемость и облегчает поддержку.
Пример:class LoginPage:
def __init__(self, driver):
self.driver = driver
self.username_field = driver.find_element(By.ID, "username")
self.password_field = driver.find_element(By.ID, "password")
self.login_button = driver.find_element(By.ID, "login")
def login(self, username, password):
self.username_field.send_keys(username)
self.password_field.send_keys(password)
self.login_button.click()
Использование:login_page = LoginPage(driver)
login_page.login("user@example.com", "securepassword")
3.2. Минимизируйте использование sleep()
Фиксированные задержки (time.sleep(5)) делают тесты медленными и нестабильными. Вместо этого используйте ожидания элементов:WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "dashboard")))
3.3. Создавайте независимые тесты
Тесты не должны зависеть друг от друга, иначе один сбой может вызвать цепочку ложных негативных результатов.
Плохая практика:
• Тест на авторизацию выполняется только после успешной регистрации.
Хорошая практика:
• Разделите регистрацию и авторизацию, используя API-запрос для предварительного создания пользователя.
3.4. Уменьшайте зависимость от тестовых данных
Храните тестовые данные в конфигурационных файлах или используйте параметризацию.
Пример параметризации в Pytest:@pytest.mark.parametrize("username, password", [
("user1@example.com", "pass123"),
("user2@example.com", "pass456"),
])
def test_login(username, password):
login_page.login(username, password)
assert dashboard_page.is_loaded()
#qa #testing
Подпишись👉 @testlab_qa
Бесплатный практический вебинар ― Тестировщик с нуля: как начать карьеру в IT без кода и знания математики.
⏰ Когда: 6 марта в 19:00 (мск).
За 2 часа вы узнаете как устроено ручное и автоматизированное тестирование, попробуете профессию на практике и протестируете свой первый сайт.
✔️ Познакомитесь с технологиями и навыками, которые требуются для старта в тестировании. Узнаете про зарплаты и перспективы в сфере.
✔️ Протестируете 2 страницы, разберете базовые техники тест-дизайна и тест-кейсы, автоматизируете тестирование при помощи Selenium IDE, составите первый баг-репорт.
🎁 Всем, кто зарегистрировался ― Гайд «Как заговорить на сленге IT-специалистов», а в конце трансляции ― Карту компетенций джуниор тестировщика!
Тестер объясняет разработчику как воспроизвести баг
#qa #testing
Подпишись👉 @testlab_qa
🔍 7 навыков, которые отличают хорошего тестировщика от отличного
Привет, коллеги! Сегодня я расскажу о навыках, которые делают тестировщика по-настоящему крутым специалистом. Если хочешь расти в профессии — проверь, насколько они у тебя развиты.
1️⃣ Критическое мышление
Хороший тестировщик проверяет приложение. Отличный — сомневается во всем, ставит под вопрос логику требований и находит уязвимости еще до написания кода.
2️⃣ Аналитические способности
Не просто нажимать кнопки, а понимать, зачем и что стоит за каждой функцией. Отличный тестировщик анализирует логи, следит за метриками и глубже погружается в работу продукта.
3️⃣ Знание основ программирования
Минимум — умение читать код. Максимум — написание автотестов и понимание, как работают алгоритмы.
4️⃣ Понимание бизнес-логики
Чем лучше тестировщик понимает бизнес-процессы, тем ценнее его тестирование. Ошибки, влияющие на прибыль, — самые критичные.
5️⃣ Коммуникационные навыки
Хороший тестировщик находит баги. Отличный — аргументированно объясняет их разработчикам и умеет договариваться с командой.
6️⃣ Гибкость и адаптивность
Технологии меняются, процессы меняются — тестировщик должен быстро адаптироваться и обучаться новым подходам.
7️⃣ Автоматизация рутины
Даже если ты ручной тестировщик, базовые знания CI/CD, SQL, API-тестирования и написание простых скриптов облегчат тебе жизнь.
Какой из этих навыков ты считаешь самым важным? Делись своим мнением в комментариях! 👇
#qa #testing
Подпишись👉 @testlab_qa
- Какой язык программирования идеален для новичка в автоматизированном тестировании?
- Что лучше подходит для тестирования UI, а что – для API-тестирования: Python, Java или JavaScript?
- Почему в автоматизированном тестировании знание нескольких языков – это преимущество?
Ответы на эти вопросы ждут вас на онлайн-конференции «Java, JavaScript или Python: что лучше для автоматизации тестирования»
Будет интересно новичкам, которые хотят перейти в IT, а также ручным тестировщикам, сисадминам, автоматизаторам тестирования и разработчикам.
Вас ждёт жаркая дискуссия с разбором языков для автоматизированного тестирования, демонстрацией тестов UI и API сразу на трёх языках, интересными примерами из практики.
Спикеры – ведущие специалисты по автоматизации тестирования из крупных компаний.
Вы узнаете:
- с каким языком лучше начинать путь в автоматизации тестирования
- как перейти в автоматизацию тестирования
- какие языки и инструменты хорошо подходят для тестов UI и API
- какова роль автоматизации тестирования в DevOps и CI/CD
И самое главное: своими глазами увидите «битву тестов» на JS, Java и Python!
Всем участникам – скидка 7% на курсы OTUS и полезные руководства для тестировщика.
20 февраля, 19:00 МСК, Бесплатно
Записаться на событие - https://otus.pw/WlBK/?erid=2W5zFJhixWk
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
Пирамида тестирования: почему UI-тесты не спасут?
Автотесты — это круто, но знаешь ли ты, что ставить упор только на UI-тесты — плохая идея? Давай разберемся.
Есть пирамида тестирования:
🔹 Юнит-тесты (70%) – быстрые, проверяют небольшие куски кода. Дешевы в поддержке.
🔹 Интеграционные тесты (20%) – проверяют взаимодействие модулей. Помогают находить ошибки в логике.
🔹 UI-тесты (10%) – самые дорогие и медленные, зависят от интерфейса.
Если ты пишешь только UI-тесты, ты строишь не пирамиду, а обратный треугольник – это неустойчиво и дорого. Балансируй тестирование правильно!
#qa #testing
Подпишись👉 @testlab_qa
Как написать хороший баг-репорт?
Сегодня я расскажу, как писать баг-репорты так, чтобы разработчики не страдали, а быстро исправляли ошибки.
🔹 Заголовок – кратко и понятно. Вместо "Кнопка не работает" лучше "Кнопка 'Сохранить' не сохраняет данные".
🔹 Окружение – укажи ОС, версию браузера/приложения, устройство. Это важно!
🔹 Шаги воспроизведения – четко, по пунктам, чтобы любой мог повторить.
🔹 Ожидаемый результат – что должно было произойти?
🔹 Фактический результат – что произошло на самом деле?
🔹 Скриншоты, логи – добавь доказательства!
Чем точнее ты опишешь баг, тем быстрее его исправят. Делай жизнь разработчиков (и свою) проще!
#qa #testing
Подпишись👉 @testlab_qa
⚡️Задумывались ли вы, как можно гибко настраивать запуск ваших тестов?
Приглашаем на открытый вебинар 18 февраля в 20:00 мск. “Как Pytest hooks поможет кастомизировать запуск тестов”, где мы подробно обсудим использование хуков (hooks) в pytest!
На занятии мы рассмотрим:
- Основные функциональные возможности pytest
- Как создать собственные правила для запуска тестов
- Способы сбора дополнительной информации о выполнении тестов, включая логи и метрики
Не упустите шанс узнать, как хуки могут помочь вам автоматизировать тестовые процессы и сделать их более эффективными!
👉Регистрация: https://vk.cc/cItLDc
Занятие приурочено к старту курса Python QA Engineer. Обучение на курсе поможет вам стать квалифицированным тестировщиком на Python. Вы узнаете, как решать задачи автоматизации тестирования в реальных проектах, поймёте принципы построения и решения задач, научитесь писать автотесты для веб-приложений на Python.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
📌Шпаргалка глаголов на английском языке при составлении тест-кейсов и заведении дефектов
Памятка для начинающих инженеров по тестированию ПО.
Указанная ниже шпаргалка помогала моим менти составлять тестовую документацию при выполнении тестовых заданий, а также проектных задач.
Все глаголы я как раз использовала на своих англоязычных проектах и указанные примеры я взяла из своих написанных тестовых сценариев и оформленных баг-репортов.
Также есть перевод фраз, и эти фразы также можно использовать при составлении тестовой документации на русскоязычных проектах.
Сейчас я хочу затронуть глаголы, которые используются в ожидаемых результатах тестовых сценариев на английском языке.
https://habr.com/ru/articles/802265/
#qa #testing
Подпишись👉 @testlab_qa
⚡️Узнайте, как создавать автотесты с помощью Cypress!
11 февраля в 20.00 мск. приглашаем на бесплатный урок “Первый UI тест с использованием Cypress: Пошаговое руководство”.
🔥На этом занятии мы обсудим:
- поиск локаторов: как находить элементы на странице для проверки их функциональности;
- написание UI теста: шаги для создания эффективных тестов;
- применение Cypress: изучение основных возможностей инструмента для создания надежных и стабильных тестов.
Что вы получите от участия:
- практические навыки написания автотестов;
- понимание, как Cypress упрощает процесс тестирования и ускоряет разработку;
- уверенность в качестве вашего продукта благодаря автоматизации UI тестов.
- шпаргалка по материалам вебинара
👉Регистрация: https://vk.cc/cIcUnY
Урок приурочен к старту курса "JavaScript QA Engineer", на котором вы научитесь организовывать комплексное автоматизированное тестирование веб-приложений.Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
🔥 10 Полезных SQL-запросов для Тестировщика
Привет, коллеги! Сегодня хочу поделиться подборкой SQL-запросов, которые спасали меня не раз при тестировании. Если вы работаете с базами данных, то этот список точно пригодится!
📌 1. Проверить количество записей в таблице:
SELECT COUNT(*) FROM users;
SELECT email, COUNT(*)
FROM users
GROUP BY email
HAVING COUNT(*) > 1;
SELECT * FROM orders ORDER BY created_at DESC LIMIT 10;
SELECT * FROM users WHERE email = 'test@example.com';
UPDATE users SET status = 'active' WHERE status = 'pending';
DELETE FROM users WHERE created_at < '2024-01-01';
SELECT
, чтобы убедиться, что удалите именно то, что нужно.
SELECT u.name, o.total
FROM users u
JOIN orders o ON u.id = o.user_id;
SELECT * FROM products WHERE name LIKE '%apple%';
SELECT AVG(total) FROM orders;
SELECT * FROM users
WHERE id NOT IN (SELECT user_id FROM orders);
Разработка эффективных тест-кейсов для автоматизации: Руководство для опытных QA-инженеров. Продолжение.dashboard_page.is_loaded()
4. Возможные проблемы и их решения
4.1. Хрупкие тесты
Проблема: Тесты падают при малейшем изменении UI (например, изменился ID кнопки).
Решение: Используйте надежные селекторы:
• XPath, основанный на структуре: //button[text()=Login
]
• CSS-селектор по атрибутам: button[data-testid=login
]
4.2. Зависимости от тестовых данных
Проблема: Жестко закодированные тестовые данные могут устареть.
Решение: Используйте генерацию данных:import faker
fake = faker.Faker()
print(fake.email()) # Генерирует случайный email
4.3. Долгое выполнение тестов
Решение:
• Параллельное выполнение тестов (pytest-xdist).
• Выборочное выполнение важных тестов (маркировка @pytest.mark.smoke
).
• Оптимизация локаторов и ожиданий.
5. Заключение
При проектировании автоматизированных тест-кейсов придерживайтесь:
✅ Ясной структуры (название, шаги, ожидания).
✅ Page Object Model для упрощения кода.
✅ Надежных локаторов и динамических ожиданий.
✅ Минимизации зависимостей между тестами.
✅ Использования параметризации и генерации данных.
Это поможет создать надежную, легко поддерживаемую тестовую систему.
#qa #testing
Подпишись👉 @testlab_qa
Почему баги возвращаются? 🤔
Сегодня разберём одну из самых неприятных ситуаций в тестировании – возвращение багов после фикса. Почему так происходит, и как это предотвратить?
🔹 Разработчик пофиксил, но не проверил код на смежные участки.
Программное обеспечение – это не набор отдельных кусочков, а сложная система. Один фикс может затронуть другие модули. Если не учитывать влияние изменений, баг может всплыть в новом месте.
🔹 Тестировщик проверил только исправленный сценарий.
Частая ошибка – проверить только шаги бага, но не провести регрессию. Нужно учитывать контекст и возможные побочные эффекты.
🔹 Недостаток автотестов.
Если в проекте нет хорошего набора автоматизированных тестов, старые баги могут возвращаться при каждом новом релизе. Хорошие автотесты помогают избежать этого.
🔹 Команда не ведёт учёт багов.
Если нет системы контроля дефектов или качественного описания фикса, баг может вернуться, потому что его просто не учли в тест-плане.
Что делать?
✅ Проводить регрессию после каждого фикса.
Не проверяй только сам баг – тестируй и связанные модули.
✅ Автоматизировать ключевые сценарии.
Например, если баг был связан с формой логина, добавь автотест, который будет её проверять при каждом релизе.
✅ Документировать баги и их фиксы.
Чем детальнее ты фиксируешь проблему, тем легче её предотвратить в будущем.
✅ Общаться с разработчиками.
Задавай вопросы: какие части системы могли быть затронуты? Это поможет определить области для дополнительного тестирования.
#qa #testing
Подпишись👉 @testlab_qa
Разбираем фреймворк Playwright для тестирования веб-приложений
Привет, коллеги! Сегодня я хочу рассказать вам про Playwright — мощный инструмент для автоматизации тестирования веб-приложений.
Почему он так популярен? Давайте разберёмся!
🔹 Поддержка нескольких браузеров
Можно тестировать в Chromium, Firefox и WebKit без дополнительных настроек.
🔹 Работает с разными языками программирования
Поддерживает JavaScript, TypeScript, Python, Java, C#. Удобно для команд с разными технологиями.
🔹 Автоматическая обработка всплывающих окон, фреймов и вкладок
Не нужно городить сложные костыли — Playwright сам понимает, как работать с элементами.
🔹 Headless-режим и тестирование мобильных устройств
Можно запускать тесты без UI, что ускоряет их выполнение. А эмуляция мобильных устройств помогает тестировать адаптивность.
🔹 API-тестирование
Не только UI, но и API можно тестировать в одном инструменте. Это удобно и экономит время.
Как начать?
👉 Установите Playwright командой:
npm init playwright@latest
npx playwright test --browser=firefox
⚡️ В сети начали массово сливать курсы и книги известных онлайн школ по айти
Вот отсортированная база с тонной материала (постепенно пополняется):
БАЗА (4687 видео/книг):
(363 видео, 87 книги) — Python
(415 видео, 68 книги) — Frontend
(143 видео, 33 книги) — ИБ/Хакинг
(352 видео, 89 книги) — С/С++
(343 видео, 87 книги) — Java
(176 видео, 32 книги) — Git
(293 видео, 63 книги) — C#
(174 видео, 91 книги) — DevOps
(167 видео, 53 книги) — PHP
(227 видео, 83 книги) — SQL/БД
(163 видео, 29 книги) — Linux
(114 видео, 77 книги) — Сисадмин
(107 видео, 43 книги) — BA/SA
(181 видео, 32 книги) — Go
(167 видео, 43 книги) — Kotlin/Swift
(112 видео, 24 книги) — Flutter
(137 видео, 93 книги) — DS/ML
(113 видео, 82 книги) — GameDev
(183 видео, 37 книги) — Дизайн
(129 видео, 73 книги) — QA
(213 видео, 63 книги) — Rust
(121 видео, 24 книги) — 1С
(136 видео, 33 книги) — PM/HR
Скачивать ничего не нужно — все выложили в Telegram
😀 Вы знали, что рынок мобильных игр растёт быстрее, чем вы успеваете обновить свою библиотеку в стиме? И тестирование этих игр — одна из ключевых частей индустрии.
Хотите научиться находить баги, о которых даже разработчики не догадываются? Разобраться, почему игра лагает на одном устройстве и летает на другом?
На открытом вебинаре разберём ключевые особенности тестирования мобильных игр, специфику iOS и Android, автоматизацию тестирования и лучшие практики индустрии.
Спикер Надежда Чертовских — QA Lead в Beresnev Games.
⏰ Встречаемся 25 февраля в 20:00 мск. Это ваш первый шаг к карьере в Game QA! Кстати, все участники получат скидку на большое обучение «Game QA Engineer».
👉 Регистрация открыта: https://vk.cc/cIL5T2
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
🔥 Тестирование API: Как проверить, что всё работает как надо?
API – это основа большинства современных приложений. Ошибка здесь может привести к сбоям в мобильных и веб-приложениях, так что проверка API – критически важный этап.
С чего начать?
📌 Понимание документации – читаем Swagger, Postman, Restful-booker и т.д.
📌 Ручное тестирование с Postman или cURL – отправляем запросы и проверяем ответы.
📌 Проверка статус-кодов – убедись, что 200 – это успех, 400 – ошибка клиента, 500 – ошибка сервера.
📌 Тестирование граничных значений – что будет, если отправить пустое поле или очень длинное значение?
📌 Тестирование негативных сценариев – ввод некорректных данных, проверка прав доступа, DDoS-атаки.
Автоматизация API-тестов
🐍 Postman + Newman – запуск тестов в CI/CD.
🐍 RestAssured (Java/Kotlin) – мощный инструмент для автоматизированного тестирования API.
🐍 Requests + Pytest (Python) – отличная связка для API-тестов.
🐍 K6 или JMeter – проверка нагрузки на API.
Помни: тестирование API – это не только проверка ответов, но и анализ логов, мониторинг метрик, работа с базой данных!
А ты тестируешь API? Какими инструментами пользуешься? Пиши в комментариях! 👇
#qa #testing
Подпишись👉 @testlab_qa
💡Что такое микросервисная архитектура
Микросервисная архитектура — это подход к проектированию приложений, при котором система разбивается на небольшие, независимые друг от друга модули (микросервисы). Каждый микросервис отвечает за выполнение строго определённой задачи и взаимодействует с другими через API.
Ключевые особенности:
🔹Декомпозиция системы: приложение разбито на модули, каждый из которых имеет свою зону ответственности. Например, один сервис управляет авторизацией, другой — корзиной покупок.
🔹Изолированное тестирование: тестировщики проверяют каждый сервис отдельно (юнит-тесты, функциональные тесты) и их взаимодействие (интеграционные тесты).
🔹API как основа: все микросервисы общаются через API, поэтому тестирование API становится важной частью работы QA.
🔹Независимость релизов: сервисы обновляются по отдельности, что требует пересмотра подходов к регрессионному тестированию.
🔹Тестирование связей: помимо функциональности отдельных сервисов, важно проверять, как они работают вместе, включая обмен данными и сценарии отказа.
#qa #testing
Подпишись👉 @testlab_qa
🔥От тестировщика к эксперту по нагрузке: начни прямо сейчас! 🚀
Нагрузочное тестирование — не просто тренд, а спрос на рынке. Пройдите тест, проверьте знания и получите скидку на обучение в группе курса «Нагрузочное тестирование».
Вы научитесь:
✅ Работать с инструментами JMeter, Gatling, k6.io
✅ Настраивать CI/CD для автоматизации тестов
✅ Мониторить метрики в Grafana
✅ Планировать тесты под реальные нагрузки
📌 Пройдите тест и получите скидку на курс! 🎓
👉 Попробовать: https://vk.cc/cIGbLNРеклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Собеседования на Fullstack QA. Личный опыт
В этой статье хочу поделиться своим опытом прохождения собеседований на Fullstack QA (Python + Pytest, но думаю, для других языков статья тоже будет полезна).
Предисловие
Последние 3 года я не интересовалась рынком труда, на собеседования соответственно тоже не ходила, по этому, когда я начала их проходить, меня ждало много открытий и удивлений.
Поэтому я решила поделиться своим опытом собеседований в 2024 году. Здесь будет много субъективного мнения, а так же немного реальных вопросов и задач, которые вы можете использовать для подготовки к своему собеседованию.
https://habr.com/ru/articles/879916/
#qa #testing
Подпишись👉 @testlab_qa
⚡️Как максимизировать производительность ваших тестов в JMeter?
13 февраля в 20:00 мск. приглашаем вас на открытый вебинар “Работа с Ultimate Thread Group в JMeter. Расчёт параметров теста”.
На занятии мы рассмотрим:
- Как работает Ultimate Thread Group и в чем ее преимущества
- Гибкость настройки нагрузки и количества потоков для эффективного тестирования
- Практическое руководство по использованию инструмента
🔥Участники получат Excel-таблицу для автоматического расчета параметров теста
👉Регистрация: https://vk.cc/cIfgJZ
Занятие приурочено к старту курса “Нагрузочное тестирование”, на котором вы научитесь составлять методику, разрабатывать скрипты, запускать тесты и настраивать мониторинг нагрузочного тестирования.Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
CanIDevTools — это ресурс, аналогичный CanIUse, но предназначенный для разработчиков, работающих с браузерными инструментами разработчика. Он предоставляет документацию по различным рабочим процессам и предлагает еженедельную рассылку с советами и трюками.
https://github.com/pankajparashar/canidev.tools
#qa #testing
Подпишись👉 @testlab_qa