Поле принимает целые значения от 1 до 100 включительно. Какие значения вы проверите в первую очередь, чтобы выявить ошибки в обработке границ, и чем обоснуете этот набор?
База Hintsage
Основы тестирования
Принципы QA, уровни и виды тестирования, техники тест-дизайна и жизненный цикл дефекта.
Практика
Вопросы: Основы тестирования
В каком случае дефект после исправления обоснованно переводят в статус «Переоткрыт»?
Срок регрессионной проверки сократили вдвое. Как определить, какие тесты исключить в первую очередь?
Команда считает продукт бездефектным после успешного прохождения всех запланированных тестов. Какой вывод следует сделать вместо этого?
В функции четыре бинарных параметра, поэтому полный перебор даёт 16 сочетаний. Как применить технику попарного тестирования, чтобы сократить набор проверок, сохранив покрытие взаимодействий двух параметров?
function checkout(browser, os, payment, language) {
if (browser === "Safari" && payment === "PayPal") {
return "fallback";
}
if (os === "macOS" && language === "en") {
return "warning";
}
return "ok";
}
const values = {
browser: ["Chrome", "Safari"],
os: ["Windows", "macOS"],
payment: ["Card", "PayPal"],
language: ["ru", "en"]
};
Представьте ситуацию: все компоненты по отдельности проходят тесты, но сценарий через их границу завершается ошибкой. Какой механизм объясняет такой результат?
В продакшене редкий дефект блокирует оплату у одного крупного клиента. Как обосновать его приоритет?
Приложение блокирует учётную запись после трёх неудачных входов. Объясните, почему проверки отдельных состояний недостаточно без проверки переходов между ними.
Команда заменяет модульные проверки набором end-to-end-тестов. Какое системное последствие этого решения нужно ожидать?
Сборка проходит небольшой набор критических проверок до запуска полного цикла. Объясните механизм smoke-тестирования и критерий, по которому сборку допускают дальше.
Для правила с несколькими условиями, чьи комбинации определяют результат, какую технику тест-дизайна выбрать и почему?
Перед вами функция, для которой нужно сократить число проверок, сохранив представление разных реакций. Как разбить вход role на классы эквивалентности и выбрать по одному представителю каждого класса?
function accessLevel(role) {
if (role === "admin") return "full";
if (role === "editor") return "limited";
return "denied";
}
const roles = ["admin", "editor", "guest", ""];
При проверке требования тестировщик обнаружил поведение, не совпадающее с его ожиданием. Как установить, что это дефект продукта, а не ошибка в самом тесте?
Рассмотрите тест, который проходит даже при неверном результате функции. В чём механизм ложноположительного теста?
function discount(price, percent) {
return price - price * percent / 100;
}
test("applies discount", () => {
discount(100, 20);
});
Требование задаёт входные данные, но не описывает ожидаемый результат. На что должен опереться тестировщик при проверке?
Требование проверяют до запуска продукта. Как объяснить, что такая проверка относится к тестированию, хотя программа не выполняется?
Сервис выдаёт правильные результаты при малом числе пользователей, но время отклика резко растёт при ожидаемом увеличении нагрузки. Какой вид тестирования выявит эту проблему?
На проекте требования неполны, а время ограничено. Как организовать исследовательское тестирование так, чтобы проверки оставались управляемыми и воспроизводимыми?
Тестовый набор годами проходит без единого падения, но новые дефекты продолжают появляться. Какой принцип тестирования объясняет этот эффект?
Дефект проявляется нерегулярно и не воспроизводится по описанным шагам. Какой следующий шаг в работе с ним наиболее корректен?
Показано 1–20 из 50