Тестирование ПО
Все объяснения, задачи и лабораторная в одном месте.
Можно сохранить страницу в PDF через печать браузера. Для печати разборы ответов раскрываются автоматически.
1. Quality model и стратегия тестирования
Объяснение
Тестирование предоставляет свидетельства качества и обнаруживает дефекты. Стратегия выбирает риски и уровни проверки. Отсутствие найденных ошибок не доказывает отсутствие всех ошибок.
Задача для самостоятельного решения
Как выбрать первые тесты платежа?
Показать разбор ответа
Проверить сумму, валюту, повтор запроса, отказ и право списания. Приоритет определяется ущербом ошибки, а не удобством автоматизации.
2. Equivalence, boundaries и decision tables
Объяснение
Классы эквивалентности объединяют входы с похожим поведением. Граничные значения проверяют переходы правил. Таблица решений помогает системно покрыть комбинации условий.
Задача для самостоятельного решения
Возраст допускается от 18 до 65 включительно. Какие границы проверить?
Показать разбор ответа
17,18,19 и 64,65,66, а также неверный формат и отсутствие значения. Проверка только 30 не проверяет границы.
3. Unit, integration, system и acceptance
Объяснение
Unit изолирует небольшую логику, integration проверяет взаимодействие, system — систему целиком, acceptance — выполнение пользовательского требования. Граница зависит от архитектуры и цели теста.
Задача для самостоятельного решения
Где проверять реальное SQL-ограничение уникальности?
Показать разбор ответа
В интеграционном тесте с БД. Mock repository способен подтвердить вызов метода, но не доказывает работу ограничения.
4. Exploratory testing и heuristics
Объяснение
Exploratory testing сочетает обучение системе и проектирование проверок. Charter ограничивает цель и время. Записи нужны, чтобы найденное можно было повторить.
Задача для самостоятельного решения
Составьте charter для восстановления пароля.
Показать разбор ответа
Проверить истёкшую ссылку, повторное использование, неизвестный аккаунт и два одновременных запроса; фиксировать наблюдения без хранения реальных паролей.
5. Defect lifecycle и evidence
Объяснение
Bug report содержит окружение, шаги, ожидаемый и фактический результат. Severity описывает ущерб, priority — порядок работы. Скриншот без шагов часто недостаточен.
Задача для самостоятельного решения
Что добавить к сообщению «форма не работает»?
Показать разбор ответа
Версию, входные значения без секретов, действия, ответ, воспроизводимость и минимальный пример. Разделяйте факт ошибки и предположение о причине.
6. Release criteria, metrics и retrospection
Объяснение
Release criteria задают допустимый риск и обязательные проверки. Процент пройденных тестов бессмысленен без знания их важности. Ретроспектива исправляет причины пропущенных дефектов.
Задача для самостоятельного решения
Можно ли выпускать при 99% успешных тестов, если упал единственный тест оплаты?
Показать разбор ответа
Не по одному проценту. Критический сценарий может блокировать выпуск независимо от числа второстепенных проверок.
Лабораторная работа
Подготовка
Функция проверки диапазона и Python 3.
Учебный пример
def allowed(age):
return isinstance(age,int) and not isinstance(age,bool) and 18 <= age <= 65
cases=[(17,False),(18,True),(65,True),(66,False),('18',False),(True,False)]
for value,expected in cases:
assert allowed(value) == expected
print('OK')Как работает пример и что ожидать
Вывод OK. В Python bool является подклассом int, поэтому отдельная проверка исключает True/False. Контракт здесь принимает только целое число, не строку; если продукт разрешает строковый ввод, преобразование должно быть отдельной стадией.
Итоговая работа
Составьте decision table формы, risk-based test plan и три bug reports на собственных учебных дефектах. Разделите unit/integration/E2E и задайте release criteria для критичного сценария.
Проверка результата
1. Опишите исходные данные и условия запуска, чтобы другой человек мог повторить работу.
2. Приложите результат обычного сценария и сравните его с ожидаемым.
3. Проверьте неверный вход, граничный случай и отказ зависимости, если она есть.
4. Объясните выбранное решение и известное ограничение.
5. Сохраните исправления после самопроверки вместе с примером, который раньше не работал.
Как оценить работу
По каждому пункту поставьте 0 (не выполнено), 1 (выполнено с пробелами) или 2 (результат воспроизводим и объяснён). Если обязательный сценарий не работает, вернитесь к нему независимо от общей суммы. Это рубрика самопроверки: сайт не исполняет присланный код и не выдаёт автоматическую оценку проекта.