Фундаментальная теория Flashcards
Изучите базовые принципы QA: цели тестирования, виды дефектов, принципы, уровни тестирования и основные термины. Идеально чтобы заложить прочную основу для работы в QA. (46 cards)
Почему юнит-тесты находятся внизу пирамиды тестирования?
Unit-тесты проверяют отдельные компоненты, требуют меньше ресурсов и времени, обеспечивают широкое покрытие кода. Интеграционные тесты проверяют взаимодействие компонентов, а E2E — работу приложения в реальных условиях. Чем выше уровень, тем сложнее и дороже тесты.
Что такое тестирование?
Проверка соответствия реального поведения программы ожидаемым результатам на основе выбранных тестов.
Что такое баг?
Несоответствие фактического результата требованиям (ожидаемому результату).
Цель тестирования.
Проверка соответствия ПО требованиям, поиск ошибок до релиза, повышение уверенности в качестве продукта.
Для чего проводится тестирование ПО?
Проверка соответствия требованиям.
Раннее обнаружение ошибок.
Выявление непредусмотренных сценариев.
Повышение доверия пользователей.
Что такое QA?
Quality Assurance — улучшение процессов разработки, коммуникаций в команде и качества продукта на всех этапах (ВЕРИФИКАЦИЯ И ВАЛИДАЦИЯ).
Какие задачи включает обеспечение качества?
Проверка требований к ПО.
Применение: у нас есть требования к фиче (feature или новый функционал), которые сформировал аналитик. Мы проверяем Ожидаемые (требования и тестовая документация) с фактическими результатами. Так же бывают нефункциональные требования, которые в целом понятны, но были не учтены аналитиком или разрабом. FE: Кнопка Окей должна быть зеленая, а Cancel красная, но у нас в продукте наоборот.
Оценка рисков и планирование улучшений.
Применение: Зачастую при планировании следующего спринта (дальше узнаете что это), на оценке задач, мы как QA подымаем вопрос о том, в чем могут возникнуть проблемы, что может быть задето + оценка времени, которое уйдет на тестирование.
Подготовка тестовой среды и документации.
Применение: Само тестирование по составленной тестовой документации
Тестирование и анализ результатов.
Применение: Когда мы совершаем прогон в нашей TMS (Test Management System - место где хранится наша дока), у нас формируется отчет сколько успешных кейсов было пройдено, сколько багов, сколько пропустили и сколько нашли блокеров.
Что такое QC?
Quality Control — контроль качества готового продукта (верификация соответствия требованиям).
В чем разница между валидацией и верификацией?
Верификация: Соответствие продукта требованиям (правильно ли мы делаем?).
Валидация: Соответствие потребностям пользователя (правильное ли мы делаем?).
7 принципов тестирования.
- Тестирование выявляет дефекты, но не гарантирует их отсутствие.
- Исчерпывающее тестирование невозможно.
- Раннее тестирование экономит время и деньги.
- Дефекты склонны группироваться.
- Парадокс пестицида (тесты устаревают).
- Тестирование зависит от контекста.
- Заблуждение об отсутствии ошибок (пройденные тесты ≠ отсутствие багов).
Что такое нефункциональное тестирование?
Проверка аспектов, не связанных с функциональностью: производительность, безопасность, удобство использования.
Что такое регрессионное тестирование?
Проверка, что изменения в коде не нарушили существующую функциональность.
Что такое Smoke-тестирование?
Проверка базовой работоспособности системы перед углубленным тестированием. Если смок тест не пройден, то нет смысла проводить дальнейшее тестирование.
Пример бага с высокой серьезностью, но низким приоритетом.
Краш приложения у 1% пользователей устаревшей ОС, которую компания не поддерживает.
Почему раннее тестирование экономит ресурсы?
Исправление ошибок на ранних этапах дешевле, чем на стадиях тестирования или эксплуатации.
Какие виды тестирования существуют?
Что такое Severity и Priority дефекта?
Severity: Влияние дефекта на систему (выставляет тестировщик).
Priority: Срочность исправления (выставляет менеджер).
Градации Severity.
- Blocker — система неработоспособна.
- Critical — нарушена ключевая логика.
- Major — существенные ошибки с обходным путем.
- Minor — незначительные дефекты (например, GUI).
- Trivial — косметические недочеты.
Градации Priority.
Высокий (High)Критическая для проекта ошибка. Должна быть исправлена как можно быстрее.
Средний (Medium)Не критичная для проекта ошибка, однако требует обязательного решения.
Низкий (Low)*Наличие данной ошибки не является критичным и не требует срочного решения. Может быть исправлена, когда у команды появится время на ее устранение.
Что проверяют на интеграционном уровне тестирования?
Взаимодействие компонентов, API, работу с БД и внешними сервисами.
Почему Unit-тесты сложно поддерживать?
Частые изменения кода, сложность мокирования зависимостей, тестирование приватных методов.
Что такое парадокс пестицида?
Если тесты не обновляются, они перестают находить новые дефекты.
Что такое «заблуждение об отсутствии ошибок»?
Ошибочное мнение, что отсутствие найденных дефектов = их полное отсутствие.
Какие атрибуты должны быть у требований, что значит каждое из них?
Корректность, проверяемость, полнота, однозначность, непротиворечивость, приоритетность, атомарность.