и посмотреть медиа
Preguntas de la entrevista del testador
и посмотреть медиа
Preguntas de entrevista para los evaluadores.
Preguntas de entrevista para los evaluadores.
bot de IA para clonar texto a voz y voz en Telegram. Cree audio utilizando la red neuronal de forma rápida y fácil.
Preguntas de prueba: ISTQB, Selenio, API. Con ejemplos.
🤔 Какими пользовался сниферами? Обычно используются: - Charles — для мобильных и веб-приложений; - Fiddler — удобен на Windows; - Wireshark — низкоуровневый анализ сети; - Burp Suite — в тестах безопасности и перехватах HTTPS. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Открыть канал и посмотреть медиа🤔 Какой body при 404 ответе от сервера? Когда сервер возвращает ответ с кодом 404 (Not Found), это означает, что запрашиваемый ресурс не найден. Содержимое тела (body) ответа при этом может варьироваться в зависимости от реализации сервера и конкретного приложения, но обычно оно содержит информацию, объясняющую пользователю или клиентскому приложению причину ошибки. HTTP/1.1 404 Not Found Content-Type: text/html; charset=UTF-8 404 Not Found 404 Not Found The requested URL /path/to/resource was not found on this server. JSON-ответ для API с кодом 404 HTTP/1.1 404 Not Found Content-Type: application/json { "error": { "code": 404, "message": "Resource not found", "details": "The requested resource /api/v1/resource was not found on this server." } } 🚩Примеры Node.js с использованием Express const express = require('express'); const app = express(); app.use((req, res, next) => { res.status(404).json({ error: { code: 404, message: "Resource not found", details: `The requested resource ${req.originalUrl} was not found on this server.` } }); }); app.listen(3000, () => { console.log('Server is running on port 3000'); }); Python с использованием Flask from flask import Flask, jsonify app = Flask(__name__) @app.errorhandler(404) def not_found(error): response = jsonify({ "error": { "code": 404, "message": "Resource not found", "details": "The requested resource was not found on this server." } }) response.status_code = 404 return response ifead>
Открыть канал и посмотреть медиа🤔 Что делать, если джуниор попал на проект с высокоуровневым чек-листом? - Разбить сложные пункты на подзадачи; - Попросить наставничество или пояснения; - Сконцентрироваться на базовых проверках; - Учиться у команды, не бояться задавать вопросы. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Открыть канал и посмотреть медиа🤔 Для тестирования ПО где можно взять ожидаемый результат? Ожидаемый результат в тестировании ПО – это заранее определённый правильный ответ или поведение системы при заданных входных данных. Он необходим для сравнения с фактическим результатом, чтобы определить, работает ли система корректно. 🚩Где взять ожидаемый результат? 🟠Требования к ПО Основной источник – это функциональные и нефункциональные требования. Если в документации сказано, что кнопка "Отправить" должна отправлять форму и показывать сообщение "Успешно отправлено", то ожидаемый результат теста – появление этого сообщения после нажатия. 🟠Спецификации и дизайн-документы В технических документах могут быть описаны алгоритмы, расчёты, формулы и логика работы системы. Например, если система должна вычислять налог как 13% от суммы дохода, то для входного значения 1000 руб. ожидаемый результат – 130 руб. 🟠Обсуждения с заказчиком, аналитиками и разработчиками Если документация неполная или отсутствует, можно уточнить детали у команды. Например, можно спросить у разработчиков: "Как именно должна обрабатываться ошибка при неверном вводе пароля?" 🟠Прототипы и макеты UI/UX-дизайнеры разрабатывают макеты интерфейсов, из которых можно понять, как должна выглядеть страница после выполнения определённого действия. 🟠Анализ предыдущих версий продукта Если приложение уже существует, можно сравнивать с его предыдущими версиями. Например, если раньше кнопка "Удалить" показывала подтверждающее окно, а теперь не показывает, то это может быть багом. 🟠Стандарты и руководства по индустрии Если тестируем банковское ПО, то ожидаемые результаты могут основываться на стандартах безопасности (например, PCI DSS). Для веб-приложений – на спецификациях W3C. 🟠Ручной расчёт или внешние системы Для тестирования сложных математических вычислений можно рассчитать результат вручную или использовать калькулятор. Например, проверяя налоговый расчёт, можно свериться с бухгалтерскими системами. 🟠Анализ поведения конкурентов Если приложение разрабатывается аналогично конкуренту, можно изучить его работу и ожидать схожего поведения. Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиа🤔 Расскажи про проведение проверок? Проведение проверок — важный процесс в QA (Quality Assurance), который помогает выявить дефекты до того, как продукт попадет к пользователю. Проверки можно разделить на ручные и автоматизированные, а также на разные уровни тестирования. 🚩Виды проверок в тестировании 🟠Верификация и Валидация Верификация (Verification) - проверяем, делаем ли мы всё правильно (соответствие требованиям). Валидация (Validation) – проверяем, правильно ли работает продукт (соответствует ли он ожиданиям пользователя). Верификация: «В ТЗ написано, что кнопка должна быть зеленой. Она зеленая?» ✅ Валидация: «Пользователь понимает, что это кнопка?» 🤔 🟠Функциональное и нефункциональное тестирование Функциональные проверки – проверяют, работает ли система по требованиям (например, корректный логин/пароль). Нефункциональные проверки – проверяют производительность, безопасность, удобство использования. Функциональная проверка: Если ввести 123456, логин пройдет? Нефункциональная проверка: Сайт выдержит 1000 пользователей одновременно? 🚩Методы проведения проверок 🟠Ручное тестирование Проверки выполняются тестировщиком без автоматизированных инструментов. Используются чек-листы, тест-кейсы, exploratory testing. Проверить, что кнопка "Заказать" работает на всех страницах. Вручную протестировать корзину в интернет-магазине. 🟠Автоматизированное тестирование Запуск тестов с помощью кода (Selenium, JUnit, PyTest, Cypress). Подходит для регрессионного тестирования и больших проектов. @Test public void testLogin() { driver.get("Ссылка скрыта driver.findElement(By.id("username")).sendKeys("user"); driver.findElement(By.id("password")).sendKeys("pass"); driver.findElement(By.id("login")).click(); Assert.assertTrue(driver.getTitle().contains("Dashboard")); } Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиа🤔 Какие виды тестирования используются при валидации? Это процесс оценки готового продукта на соответствие ожиданиям и потребностям пользователя. Цель валидации – убедиться, что продукт "делает то, что нужно", т.е. соответствует требованиям реального использования. 🚩Основные виды тестирования 🟠Функциональное тестирование Это основной тип тестирования для проверки, выполняет ли продукт свои функции в соответствии с требованиями. Проверка всех функциональных аспектов системы: входные данные, поведение приложения и его отклик. Если у вас есть калькулятор, который должен складывать числа, вы проверяете, правильно ли он складывает: Ввод: 2 + 3 Ожидаемый результат: 5. Это напрямую подтверждает, что продукт соответствует описанным требованиям. 🟠Юзабилити-тестирование Цель – проверить удобство использования приложения для конечных пользователей. Логичность интерфейса, простота выполнения задач, читаемость текстов. Если у вас есть веб-приложение, проверяется, насколько удобно пользователь может найти нужную кнопку, завершить покупку или зарегистрироваться. Даже идеально работающая функция может быть бесполезна, если пользователю трудно ею воспользоваться. 🟠Тестирование пользовательского интерфейса (UI Testing) Это проверка внешнего вида продукта. Правильное отображение всех элементов интерфейса на экранах разных размеров и в разных браузерах. Если кнопка "Отправить" должна быть синей и размещена в правом углу, тестирование проверит, правильно ли она отображается на всех устройствах. Пользователи ожидают, что интерфейс будет соответствовать их привычкам и стандартам. 🟠Интеграционное тестирование Проверка взаимодействия между компонентами системы. Слаженная работа модулей вместе, например, API взаимодействие между фронтендом и бекендом. Если пользователь отправляет форму, тестируется, приходит ли запрос на сервер и возвращается ли ожидаемый ответ. Даже работающие по отдельности модули могут "сломаться", если они неправильно интегрированы. 🟠Тестирование совместимости Проверка работы продукта на различных устройствах, операционных системах и браузерах. Корректная работа системы в разных условиях. Проверка мобильного приложения на iOS и Android или веб-приложения в Chrome, Firefox и Safari. Пользователи используют продукт в разных средах, и везде он должен быть функциональным. 🟠Тестирование производительности (Performance Testing) Проверяется, как система ведет себя при различных нагрузках. Время отклика, устойчивость при большом количестве пользователей. Тестирование интернет-магазина во время "Черной пятницы", чтобы убедиться, что сайт не "упадет". Медленное или нестабильное приложение может отпугнуть пользователей. 🟠Альфа- и бета-тестирование Финальные этапы тестирования перед выпуском продукта. Проводится внутренней командой разработчиков и QA, чтобы найти оставшиеся баги. Проводится с участием реальных пользователей для получения обратной связи. Это помогает получить объективную оценку и убедиться, что продукт готов к реальной эксплуатации. Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиа🤔 Как исправить коллектор? Если у вас возникли проблемы с работой GC (Garbage Collector), это может проявляться как: Высокая нагрузка на CPU из-за частых сборок мусора. OutOfMemoryError (OOM) – память не освобождается вовремя. Долгие паузы (GC pauses) – приложение зависает во время очистки памяти. 🟠Выбор правильного GC-алгоритма Java поддерживает несколько GC-алгоритмов. Иногда просто смена GC помогает улучшить производительность. java -XX:+PrintCommandLineFlags -version Как задать нужный GC: # G1 GC (по умолчанию в Java 9+) java -XX:+UseG1GC -jar app.jar # ZGC (низкие паузы, для больших heap) java -XX:+UseZGC -jar app.jar # Shenandoah GC (минимальные задержки, Java 12+) java -XX:+UseShenandoahGC -jar app.jar # Serial GC (для маленьких приложений) java -XX:+UseSerialGC -jar app.jar 🟠Оптимизация размеров heap (памяти JVM) Если у вас OutOfMemoryError или частые GC-паузы, попробуйте изменить размер heap. java -Xms512m -Xmx4g -jar app.jar 🟠Включить логи GC для диагностики Чтобы понять, как работает GC, можно включить логи GC и проанализировать их. java -Xlog:gc* -jar app.jar # Логи GC для Java 9+ java -XX:+PrintGCDetails -XX:+PrintGCDateStamps -jar app.jar # Для Java 8 Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиа🤔 Как реализовать Вейтер для Api? Вейтер (waiter) — это механизм, который позволяет ожидать выполнения определенного состояния API перед продолжением выполнения кода. Он используется, когда API-ответ не моментальный и требует подождать, например: Ожидание готовности ресурса (создание пользователя, завершение обработки запроса). Проверка статуса задачи (например, пока файл обработается). Повторные запросы к API через интервалы времени. 🟠Реализация "вейтера" в JavaScript (async/await + setTimeout) Этот подход полезен для работы с REST API. async function waitForCompletion(taskId, maxAttempts = 10, interval = 3000) { let attempt = 0; while (attempt < maxAttempts) { console.log(`Попытка ${attempt + 1}: Проверка статуса...`); const response = await fetch(`Ссылка скрыта const data = await response.json(); if (data.status === "completed") { console.log("Задача выполнена!"); return data; } attempt++; if (attempt < maxAttempts) { await new Promise(resolve => setTimeout(resolve, interval)); // Ожидание перед следующей попыткой } } throw new Error("Время ожидания истекло, задача не завершена."); } // Использование waitForCompletion("12345").then(console.log).catch(console.error); 🟠Реализация "вейтера" в Python (requests + time.sleep) Используется в тестах и API-интеграциях. import requests import time def wait_for_status(order_id, max_attempts=10, interval=5): url = f"Ссылка скрыта for attempt in range(max_attempts): print(f"Попытка {attempt + 1}: Проверяем статус...") response = requests.get(url) data = response.json() if data["status"] == "shipped": print("Заказ отправлен!") return data time.sleep(interval) # Ждем перед следующей попыткой raise TimeoutError("Время ожидания истекло, заказ не отправлен.") # Использование try: order_data = wait_for_status("98765") print(order_data) except TimeoutError as e: print(str(e)) 🟠Реализация "вейтера" в Java (RestAssured + Thread.sleep) В Java "вейтеры" часто используют в тестах API. import io.restassured.RestAssured; import io.restassured.response.Response; public class ApiWaiter { public static void waitForStatus(String taskId) throws InterruptedException { int maxAttempts = 10; int interval = 3000; // 3 секунды for (int i = 0; i < maxAttempts; i++) { System.out.println("Попытка " + (i + 1) + ": Проверяем статус..."); Response response = RestAssured.get("Ссылка скрыта + taskId); String status = response.jsonPath().getString("status"); if ("done".equals(status)) { System.out.println("Задача выполнена!"); return; } Thread.sleep(interval); } throw new RuntimeException("Время ожидания истекло, задача не завершена."); } public static void main(String[] args) throws InterruptedException { waitForStatus("task123"); } } Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиа🤔 Как узнать статус-код? - Через DevTools в браузере (вкладка Network); - В Postman — отображается сразу после запроса; - Через curl, httpie или логирование на сервере; - В снифферах — видно в заголовках ответа. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Открыть канал и посмотреть медиаSolo los usuarios registrados pueden compartir su opinión.
¡Sé el primero en compartir tu experiencia con este recurso!