Тестировщики!
Проголосуйте за наш канал, и в сторис мы опубликуем топ материалов, которые должен прочитать каждый тестировщик.
➡️ Поддержать канал: https://t.iss.one/boost/testerlib
Проголосуйте за наш канал, и в сторис мы опубликуем топ материалов, которые должен прочитать каждый тестировщик.
Please open Telegram to view this post
VIEW IN TELEGRAM
1🥰5😁2🔥1🤩1
Кажется, багов в проекте становится больше… или это зомби в шахте? Ты уже открыл DevTools, но всё равно кликаешь по пиксельным дверям.
Ты видишь баг-репорт, а читаешь его как «записки в дневнике игрока на хардкоре».
Если regression test превратился в рейд на деревню, а Allure-отчёты выглядят как таблица зачарований — время пройти тест.
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰7🤩3🔥1
Grep ищет строки по шаблону в текстовых файлах. Звучит просто, а работает — мощно.
Как можно использовать:
grep "ERROR" application.log
ps aux | grep "my_app"
grep -ri "TODO" ./src
Какие флаги стоит знать:
Когда лог — это тысячи строк мусора, grep помогает быстро найти нужное. Меньше времени на ручной анализ — больше точности в баг-репорте и стабильности в продукте.
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🥰3⚡1🤩1
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰7😁6🤩3
В нем собраны ключевые сценарии, покрывающие корректность обработки данных, валидацию, статус-коды, работу с различными HTTP-методами и особенности бизнес-логики.
• Сопоставляем структуру данных с API-спецификацией
• Валидируем обязательные и необязательные поля
• Сверяем типы данных с ожидаемыми
• Отправляем запрос с полным набором валидных данных и отслеживаем корректный результат
• Отправляем минимально необходимый набор данных для успешного создания
• Имитируем отправку без обязательных полей и получаем соответствующую ошибку
• Подаём запрос без тела и фиксируем корректную обработку ошибки
• Подставляем как корректные, так и ошибочные данные для проверки валидации
• Отправляем пустой JSON и анализируем ответ
• Проверяем автозаполнение даты создания объекта
• Запрашиваем список при отсутствии данных и получаем пустой результат
• Получаем список с данными и сверяем корректность
• Прогоняем пагинацию с limit и offset, включая пограничные значения
• Передаём некорректные параметры и анализируем ошибки 400
• Выполняем запрос по валидному ID и убеждаемся в правильности возвращаемых данных
• Подаём несуществующий ID и ожидаем 404
• Используем невалидный формат ID и получаем ошибку 400.
• Обновляем объект с валидными данными и отслеживаем результат
• Имитируем обновление несуществующего объекта и получаем 404
• Отправляем некорректный ID и получаем 400
• Проверяем валидацию при обновлении с ошибочными значениями
• Обновляем частично — передаём только нужные поля и убеждаемся в корректной обработке
• Удаляем существующий объект и получаем подтверждение
• Повторно удаляем уже удалённый объект и фиксируем ошибку
• Пытаемся удалить несуществующий объект и получаем 404
• Отправляем невалидный ID и убеждаемся в корректной ошибке
• Удаляем объект и заново создаём его с теми же уникальными полями — исключаем конфликт
• Отслеживаем корректность возвращаемых статусов (200, 201, 204, 400, 401, 403, 404, 500 и т.д.) в зависимости от сценария
• Симулируем сетевые сбои, таймауты и передаём некорректные данные — отслеживаем поведение API
• Проверяем работу сложных сценариев, зависимостей и бизнес-правил (например, нельзя удалить связанную сущность)
• Проверяем доступ к защищённым ресурсам только при наличии валидной авторизации
• Отправляем запросы с просроченными, отсутствующими и поддельными токенами — анализируем реакции API
Сохраняй себе, пригодится
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15❤4🥰3👏1🤩1
Пошаговый план для старта:
Понимание жизненного цикла разработки ПО, видов тестирования и техник тест-дизайна — твой фундамент. Начни с книги «Тестирование Дот Ком» Романа Савина.
Освой базовые SQL-запросы для работы с базами данных и основы одного из языков программирования (например, Python). Это расширит твои возможности в тестировании.
Участвуй в open-source проектах на GitHub или тестируй любимые приложения. Создавай отчеты о найденных багах — это станет твоим портфолио.
Структурированное обучение поможет систематизировать знания и получить поддержку опытных менторов.
Изучи типичные вопросы, попрактикуйся в рассказе о себе и своих навыках. Умение презентовать себя не менее важно, чем технические знания.
Подробную роадмпапу можно скачать из нашего прошлого поста
P.S. Если хотите задать вопрос, заполните нашу гугл-форму. Это займет 5 минут.
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
🤩4👍2🔥2
🕸️ Сети: что посмотреть, чтобы не плавать
Подобрали для вас годную подборку видео, с которых можно начать или освежить базу.
➡️ Сети для тестировщика. Базовые знания сетей — видео с практическими примерами, раскрыты такие моменты, как mac-адрес, ip-адрес, DNS, DHCP и другие.
➡️ Введение в компьютерные сети для начинающих — типы, термины, модель OSI, VLAN и др.
➡️ URL, URN, IP address, DNS server, cash and cookies
🐸 Библиотека тестировщика
#буст
Подобрали для вас годную подборку видео, с которых можно начать или освежить базу.
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥4😁1🤩1
Вышел полезный инструмент для QA-специалистов, работающих с автотестами на Python — swagger-coverage-tool. Он позволяет измерять покрытие API-тестов по спецификации Swagger (OpenAPI) и видеть, какие части контракта реально проверяются в ходе тестирования.
Что умеет:
Что фиксирует:
1. Какие запросы были выполнены;
2. Какие статус-коды и query-параметры были покрыты;
3. Была ли проверка тела запроса и ответа;
4. Динамику покрытия по времени.
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11❤2🥰2🤩1
Please open Telegram to view this post
VIEW IN TELEGRAM
🤩7👍3🔥1
2025 год, а ручное тестирование всё ещё живёт.
Рядом — автоматизация, CI/CD, нейросети. Но споры не утихают.
Что говорят автоматизаторы:
Без кода ты не тестировщик, а бета-тестер с зарплатой. Хочешь быть профи — учи Python, JS, хоть что-то!
Что говорят мануальщики:
Я ловлю баги, которые твой код даже не увидит. У меня чутьё. У тебя — flaky-тесты.
Ручное тестирование — это:
• Быстро протестировать фичу, которую вчера придумали в коридоре.
• Симулировать хаос реального пользователя, а не идеальный happy-path.
• Лучше понимать продукт, чем просто дергать API и ждать 200 OK.
• Один клик — и 1000 тестов в CI.
• Регрессия не проскочит, если покрытие есть.
• Без неё ты тонешь в рутине — ручками ничего не успеть.
Так где правда?
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🥰3🤩2👾1
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰3🤩3🔥1
Конструкция позволяет избежать аварийного завершения программы и обеспечить корректную обработку ошибок.
Блок try содержит код, который может вызвать исключение. Если в этом блоке возникает ошибка, управление передаётся в соответствующий блок catch, где можно обработать исключение.
Пример:
try {
int[] numbers = {1, 2, 3};
System.out.println(numbers[5]); // Попытка доступа к несуществующему индексу
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("Ошибка: выход за пределы массива.");
}
В этом примере попытка доступа к шестому элементу массива вызывает исключение ArrayIndexOutOfBoundsException, которое перехватывается и обрабатывается в блоке catch.
• Предотвращение сбоев: обработка исключений позволяет программе продолжить работу даже при возникновении ошибок.
• Улучшение читаемости: явная обработка ошибок делает код более понятным и поддерживаемым.
• Обработка различных типов ошибок: можно использовать несколько блоков catch для обработки разных типов исключений.
• Блок finally: код в этом блоке выполняется всегда, независимо от того, возникло ли исключение или нет. Это полезно для освобождения ресурсов, например, закрытия файлов или соединений.
try {
// Код, который может вызвать исключение
} catch (Exception e) {
// Обработка исключения
} finally {
// Код, который выполнится в любом случае
}
• Множественные исключения в одном блоке catch: начиная с Java 7, можно обрабатывать несколько типов исключений в одном блоке, разделяя их вертикальной чертой |.
try {
// Код, который может вызвать исключение
} catch (IOException | SQLException e) {
// Обработка IOException и SQLException
}
Правильная обработка исключений помогает создавать более стабильные и предсказуемые приложения.
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3🤩2👍1
Middle QA Engineer (manual + automation java) — офис/удаленно (Новосибирск)
Тестировщик ПО / QA Engineer (стажер) — 90 000 - 140 000 ₽, удаленно (Москва)
Manual QA engineer — удаленно/Гибрид/Офис (Санкт-Петербург)
Middle QA Engineer (Fullstack) — от 180 000 до 220 000 ₽, удаленно (Нижний Новгород)
QA Engineer / Инженер по качеству — от 60 000 до 150 000 ₽, офис (Санкт-Петербург)
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰4🤩2🔥1
В этой шпаргалке собраны основные способы поиска элементов в Selenium: по ID, Name, XPath, CSS, LinkText и другим. Кратко, наглядно и по делу — удобно для практики и повторения при написании автотестов.
Сохраняй себе!
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰4👍2🤩2
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰5🤩2
Веб-тайминг-атаки позволяют извлекать информацию о серверных уязвимостях, анализируя время отклика системы. Эти атаки могут обойти защиту и раскрыть конфиденциальные данные.
Как они работают:
Например, если сервер медленнее обрабатывает запросы с определёнными данными, это может указывать на наличие этих данных в базе.
Пример:
Как их тестировать:
curl -w "Time: %{time_total}\n" -o /dev/null -s "https://example.com/login?user=admin&password=wrongpassword"
Как защититься:
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4🤩3👍2
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🎉🐙🐱 20 лет Git: все такой же необычный, все такой же великолепный
Легендарному Git стукнуло 20! Вспоминаем, как проект, который Линус Торвальдс называл «тупым менеджером контента», стал незаменимым инструментом для всех, кто хоть раз писал код или даже просто хранил файлы.
Погружаемся в историю, эволюцию и влияние Git на индустрию разработки.
➡️ Читать статью
🐸 Библиотека программиста
Легендарному Git стукнуло 20! Вспоминаем, как проект, который Линус Торвальдс называл «тупым менеджером контента», стал незаменимым инструментом для всех, кто хоть раз писал код или даже просто хранил файлы.
Погружаемся в историю, эволюцию и влияние Git на индустрию разработки.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5🎉2🤩2
Для удобства можно использовать следующий запрос, но обязательно проверяйте на точность (убедитесь, что тестирование охватывает все необходимые сценарии).
PROMPT:
Simulate 1000 simultaneous users attempting to log into the system. Ensure that the system responds within acceptable time limits (e.g., < 3 seconds). Monitor server load, database interactions, and UI response times during the simulation. The system should remain stable under this load, and there should be no failures or significant slowdowns.
Что это тестирует:
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4🤩3😁2
Когда мне впервые дали на тест мобильное приложение, я честно думал: «Ну чё там, приложение как приложение. Потыкал кнопки, посмотрел, не крашится — и готово.»
Ага, держи карман шире.
Начал с Android — вроде всё норм. Только кнопка чуть съехала. Ну, не критично же.
Потом включил iOS — и там начался цирк:
• кнопки налезают друг на друга,
• половина текста не помещается,
• скролл работает через раз,
• и на каком-то старом iPhone приложение просто решило: «я больше не с вами», и умерло.
До полуночи я бегал между эмуляторами, реальными телефонами, снимал скрины, записывал видео, заводил баги. Голова кипела. Хотелось спросить у вселенной: «Зачем столько разных экранов?! Кто вообще придумал адаптивность??»
Но под утро, когда я уже почти уснул с телефоном в руке, вдруг поймал странное чувство:
мне… нравится.
Нравится разбираться в этой каше. Нравится видеть то, что другим кажется мелочью.
Нравится ловить баг, о котором никто даже не подумал.
И я понял:
Мобильное тестирование — оно живое. Иногда бесит, часто утомляет, но почти всегда увлекает. Это как быть таким digital-детективом. И если не ждать идеальности — даже очень прикольно.
А вы помните свой первый мобильный баг? Или ту задачу, от которой хотелось выкинуть телефон?
Пишите, поддержим друг друга в этом безумии
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰5😁2🤩2
Когда вы тестируете веб-приложение с многочисленными формами и полями ввода, часто нужно вручную заполнять их для тестов. Чтобы сэкономить время, вы можете использовать простой JavaScript-код для автоматического заполнения всех полей формы на странице прямо в браузере.
Как это работает:
(function() {
var inputs = document.querySelectorAll('input, select, textarea');
inputs.forEach(function(input) {
if (input.type === 'text' || input.type === 'textarea') {
input.value = 'Test Value'; // Заполняем текстовые поля
} else if (input.type === 'email') {
input.value = '[email protected]'; // Заполняем email
} else if (input.type === 'password') {
input.value = 'TestPassword123'; // Заполняем пароль
} else if (input.type === 'checkbox') {
input.checked = true; // Отмечаем чекбоксы
} else if (input.type === 'radio') {
input.checked = true; // Выбираем радиокнопки
} else if (input.tagName.toLowerCase() === 'select') {
input.selectedIndex = 1; // Выбираем первый доступный элемент в списке
}
});
})();
Что происходит в коде:
textarea
, `select`).MutationObserver
для отслеживания изменений.#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤2🤩2