Библиотека тестировщика | QA, тестирование, quality assurance, manual testing, autotesting, ручное тестирование, автотесты
8.78K subscribers
1.22K photos
152 videos
23 files
2.56K links
Все самое полезное для тестировщика в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/12538d6f

Работать у нас: https://job.proglib.io/

Для обратной связи: @proglibrary_feeedback_bot
Download Telegram
🖥️ Как проверить адаптивность приложения для нестандартных разрешений экрана

При тестировании приложений часто забывают про экраны с необычными разрешениями, например, 800x600 или 5K. Эти размеры требуют отдельного подхода, чтобы убедиться, что интерфейс остаётся функциональным и красивым на всех типах устройств.

Промпт:

How can I check the responsiveness of my application for screen resolutions that are rarely used (e.g., 800x600 or 5K)? What testing tools and
methods should be applied for these screen sizes?


Чем полезен:

➡️ Проверяет, как приложение ведет себя на экранах с редкими разрешениями

➡️ Помогает выявить проблемы с отображением и интерфейсом на разных типах экранов

➡️ Рекомендует методы тестирования, включая эмуляцию и использование инструментов

Дополнительно можно запросить:

— Как настроить медиа-запросы для таких разрешений

— Использование инструментов, таких как Chrome DevTools, для проверки адаптивности

— Рекомендации по улучшению интерфейса для редких экранов

🐸 Библиотека тестировщика

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5🤩2👍1
🕚 Почему баги в часовых поясах важнее, чем кажется

Наш подписчик поделился интересной историей:

«Во время тестирования регистрации на сайте я наткнулся на баг, из-за которого пользователи из разных часовых поясов не могли подтвердить свои аккаунты. Всё выглядело нормально, но время для ввода кода подтверждения не совпадало с реальным временем пользователя.

После разбирательства оказалось, что система не учитывала часовой пояс при расчёте времени действия кода. Пришли к такому решению: конвертировать время в UTC и отображать с учётом часового пояса.»


Были ли у вас такие проблемы с часовыми поясами? Как вы с ними справлялись?

🐸 Библиотека тестировщика

#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
8🤩3😁2
Media is too big
VIEW IN TELEGRAM
Как относитесь к созданию своего жпт не через конструктор, а хардкорно через код?

🔥 — я своего завайбкодил

🏃‍♀️ Ссылка на курс
Please open Telegram to view this post
VIEW IN TELEGRAM
🤩5🌚2👏1
😏 Фишка инструмента: кэширование авторизации между тестами

Cypress позволяет сохранять и восстанавливать сессию (cookies, localStorage, sessionStorage) при помощи команды cy.session(), чтобы логин не выполнялся перед каждым it. Это ускоряет тесты и делает их стабильнее.

Что еще полезного:

Ускоряет тесты — логин происходит единожды, остальные кейсы используют сохранённую сессию

Удобно для крупных e2e-сценариев с авторизацией

Поддерживает несколько сессий по разным ключам (пример: для разных ролей пользователя)

Как настроить:


beforeEach(() => {
cy.session(['[email protected]', '123456'], () => {
cy.visit('/login')
cy.get('input[name="email"]').type('[email protected]')
cy.get('input[name="password"]').type('123456')
cy.get('button[type="submit"]').click()
cy.url().should('contain', '/dashboard')
}, {
cacheAcrossSpecs: false
})
cy.visit('/dashboard')
})


➡️ cy.session() — кэширует сессию по идентификатору (массив или строка)

➡️ На следующий it Cypress восстановит сессию, минуя повторный логин

➡️ После cy.session() обязательно добавляйте cy.visit(), чтобы перейти на нужную страницу

💡 Дополнительно:

— Используйте cacheAcrossSpecs: true, чтобы сессия сохранялась между spec-файлами при запуске cypress run --browser electron (но могут быть нюансы с Chrome)

— Для валидации сессии можно добавить validate() опцию: при неуспехе — сессия пересоздаётся

— Cypress.session API позволяет отслеживать и очищать, если необходимо

🐸 Библиотека тестировщика

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👏6🥰3😁1
💡 Как вывести резюме тестировщика в топ на HeadHunter

Вы знаете, как устроен баг-репорт, умеете писать автотесты и работать с API — но ваше резюме на HH никто не смотрит? Значит, пора перестать ждать и начать играть по правилам алгоритма.

Что в карточках:

Почему важно указать «Москву» даже на удалёнке

Когда лучше обновлять резюме, чтобы быть в топе

Какие ключевые слова повышают шансы QA-кандидата

Что дает кнопка «Хочу здесь работать»

И как видеовизитка может выделить вас среди других

Если хотите больше откликов — научитесь быть видимым для системы.

🔗 Полный текст статьи — по ссылке

🐸 Библиотека тестировщика
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🥰2
😵‍💫 Думает как тестировщик, действует как скрипт

Подсказка: если запускается сам и проверяет, что всё зелёное — это оно.

Что за функционал зашифрован? ✏️

🐸 Библиотека тестировщика

