и посмотреть медиа
Tester | Interview Questions
и посмотреть медиа
Interview questions for testers.
Interview questions for testers.
AI bot for text-to-speech and voice cloning in Telegram. Create audio using neural network quickly and easily.
Testing questions: ISTQB, Selenium, API. With examples.
🤔 С какими багами можно выпускать на прод? - с багами, которые: - не влияют на ключевую функциональность; - не затрагивают безопасность; - имеют обходной путь; - известны и задокументированы. Выпуск возможен после согласования с бизнесом и при наличии тикета на фиксы в будущем. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Открыть канал и посмотреть медиа🤔 Что делает метод equals()? Метод equals() используется для сравнения двух объектов на семантическое равенство (т.е. их содержимого, а не просто ссылок в памяти). 🚩Как работает `equals()` по умолчанию Метод equals() определён в классе Object, от которого наследуются все классы в Java public boolean equals(Object obj) { return (this == obj); } 🚩Зачем переопределять `equals()`? Если мы работаем с объектами, у которых важно содержимое (например, строки, пользователи, книги), то сравнение по ссылке не подходит. class User { String name; User(String name) { this.name = name; } } public class Main { public static void main(String[] args) { User user1 = new User("Alice"); User user2 = new User("Alice"); System.out.println(user1.equals(user2)); // false, т.к. сравниваются ссылки } } 🚩Как правильно переопределить `equals()` При переопределении equals() важно учитывать: Рефлексивность: x.equals(x) всегда true. Симметричность: x.equals(y) == y.equals(x). Транзитивность: если x.equals(y) и y.equals(z), то x.equals(z). Согласованность: результат вызова equals() не меняется, если объект неизменяемый. Сравнение с null: x.equals(null) всегда false. class User { String name; User(String name) { this.name = name; } @Override public boolean equals(Object obj) { if (this == obj) return true; // Проверяем, не сравниваем ли объект сам с собой if (obj == null || getClass() != obj.getClass()) return false; // Проверяем типы User user = (User) obj; // Приводим obj к типу User return name.equals(user.name); // Сравниваем содержимое } } public class Main { public static void main(String[] args) { User user1 = new User("Alice"); User user2 = new User("Alice"); System.out.println(user1.equals(user2)); // true, теперь работает корректно } } Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиа🤔 Какие знаешь ящики тестирования? В тестировании ПО часто используются различные подходы, известные как "ящики тестирования" (или "методы тестирования"), для определения уровня знания о внутреннем устройстве системы и способах её тестирования. 🚩Белый ящик (White Box Testing) Также известен как структурное тестирование. В этом подходе тестировщики имеют полное представление о внутренней структуре и коде программы. Тесты разрабатываются с учётом алгоритмов, ветвлений кода, путей выполнения и внутренних интерфейсов. Цель — проверить внутренние операции продукта и убедиться, что все внутренние компоненты функционируют правильно. 🚩Чёрный ящик (Black Box Testing) В этом методе тестировщики не знают о внутреннем устройстве тестируемой системы. Тесты разрабатываются на основе требований и спецификаций функциональности, без знания о том, как система реализует эти функции. Цель — проверить, соответствует ли система внешним требованиям и ожиданиям пользователя. Тестируется функциональность и поведение системы. 🚩Серый ящик (Grey Box Testing) Этот метод является комбинацией подходов белого и чёрного ящиков. Тестировщики имеют частичное знание о внутреннем устройстве системы, что позволяет им создавать более целенаправленные тестовые сценарии, основываясь как на внутренней структуре, так и на функциональных требованиях. Это может включать доступ к базам данных, архитектурным схемам и документации API. Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиа🤔 Как идет процесс разработки по waterfall? Это традиционная последовательная модель разработки программного обеспечения. В ней каждая фаза должна быть завершена полностью перед началом следующей. Возврат к предыдущим этапам либо невозможен, либо требует значительных усилий. 🚩Этапы разработки по Waterfall 1⃣Анализ требований (Requirements Analysis) На этом этапе собираются, анализируются и документируются все требования к системе. Результат: детальная документация с описанием того, что должно быть разработано. Примеры: Техническое задание (ТЗ), спецификация требований. 2⃣Проектирование системы (System Design) Планирование архитектуры и структуры системы. Результат: документация по архитектуре, макеты интерфейса, диаграммы базы данных. 3⃣Разработка (Implementation) Программисты пишут код на основе проектной документации. Код разделяется на модули, которые разрабатываются и интегрируются. 4⃣Тестирование (Testing) Проверка всей системы на соответствие требованиям. Проверяются функциональность, производительность, безопасность, совместимость. 5⃣Развертывание (Deployment) После успешного тестирования продукт доставляется заказчику и разворачивается на рабочем окружении. 6⃣Сопровождение (Maintenance) Поддержка продукта, исправление багов, добавление небольших изменений. 🚩Особенности Waterfall 🟠Последовательность Каждый этап выполняется строго один за другим. 🟠Фокус на документации Вся работа документируется (например, ТЗ, проектная документация, тест-планы). 🟠Отсутствие гибкости После завершения этапа сложно вернуться назад, если обнаружены ошибки. 🟠Подходит для проектов с четкими требованиями Эффективна, если требования понятны и не изменяются в процессе разработки. Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиа🤔 Зачем нужна команда Git Cherry-pick? Команда git cherry-pick используется для выбора конкретных коммитов из одной ветки и их переноса в другую. Это позволяет взять отдельные изменения, внесённые в одном месте, и применить их в другом, без необходимости переносить всю историю изменений. 🚩Почему это важно и где используется? 🟠Решение локальных проблем Если в одной ветке был сделан важный фикс (например, исправление багов), но вы не хотите сливать всю ветку, можно выбрать только нужный коммит. 🟠Избежание конфликтов Вместо объединения (merge) или ребейза (rebase), которые могут привести к большим конфликтам, cherry-pick позволяет избирательно брать изменения. 🟠Поддержка нескольких веток Когда вы работаете над несколькими версиями продукта (например, основная ветка и версия с долгосрочной поддержкой), cherry-pick помогает перенести исправления между ними. 🚩Как работает git cherry-pick? Основной синтаксис git cherry-pick Пример: Допустим, вы работаете в ветке main и вам нужно перенести коммит из ветки feature-branch. # Сначала переключаемся в нужную ветку git checkout main # Берем конкретный коммит из другой ветки git cherry-pick a1b2c3d Если вы хотите выбрать несколько коммитов, это можно сделать так git cherry-pick a1b2c3d e4f5g6h Вы также можете выбрать диапазон коммитов git cherry-pick a1b2c3d..e4f5g6h 🚩Что происходит в процессе cherry-pick? Git создает новый коммит в текущей ветке с изменениями из указанного коммита. Хеш нового коммита будет другим, но содержимое изменений сохранится. Если изменения конфликтуют с текущей веткой, Git остановится и попросит вручную разрешить конфликты. 🚩Пример Предположим, в ветке feature-branch есть два коммита: a1b2c3d — Исправление бага. e4f5g6h — Обновление документации. Вы хотите перенести только исправление бага в ветку main. # Находитесь в ветке main git checkout main # Переносите исправление git cherry-pick a1b2c3d Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиа🤔 Что такое открытое бета-тестирование? Открытое бета-тестирование (Open Beta Testing) – это этап тестирования программного обеспечения, при котором продукт становится доступным для широкой аудитории пользователей перед официальным релизом. 🚩Зачем нужно открытое бета-тестирование? 🟠Поиск багов и проблем с производительностью Реальные пользователи могут найти ошибки, которые не удалось выявить в лабораторных тестах. Например, на большом количестве устройств может выявиться нестабильность работы. 🟠Сбор фидбэка от пользователей Пользователи оставляют отзывы о функционале, удобстве интерфейса. Это помогает улучшить продукт перед релизом. 🟠Тестирование нагрузки и масштабируемости Проверяется, как система ведёт себя при высокой нагрузке. Например, если игра при запуске наберёт миллион пользователей, серверы должны выдержать. 🟠Маркетинговый эффект Бета-версия позволяет привлечь внимание к продукту и создать сообщество вокруг него. 🚩Как проходит открытое бета-тестирование? Объявление бета-теста – разработчики публикуют информацию, как можно присоединиться. Доступ пользователям – выкладывается публичная ссылка на скачивание или тестирование. Сбор данных – отслеживаются баги, отчёты пользователей, метрики работы системы. Исправление багов – команда исправляет найденные ошибки. Анализ фидбэка – вносятся изменения в интерфейс, механику. Финальный релиз – после завершения теста выходит стабильная версия продукта. Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиа🤔 Каким типом данных могут быть ключи в JSON? JSON (JavaScript Object Notation) хранит данные в формате "ключ-значение", но ключи всегда должны быть строками в двойных кавычках "...". { "name": "Alice", "age": 25, "isActive": true } 🚩Какие ключи нельзя использовать? Числа { 123: "Number key" // ❌ Ошибка! Число не может быть ключом } Правильный вариант { "123": "Number key" } Логические значения (true, false), null { true: "Boolean key", // ❌ Ошибка! null: "Null key" // ❌ Ошибка! } Правильный вариант { "true": "Boolean key", "null": "Null key" } Объекты, массивы { { "key": "value" }: "Invalid", // ❌ Ошибка! ["array"]: "Also invalid" // ❌ Ошибка! } Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиа🤔 Зачем нужны чек-листы? 🚩Чек-листы нужны для 🟠Систематизации работы: Помогают организовать и структурировать выполнение задач, обеспечивая последовательность действий. 🟠Повышения качества: Гарантируют, что все важные шаги учтены и выполнены, что минимизирует пропуски и улучшает результат. 🟠Уменьшения ошибок: За счет контроля каждого пункта снижается вероятность ошибок и упущений. 🟠Упрощения проверок: Облегчают процесс контроля и аудита выполненных задач, делая их более прозрачными и легко проверяемыми. 🟠Обучения и адаптации: Служат полезным инструментом для обучения новых сотрудников, ускоряя их адаптацию и обеспечивая соблюдение стандартов работы. Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиа🤔 Что можно ожидать с implicit wait? - Ожидание появления элемента в DOM; - Работает для поиска по селекторам; - Не подходит для ожидания условий (например, смены текста или класса). Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Открыть канал и посмотреть медиаOnly registered users can share their opinion.
Be the first to share your impression of this resource!