GetAnalyst Кэширование.pdf
2 MB
Материал от GetAnalyst — создан для системных аналитиков, но критически важен для понимания всей команды разработки, включая QA.
#артефакт
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰7🤩4
This media is not supported in your browser
VIEW IN TELEGRAM
Тестируй API прямо в браузере без установки тяжёлых приложений.
REST, GraphQL, WebSocket, MQTT — всё в одном месте. Коллекции, переменные окружения, совместная работа.
Опенсорс, быстрый, можно хостить у себя. Работает как PWA — устанавливается одним кликом.
#тест_драйв
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6🥰3👍1🤩1
Представьте интернет-магазин. Вы открываете сайт, видите товары, добавляете их в корзину — всё выглядит просто. Но внутри работает два мира.
Кнопки, формы, карточки, анимации, цвета. Он работает в браузере и отвечает за внешний вид и удобство. Как кузов и салон автомобиля — красиво, понятно, удобно.
Когда вы нажимаете «Купить», backend проверяет логин, уменьшает остаток товара, считает итоговую сумму и сохраняет заказ. Это всё происходит на сервере — как двигатель под капотом.
Frontend: «Покажи товары».
Backend: ищет в базе и возвращает данные.
Frontend: отображает их пользователю.
Это постоянный диалог между интерфейсом и внутренней логикой системы
#теория_на_пальцах
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7🥰3🤩2
Команда протестировала весь позитивный сценарий — авторизация, запрос, ответ, успех. Всё зелёное. В проде — падение сервиса.
Что оказалось:
Один негативный кейс ломал весь поток:
Тестировали happy-path → ничего не взорвалось Добавили негативные → воспроизвели падение за 30 секунд.
Happy-path не тестирует систему — только вашу веру в неё
#разбор_полетов
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍4🥰4🤩1
📁 Базовая навигация
pwd # где я нахожусь
ls -la # что тут есть
cd /path/to/folder # перейти туда
cd .. # назад
📝 Смотрим логи
tail -f app.log # смотреть лог в реальном времени
tail -100 app.log # последние 100 строк
grep "ERROR" app.log # найти ошибки
grep -i "error" app.log # без учета регистра
🔍 Ищем по файлам
grep "текст" файл # найти в файле
grep -r "текст" ./папка # найти во всех файлах папки
find . -name "*.log" # найти все логи
🌐 Проверяем API/сеть
curl https://api.example.com # GET запрос
curl -X POST url -d '{"key":"val"}' # POST запрос
ping google.com # проверить доступность
📊 Быстрый анализ
grep "ERROR" app.log | wc -l # сколько ошибок
cat log | grep "404" | wc -l # сколько 404
tail -f log | grep "ERROR" # следить за ошибками
🔧 Процессы и порты
ps aux | grep java # найти процесс
lsof -i :8080 # что на порту 8080
kill 1234 # убить процесс
💾 Диски и память
df -h # сколько места на дисках
free -h # сколько памяти
В 90% случаев хватит:
-
tail -f для логов-
grep для поиска-
curl для API-
ps aux | grep для процессов#артефакт
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰5❤3🤩3
This media is not supported in your browser
VIEW IN TELEGRAM
Новогодний адвент-календарь для тестировщиков от Артёма Русова.
Уже открыто (дни 1–12):
• День 1 — Эвристики и мнемоники
Практичные приёмы и модели мышления для поиска дефектов.
• День 2 — Песочница для AQA
Тренажёр для прокачки навыков автоматизации тестирования.
• День 3 — DevTools
Симуляторы и упражнения по работе с инструментами разработчика.
• День 4 — Генерация данных
Утилиты и шаблоны для создания корректных и крайних тестовых данных.
• День 5 — Собеседования
Авторские советы и разборы типовых вопросов.
• День 6 — TestOps
Бесплатные курсы для знакомства с DevOps-подходами в QA.
• День 7 — SQL Island
Интерактивная игра для освоения SQL на практике.
• День 8 — Web Elements
Примеры реализации HTML, CSS и JS-элементов, полезные для UI-тестирования.
• День 9 — База знаний
Технические термины и концепции без лишней абстракции.
• День 10 — UI/UX
Игра-тренажёр на выбор наиболее удобных интерфейсных решений.
• День 11 — Тесты по тестированию
Более 100 вопросов для самопроверки и повторения теории.
• День 12 — Postman
Симулятор для отработки ключевых сценариев работы с API.
#карьерный_трек
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5🔥3🥰2🤩1
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰9😁5🤩2💯2
Можно управлять синхронизацией между OpenAPI 3.0 и коллекциями, выбирать, синкаются ли параметры и request body.
Почему важно QA:
#release_notes
Please open Telegram to view this post
VIEW IN TELEGRAM
👏4🤩2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁6🥰4🤩2
Всё дело в кэше браузера — невидимом помощнике, который хранит копии файлов на вашем компьютере. Но как понять, что именно происходит «под капотом»? Откуда браузер взял эту картинку — скачал с сервера или достал из своих запасов?
В статье разбираем:
#карьерный_трек
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5🤩3🥰2
Зачем:
Отлавливать баги при построении страницы: мигающие элементы, спиннеры, прогресс-бары, проблемы с initial render и CLS.
Как включить:
F12 → Network → ⚙️ → Capture screenshots → Ctrl+R
Результат:
Лента скриншотов с таймкодами — видно, когда и в каком порядке появляются элементы.
Зачем:
Найти лишний CSS/JS, который замедляет загрузку и может маскировать баги.
Как найти:
F12 → Ctrl+Shift+P → Show Coverage → Start instrumenting coverage
Результат:
Таблица с процентом использованного и неиспользованного кода.
Красным отмечен код, не выполнявшийся в текущем сценарии.
Где помогает:
— лишние стили и шрифты
— подключённые, но неиспользуемые библиотеки
— избыточный CSS после редизайнов
⚠️ Coverage показывает не «плохой код», а код, который не был задействован при проверке.
Зачем:
Вносить правки в HTML/CSS/JS так, чтобы они сохранялись после перезагрузки страницы.
Как настроить:
F12 → Sources → Overrides → Select folder for overrides → выбрать папку
Как сохранить файл:
Network → нужный файл → клик правой кнопкой → Save for overrides
Пример сценария:
Sources → найти файл → внести правку → Ctrl+S → обновить страницу
Изменения применяются автоматически.
⚠️ Ограничения:
— не сохраняет правки напрямую из вкладки Elements
— работает только с файлами из Sources
— CSS редактируется через Styles, если файл зафиксирован в Overrides
F12 — открыть DevTools
Ctrl+Shift+C — инспектор элементов
Ctrl+Shift+P — Command Menu
Ctrl+Shift+M — Device Toolbar
Ctrl+R — перезагрузка страницы
Ctrl+S — сохранить изменения
Ctrl+F — поиск
#тест_драйв
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤2🤩2🥰1
Какой тип дефекта сложнее всего доказать команде?
Anonymous Poll
10%
UX-баг без падений
45%
Нестабильный баг («иногда»)
3%
Performance-деградация
27%
Баг, который «не по ТЗ, но неправильно»
4%
Security-риск без явного эксплойта
12%
Регрессия, замаскированная под фичу
🤩6👏2
Порт — это номер, который показывает, какому приложению на устройстве предназначен сетевой запрос.
Если по-простому:
IP-адрес — это дом, порт — конкретная дверь в этом доме.
📦 Один сервер → один IP → тысячи портов
Каждый порт может быть занят своим сервисом:
• 80 / 443 — веб-сайты
• 22 — SSH
• 3306 — MySQL
Когда браузер открывает сайт, он стучится не просто в сервер, а в конкретный порт, где слушает нужное приложение.
— Сервис может быть доступен, но не на том порту
— Баги «не открывается», «таймаут», «connection refused» часто связаны именно с портами
— Разные окружения = разные порты
#теория_на_пальцах
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🥰2
Этот список используют каждый день — вне зависимости от проекта, стека и роли. Если его нет в голове, всё остальное не имеет значения.
• Happy path и негативные сценарии
Функция должна работать не только «как задумано», но и ломаться контролируемо.
• Границы значений
0 / 1 / max / пусто / null — именно здесь чаще всего живут баги.
• Валидация ввода
Тип данных, длина, формат. Никакой веры фронту — только факты.
• Ошибки сервера и сообщения пользователю
500-е, таймауты, сетевые ошибки. Пользователь должен понимать, что произошло.
• Повторные действия
Double click, refresh, кнопка Back. Приложения ломаются не от кликов, а от повторов.
• Сохранение состояния
Перезагрузка страницы, смена вкладки, возврат назад. Состояние не должно «исчезать».
#артефакт #intern
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8🥰3🤩3👍1
Пользователь написал в поддержку:
"Пытаюсь удалить аккаунт, но вылетает ошибка. Уже 10 раз пробовал — не работает."
Оказалось — запрос доходил до сервера, но падал с 500 ошибкой.
UI отправлял запрос на удаление, но бэкенд не мог его обработать. Frontend показывал общую ошибку «Что-то пошло не так», а в логах — 500 Internal Server Error.
Что происходило на сервере:
— запрос приходил корректно
— начиналось удаление связанных данных
— падало на внешнем ключе (foreign key constraint)
— откат транзакции → ничего не удалялось
Почему падало:
— не учли каскадное удаление из связанных таблиц
— не обработали зависимости (комментарии, лайки, подписки)
— забыли про данные в очередях и кэше
— не протестировали на аккаунтах с реальной активностью
Итог: пользователь не мог удалить аккаунт + данные оставались в системе + нарушение GDPR.
— тестировали на "чистых" тестовых аккаунтах
— не проверили связи в БД перед реализацией
— не добавили обработку cascade delete
— пропустили проверку логов при тестировании
👍 — Да, смотрю логи и статусы ответов
❤️ — Только если UI показал ошибку
😁 — Доверяю, что бэкенд работает
🔥 — Буду тестировать на «тяжёлых» аккаунтах с данными
#разбор_полетов
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍6😁4🔥3🤩1
Покрой тестами свои пробелы в знаниях
Ручное тестирование — это хорошо, но автоматизация и знание кода открывают совсем другие зарплатные вилки. Хватит искать баги у других, пофикси свои скиллы.
Акция 1 + 2:
Берешь один курс, получаешь три. Платишь за самый дорогой лот в корзине, два других — за счет заведения.
Мастхэв для QA:
— программирование на Python (золотой стандарт автотестов);
— основы IT (чтобы говорить с девами на одном языке).
Обеспечить 100% покрытие
До 31 декабря.
Саппорт по выбору курсов: @manager_proglib
Ручное тестирование — это хорошо, но автоматизация и знание кода открывают совсем другие зарплатные вилки. Хватит искать баги у других, пофикси свои скиллы.
Акция 1 + 2:
Берешь один курс, получаешь три. Платишь за самый дорогой лот в корзине, два других — за счет заведения.
Мастхэв для QA:
— программирование на Python (золотой стандарт автотестов);
— основы IT (чтобы говорить с девами на одном языке).
Обеспечить 100% покрытие
До 31 декабря.
Саппорт по выбору курсов: @manager_proglib
🤩6
На QA-собеседованиях часто проверяют базу. Waterfall — классический пример: модель старая, но до сих пор используется в enterprise и проектах с фиксированными требованиями.
#карьерный_трек
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰6🤩3❤2