#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
🤩4🥰2😁1
📌 Тренажеры и песочницы для прокачки QA-навыков

Если хочется прокачать навыки руками, а не только читать теорию — вот подборка отличных ресурсов для практики:

➡️ Bug Magnet (плагин) — расширение для браузера, которое добавляет готовые edge-кейсы (пустые строки, спецсимволы, длинные значения) прямо в поля ввода.

➡️ Test Automation University — интерактивные курсы по автотестам: Selenium, Cypress, API, визуальное тестирование, BDD и многое другое.

➡️ QA playground — интерактивная песочница с багами и задачами для ручного тестирования.

➡️ Mindmap-тренажёры по тест-дизайну — rоллекция майнд-карт, «чек-листов мышления», ситуационных задач для развития exploratory testing и навыков анализа.

➡️ DemoQA — тестовый сайт с интерактивными элементами: формы, таблицы, алерты, дропдауны, drag-and-drop и др.

🐸 Библиотека тестировщика

#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰7❤‍🔥2👍2
🧠 Задача: поведение интерфейса

Вы тестируете веб-приложение на разных устройствах.
При ширине окна 768px интерфейс переключается с десктопной версии на мобильную: меню скрывается за иконку, блоки выстраиваются в колонку.

Что с наибольшей вероятностью определяет это поведение

🐸 Библиотека тестировщика

#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4🤩2🤔1
☝️ Последний шанс купить курсы Proglib Academy с доступом навсегда!

Это не просто летняя распродажа, это финал эпохи. Мы дарим скидку 40% на все курсы, включая полностью обновлённый курс по Python (предложение НЕ ДЕЙСТВУЕТ только на курс по AI-агентам для DS-специалистов).

Но главное: с 1 августа доступ ко всем новым курсам станет ограниченным. Успейте инвестировать в свои знания на самых выгодных условиях!

👉 Выбрать курс
🤩5
👍 Топ-вакансий для тестировщиков за неделю

Senior QA Engineer — 2 500 —‍ 3 500 $, удаленно

Junior QA engineer (нагрузочное тестирование) — офис (Москва)

Senior QA Automation Engineer — от 2 000 $, удаленно (Москва)

Инженер нагрузочного тестирования — 200 000 —‍ 255 000 ₽, гибрид (Москва)

Тестировщик мобильных игр — удаленно (Санкт-Петербург)

➡️ Еще больше топовых вакансий — в нашем канале QA jobs

🐸 Библиотека тестировщика

#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰5🤩2
⭐️ Как проверить пагинацию и фильтрацию в API

Пагинация и фильтрация — основа работы с большим объёмом данных в API. Неправильная реализация может привести к багам: дубли, пустые страницы.

1. Проверка пагинации по limit/offset (или page/size)

Пример:


GET /api/users?limit=10&offset=20


Проверяем:

🔴 Количество записей соответствует limit

🔴 Первые записи не повторяются с предыдущими страницами

🔴 Последняя страница возвращает < limit элементов, если данных меньше

🔴 Указание offset больше общего количества — пустой массив, не 500

2. Проверка фильтрации по полям

Пример:


GET /api/orders?status=completed&userId=42


Проверяем:

🔴 Все записи в ответе соответствуют status=completed

🔴 Если указать несуществующий userId, получаем пустой массив

🔴 Несколько фильтров работают в связке (AND / OR)

🔴 Поля фильтра чувствительны к регистру или нет — по документации

3. Проверка сочетания пагинации + фильтра


GET /api/orders?status=pending&limit=5&page=2


Проверяем:

🔴 На каждой странице нет дубликатов

🔴 Фильтр не сбрасывается при переключении страниц

🔴 Количество записей соответствует фильтру, а не общему числу

4. Негативные сценарии

*️⃣ limit=-1, offset=999999 — должны возвращать ошибку или пустой массив

*️⃣ status=DROP TABLE — нет SQL-инъекций

*️⃣ limit=10000 — ограничение на максимальное значение (должно быть)

*️⃣ userId=abc — проверка валидации типов

5. Что важно проверить:

Фильтрация отрабатывает точно — ни одной лишней или пропущенной записи

Пагинация не ломает логику — нет дубликатов, всё делится корректно

Ответ соответствует контракту API — есть поля meta.totalPages, items и т. д.

API устойчиво к мусору — не падает на limit=-1, status=aaa

💡 Такие проверки особенно важны при работе с таблицами, админками, отчетами и логами. Пагинация + фильтры = зона, где чаще всего ломаются списки и появляются баги на проде.

🐸 Библиотека тестировщика

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍115🔥3🥰1
Вопросы по HTTP-методам: PUT, POST и PATCH

На собеседованиях по тестированию веб-приложений вас могут спросить, чем отличаются эти HTTP-методы.
В карточках разберем:

➡️ Как работает метод PUT

➡️ Как POST используется для создания ресурсов

➡️ Когда лучше применять PATCH для частичного обновления

Важно понимать, когда и как использовать каждый из этих методов, так как они влияют на обработку данных на сервере ❗️

🐸 Библиотека тестировщика
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👏5🔥2🥰2