Основы Flashcards
Определение тестирования
поиск несоответствия между фактическим и ожидаемым результатом
повышение качества продукта, его анализ и анализ сопутствующей документации
Разница между тестированием, QC и QA
Контроль Качества (Quality Control) - Все действия осуществляемые над продуктом в процессе разработки с целью определения его готовности к выпуску, соответствия заданным требования и заявленному уровню качества. Это не только само тестирование, но и проверка его соответствия заранее согласованному уровню качества и готовность выпуска продукта. Основная задача QC предоставить картину того, что происходит с качеством продукта на разных этапах разработки
Обеспечение качества (Quality Assurance) - Все мероприятия предпринимаемые на разных стадиях жизненного цикла ПО, для обеспеченияего качества. Задача - выстроить систему, которая будет превентивно работать на качество продукта. Организация процесса, чтобы багов возникало меньше.
3 включает в себя 2, 2 включает в себя 1
7 принципов тестирования
- Исчерпывающие тестирование невозможно. Все проверить нереально
- Тестирование показывает наличие дефектов, но не доказывает их отсутствие
- Чем позже обнаружен баг, тем он дороже. Тестирование лучше начинать раньше
- 80 процентов дефектов находятся в 20 процентах функций.
- Парадокс пестицида. Нужно постоянно корректировать тесты, искать новые способы тестирования, вовлекать новых людей.
Суть принципа в том, что если проводить одни и те же проверки, то скорее всего новые баги найдены не будут - Тестирование зависит от контекста - набор методологий и инструментов тестирования зависит от того, что именно тестируется и насколько важен объект тестирования. Не нужно везде использовать один и тот же подход.
- Заблуждение об отсутствии ошибок - тот факт, что ошибок не было обнаружено не значит, что программа хорошая. Тест проводится, чтобы снизить риски, а не чтобы исправить вообще все
Определения верификации и валидации. В чем разница?
Верификация - статическая проверка, без запуска кода. Делаем ли мы продукт правильно? Хорошо ли спроектирована система? Происходит до валидации
Валидация - динамический процесс. Оценка конечного продукта. Соответствует ли продукт требованиям и ожиданиям клиента. Проверка с запуском кода. Делаем ли мы правильный продукт?
Валидация больше интересует заказчика, верификация исполнителя. Например при разработке авто, верификация проверит выполнена ли машина из соответствующих спецификаций и материалов, соответствуют ли детали спекам. Валидация проверит, поедет ли машина, удобно ли там будет водителю и пассажиру, поместиться ли чемодан в багажник. То есть удобен ли продукт пользователю?
Еще пример - кнопка логин на сайте должна быть определенного размера. Это верификация. Работаел ли кнопка как должна это валидация
Верификация проверяет наличие чего-нибудь. Валидация работоспособность
Основные методологии и в двух словах о каждой
TDD (Test Driven Development
BDD (Behaviour Driven Development)
KDT (Keyword Driven Testing)
FDD - Features Driven Development
Этапы жизненного цикла ПО и участие в них тестировщика
- Инициация (Идея). Есть идея, что есть потребность у пользователей
- Сбор требований. Человек с идеей приходит в айти компанию и они их составляют. То есть происходит анализ идей, работают бизнес аналитики
- Дизайн. ЮАЙ ЮИКС дизайнеры разрабатывают. Этап проектировки и составление архитектуры приложения.
- Разработка. Пишется код
- Тестирование, здесь же баг фиксинг и после каждого билда проверка (verification - проверка исправленных багов) ⇒ RC (Release Candidate) - финальный билд перед релизом ⇒ Acceptance Testing (проверка билда на соответствие acceptance criteria)
- Эксплуатация + Support
- Если вдруг больше продукт не нужен, то вывод из эксплуатации
Продуктная и проектная документация
Продуктная документация - используется проектной командой во время разработки и поддержки продукта. Включает План проекта, тест план, требования к программному продукту, функциональные спецификации, архитектура и дизайн, тест кейсы, технические спецификации
Проектная документация - включает в себя продуктную документацию и другую, используется на всех стадиях. В том числе на стадии внедрения и эксплуатации.
Включает пользовательскую и сопроводительную документацию (лицензионные соглашения, руководства по установке, маркетинговая документация)