Forwarded from Библиотека джависта | Java, Spring, Maven, Hibernate
В каждой команде бывают специалисты, чья ценность не укладывается в привычные метрики продуктивности. Они редко в топе по количеству закрытых задач, но именно их вклад критически важен для общего результата.
Такие люди помогают менее опытным коллегам разобраться в сложных вопросах, улучшают архитектуру и процессы незаметными правками, предотвращают ошибки ещё до того, как они стали задачами, создают культуру качества, которую не видно в отчётах.
Иногда стоит пересмотреть, как мы оцениваем эффективность. Потому что не все цифры отражают суть.
Please open Telegram to view this post
VIEW IN TELEGRAM
🤩7🔥2❤1
Ситуация: вы, как тестировщик, ожидаете новый билд на тестовом стенде, но его нет. Вместо паники предлагаем вам чек-лист для выявления и устранения проблемы.
git log --oneline
открой GitLab/Jenkins/GitHub Actions
test:
script:
- pytest tests/
deploy:
script:
- scp dist/ user@qa-server:/var/www/
• В CI-системе: артефакты пайплайна (в GitLab: “Job artifacts”)
• В артефакт-хранилищах: Nexus, Artifactory
• В облаке: AWS S3, GCP
• На сервере:
ssh user@qa-server
ls /var/www/
• «Ты точно запушил код?»
• «Билд собирался локально или через CI?»
• «CI зелёный? Где логи?»
• «CI не может задеплоить билд. Что с сервером?»
• «Есть ли ограничения в пайплайне?»
Добавь уведомления в Slack/Telegram о статусе билда, чтобы отслеживать статус.
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7😁4🔥2🤔1
Тестировщики!
Проголосуйте за наш канал, и в сторис мы опубликуем топ материалов, которые должен прочитать каждый тестировщик.
➡️ Поддержать канал: 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