THEORY Flashcards
Тестирование программного обеспечения
Обширное понятие, которое включает планирование, проектирование и, собственно, выполнение тестов.
Качество программного обеспечения
Это совокупность характеристик программного обеспечения, относящихся к его способности удовлетворять установленные и предполагаемые потребности.
Верификация
Оценка системы на соответствие документации и заранее сформированным срокам.
Валидация
Оценка системы на соответствие ожиданиям и потребностям пользователей.
Цели тестирования
Повысить вероятность того, что приложение будет работать корректно при любых обстоятельствах, соответствовать всем описанным требованиям, а так же предоставление актуальной информации о состоянии продукта.
Этапы тестирования
- Анализ продукта
- Работа с требованиями
- Разработка стратегии тестирования
и планирование процедур контроля качества - Создание тестовой документации
- Тестирование прототипа
- Основное тестирование
- Стабилизация
- Эксплуатация
Дефект
Несоответствие фактического результата выполнения программы ожидаемому.
Какие Severity бывают?
S1 Блокирующий (Blocker)
Блокирующая ошибка, приводящая приложение в нерабочее состояние
S2 Критический (Critical)
Критическая ошибка, неправильно работающая ключевая бизнес логика, дыра в системе безопасности, проблема,
S3 Значительный (Major)
Значительная ошибка, часть основной бизнес логики работает некорректно
S4 Незначительный (Minor)
Незначительная ошибка, не нарушающая бизнес логику тестируемой части приложения
S5 Тривиальный (Trivial)
Тривиальная ошибка, не касающаяся бизнес логики приложения, плохо воспроизводимая проблема
Какие Priority бывают?
P1 Высокий (High)
P2 Средний (Medium)
P3 Низкий (Low)
Severity vs Priority
Severity - влияние дефекта на работоспособность приложения
Priority - выставляется лидом или менеджером и означает очередность фикса этого бага
Какие есть принципы тестирования?
- Тестирование демонстрирует наличие дефектов, но не может доказать что их нет.
- Исчерпывающее тестирование недостижимо.
- Раннее тестирование. Активности по тестированию должны быть начаты как можно раньше.
- Парадокс пестицида.
Одни и те же тесты прогнанные много раз перестают выявлять дефекты - Тестирование зависит от контекста. ПО в котором критически важна безопасность тестируется иначе, чем сайт электронной коммерции
- Заблуждение об отсутствии ошибок. Исправление дефектов не поможет, если система не подходит пользователю.
Что такое требования
Это спецификация того, что должно быть реализовано
Какие есть требования к требованиям
- Корректность
- Недвусмысленность
- Полнота набора требований
- Непротиворечивость набора требований
- Проверяемость (тестопригодность)
- Трассируемость
- Понимаемость
Какой жизненный цикл бага
1 Bug is created
2 Bug is assigned
3 Bug is prioritized
4 Bug is fixed
5 Bug rechecked by tester
6.1 Bug free
6.2 If bug stiil there go back to step 2
QA|QC|Тестирование
QA охватывает все аспекты на всех этапах разработки, работает превентивно, так, что бы при тестировании количество багов была минимальна. Может включать в себя от тестирование документации, до ревью кода.
QC включает в себя тестирование, но не только проверяет на соответствия требованиям, а на соответствие заранее согласованному уровню качества. Предоставляет объективную картину того, что происходит с качеством продукта на разных этапах.
Тестирование - проверка продукта на соответствие требованиям, помогает найти дефекты в готовом продукте, но не более того.
Таким образом Тестирование — часть QC. QC — часть QA