Похожие презентации:
Теория тестирования
1.
ТЕОРИЯТЕСТИРОВАНИЯ
маленький подзаголовок
2.
Основытестирования
ТЕ ОРИЯ ТЕ СТИРОВАНИЯ
3.
Что такое тестирование?Тестирование ПО - это процесс анализа программы или
приложения с целью выявления ошибок и проверки
соответствия её функциональности заданным требованиям.
Требования — это спецификация (описание) того, что должно
быть реализовано.
Требования описывают то, что необходимо реализовать, без
детализации технической стороны решения.
ТЕОРИЯ ТЕСТИРОВАНИЯ
3
4.
Какие существуют цели тестирования?• Обеспечение качества
• Выявление дефектов
• Предотвращение дефектов
• Проверка соответствия
• Оценка пользовательского опыта
• Обеспечение безопасности
• Подтверждение стабильности и надёжности
• Анализ производительности
• Подтверждение масштабируемости
ТЕОРИЯ ТЕСТИРОВАНИЯ
4
5.
Семь принципов тестирования.• Тестирование демонстрирует наличие дефектов
• Исчерпывающее тестирование невозможно
• Раннее тестирование
• Скопление дефектов
• «Парадокс пестицида»
• Тестирование зависит от контекста
• Заблуждение об отсутствии ошибок
ТЕ ОРИЯ ТЕ СТИРОВАНИЯ
5
6.
Обеспечение качества (QA) и контроль качества (QC).• QA (Quality Assurance) — Обеспечение качества
продукта — изучение возможностей по изменению
и улучшению процесса разработки, улучшению
коммуникаций в команде, где тестирование
является только одним из аспектов обеспечения
качества.
• QC (Quality Control) — Контроль качества продукта
— анализ результатов тестирования и качества
новых версий выпускаемого продукта.
ТЕ ОРИЯ ТЕ СТИРОВАНИЯ
6
7.
Верификация и Валидация.• Верификация (verification) — это процесс оценки
системы, чтобы понять, удовлетворяют ли
результаты текущего этапа разработки условиям,
которые были сформулированы в его начале.
• Валидация (validation) — это определение
соответствия разрабатываемого ПО ожиданиям и
потребностям пользователя, его требованиям к
системе.
ТЕ ОРИЯ ТЕ СТИРОВАНИЯ
7
8.
Вериф икацияВал идация
• Сколько рукавов?
• Комфортно ли в рубашке ходить?
• Какой размер?
• Могу ли я себе позволить рубашку?
• Какой цвет?
• Хорошего ли качества ткань?
• Все ли пуговицы на месте?
• Понравится ли она девушке?
ТЕ ОРИЯ ТЕ СТИРОВАНИЯ
8
9.
Severity Vs Priority• Серьёзность (severity) показывает степень
ущерба, который наносится проекту
существованием дефекта. Severity
выставляется тестировщиком.
• Приоритет (priority) показывает, как
быстро дефект должен быть устранён.
Priority выставляется менеджером,
тимлидом или заказчиком
ТЕ ОРИЯ ТЕ СТИРОВАНИЯ
9
10.
Жизненный циклразработки
ТЕ ОРИЯ ТЕ СТИРОВАНИЯ
11.
Жизненны й цикл разработки ПО (S oftware Development L ife Cycle, S DLC) — это процесс, который используется для планирования,создания, тестирования и развертывания информационных систем. Цель — обеспечить систематический и последовательный подход к
разработке ПО, который гарантирует, что ПО будет высокого качества, соответствовать требованиям пользователей и разрабатываться в срок
и в рамках бюджета.
Основные этапы цикла:
Планирование (P lanning)
Анализ требований (R equirements Analysis)
Проектирование (Design)
Разработка (Implementation or Coding)
Тестирование (Testing)
Внедрение (Deployment)
Эксплуатация и сопровождение (Maintenance)
ТЕ ОРИЯ ТЕ СТИРОВАНИЯ
11
12.
Водопадная модель (Waterfall)Линейный и последовательный подход, где каждый этап
начинается только после завершения предыдущего.
Плюсы: Простота, четкая структура.
Минусы: Трудности с внесением изменений, отсутствие
гибкости.
ТЕОРИЯ ТЕСТИРОВАНИЯ
12
13.
Итеративная модел ь (Iterative)Разработка осуществляется через повторяющиеся циклы
(итерации), каждая из которых включает все основные этапы.
Плюс ы: Возможность раннего обнаружения и исправления
ошибок, гибкость.
Минус ы: Возможность неэффективного использования
ресурсов при неправильном управлении итерациями.
ТЕ ОРИЯ ТЕ СТИРОВАНИЯ
13
14.
Модель V-образного цикла (V-Model)Расширение водопадной модели с акцентом на тестирование
на каждом этапе.
Плюсы: Раннее обнаружение дефектов, четкая связь между
этапами разработки и тестирования.
Минусы: Жесткость, трудности с внесением изменений.
ТЕОРИЯ ТЕСТИРОВАНИЯ
14
15.
Модел ь спирал и (Spiral)Комбинация итеративного подхода и анализа рисков. Каждый
виток спирали включает этапы планирования, анализа рисков,
разработки и тестирования.
Плюс ы: Управление рисками, гибкость.
Минус ы: Сложность управления, высокие затраты.
ТЕ ОРИЯ ТЕ СТИРОВАНИЯ
15
16.
Гибкие методологии (Agile)Фокус на гибкость, адаптивность и тесное взаимодействие с
пользователями. Разработка проводится через короткие циклы
(спринты).
Плюсы: Высокая адаптивность, быстрое реагирование на
изменение.
Минусы: Потенциальные трудности с масштабированием,
требование высокого уровня взаимодействия команды.
ТЕОРИЯ ТЕСТИРОВАНИЯ
16
17.
Поподробнее про Agile. Четыре основных принципаЛюди и взаимодействие важнее процессов и инструментов.
Работающий продукт важнее исчерпывающей
документации.
Сотрудничество с заказчиком важнее согласования условий
контракта.
Готовность к изменениям важнее следования
первоначальному плану
ТЕОРИЯ ТЕСТИРОВАНИЯ
17
18.
Виды AgileScrum: Разделение проекта на короткие рабочие циклы
(спринты, с регулярными встречами для планирования, обзора
проделанной работы и адаптации к изменениям.
Kanban: Управление потоком задач с помощью визуального
представления работы на доске Kanban, что позволяет команде
контролировать процесс разработки и быстро реагировать на
изменения.
Extreme Programming (XP): Акцент на технических аспектах
разработки, таких как программирование парами, разработка
через тестирование (Test-Driven Development, TDD), частые
релизы и принятие простых решений.
Lean: Максимизация ценности для клиента при минимальных
затратах, исключая все виды потерь в процессе разработки
(ненужные функции, задержки, переработки).
ТЕОРИЯ ТЕСТИРОВАНИЯ
18
19.
Процесстестирования
ТЕОРИЯ ТЕСТИРОВАНИЯ
20.
Стратегия тестированияСтратегия тестиров ания (ил и тестов ая стратегия) —
высокоуровневый документ, описывающий техники
тестирования и подтверждает виды и уровни тестирования в
данном проекте.
Содержит ответы на следующие вопросы:
Какие техники тестирования будут применяться?
Какие модули будут протестированы?
Какие критерии входа и выхода?
Какая область тестирования?
ТЕ ОРИЯ ТЕ СТИРОВАНИЯ
20
21.
Виды тестированияВид тестирования — это совокупность активностей,
направленных на тестирование заданных характеристик
системы или её части, основанная на конкретных целях.
ТЕОРИЯ ТЕСТИРОВАНИЯ
21
22.
Виды тестированияКлассификация по запуску кода на исполнение:
Статическое тестиров ание — процесс тестирования,
который проводится для верификации практически любого
артеф акта разработки: программного кода компонент,
Классификация по степени автоматизации:
Ручное тестиров ание.
Ав томатизиров анное тестиров ание.
требований, системных спецификаций, функциональных
спецификаций, документов проектирования и архитектуры
программных систем и их компонентов.
Динамическое тестиров ание — тестирование проводится
на работающей системе, не может быть осуществлено без
запуска программного кода приложения.
ТЕ ОРИЯ ТЕ СТИРОВАНИЯ
22
23.
Виды тестированияКлассификация по уровню детализации приложения:
Модульное тестирование — проводится для тестирования какого-либо одного логически выделенного и изолированного элемента
(модуля) системы в коде. Проводится самими разработчиками, так как предполагает полный доступ к коду.
Интеграционное тестирование — тестирование, направленное на проверку корректности взаимодействия нескольких модулей,
объединенных в единое целое.
Системное тестирование — процесс тестирования системы, на котором проводится не только функциональное тестирование, но и
оценка характеристик качества системы — ее устойчивости, надежности, безопасности и производительности.
Приёмочное тестирование — проверяет соответствие системы потребностям, требованиям и бизнес-процессам пользователя.
ТЕОРИЯ ТЕСТИРОВАНИЯ
23
24.
Виды тестированияКлассификация в зависимости от целей тестирования:
Функциональное тестиров ание (functional tes ting) —
Классификация по принципам работы с приложением
используются только корректные данные.
направлено на проверку корректности работы
функциональности приложения.
Позитив ное тестиров ание — тестирование, при котором
Негатив ное тестиров ание — тестирование приложения,
Нефункциональное тестиров ание (non-functional tes ting)
при котором используются некорректные данные и
— тестирование атрибутов компонента или системы, не
выполняются некорректные операции.
относящихся к функциональности.
ТЕ ОРИЯ ТЕ СТИРОВАНИЯ
24
25.
Виды тестирования. Функциональное тестированиеДы мов ое тестиров ание (s moke tes t) — тестирование,
Санитарное тестиров ание (S anity tes t) - тестирование,
выполняемое на новой сборке, с целью подтверждения того,
выполняемое на новой сборке, с целью подтверждения того,
что программное обеспечение стартует и выполняет основные
что определённые элементы программного обеспечения
для бизнеса функции.
работают так же после изменений, затрагивавших эти или
смежные элементы.
ТЕ ОРИЯ ТЕ СТИРОВАНИЯ
25
26.
Виды тестирования. Нефункциональное тестированиеТестирование нагрузки и производительности (Perfomance
Регрессионное и повторное тестирование (Regression
& load testing) — определение стабильности и потребления
testing & Re-testing) — тестирование уже проверенной ранее
ресурсов в условиях различных сценариев использования и
функциональности после внесения изменений, для уверенности
нагрузок (Perfomance) и сбор показателей производительности
в том, что эти изменения не внесли ошибки в областях, которые
и времени отклика объекта разработки с целью установления
не подверглись изменениям (Regression) и перепроверка
соответствия установленным требованиям.
функциональности после исправления ошибок и/или слиянием
с другими модулями объекта разработки.
ТЕОРИЯ ТЕСТИРОВАНИЯ
26
27.
Методы тестированияМетод черного ящика – метод (также известный как
тестирование, основанное на спецификации или тестирование
поведения), который основан на работе исключительно с
внешними интерфейсами тестируемой системы.
Метод белого ящика – метод, который предполагает, что
внутренняя структура/устройство/реализация системы известны
тестировщику.
Метод серого ящика – метод, который предполагает
комбинацию White Box и Black Box подходов. То есть,
внутреннее устройство программы нам известно лишь
частично.
ТЕ ОРИЯ ТЕ СТИРОВАНИЯ
27
28.
Виды окруженияОкружение (Environment) - место, машина, на которой
находится объект разработки (приложение, сайт)
Среда разработки (Development Env) – за данную среду
отвечают разработчики, в ней они пишут код, проводят отладку,
исправляют ошибки.
Среда тестирования (Test Env) – среда, в которой работают
тестировщики.
Интеграционная среда (Integration Env) – среда, в которой
проводят тестирование взаимодействующих друг с другом
модулей.
Предпрод (Preprod Env) – среда, которая максимально
приближена к продакшену. Здесь проводится заключительное
тестирование функционала.
Продакшн среда (Production Env) – среда, в которой работают
пользователи.
ТЕОРИЯ ТЕСТИРОВАНИЯ
28
29.
Тест-дизайнТест-дизайн — это этап тестирования ПО, на котором
проектируются и создаются тестовые случаи (тест кейсы).
Выделяют следующие техники тест-дизайна:
Классы эквивалентности
Граничные значения
Причинно-следственный анализ
Прогнозирование ошибок
Попарное тестирование
Диаграмма состояний
Таблица принятия решений
Тестирование на основе «Use Case»
ТЕОРИЯ ТЕСТИРОВАНИЯ
29
30.
Классы эквивалентностиДля тестирования выбираются значения, представляющие
различные классы, при условии что внутри классов значения
эквивалентны, т.е. результат тестирования для двух значений
одного класса идентичен
ТЕ ОРИЯ ТЕ СТИРОВАНИЯ
30
31.
Граничные значенияДля тестирования выбираются значения, представляющие
различные классы, но не случайные, а те, которые находятся
на границах между классами
ТЕОРИЯ ТЕСТИРОВАНИЯ
31
32.
Причинно-следственный анализДля тестирования применяется подход «причина –
следствие», опирающийся на знание о том, какое
действие вызывает какой отклик у приложения
ТЕОРИЯ ТЕСТИРОВАНИЯ
32
33.
Прогнозирование ошибокДля тестирования тестировщик использует накопленный
опыт и знания, чтобы определить места, где потенциально
могут появиться ошибки
ТЕ ОРИЯ ТЕ СТИРОВАНИЯ
33
34.
Попарное тестированиеДля тестирования выбираются значения, которые охватывают максимальное количество данных, основываясь на
принципах комбинаторики
ТЕОРИЯ ТЕСТИРОВАНИЯ
34
35.
Диаграмма состоянийДля тестирования создаётся схема переходов между
состояниями на основе которой уже создаются тест кейсы
ТЕ ОРИЯ ТЕ СТИРОВАНИЯ
35
36.
Таблица принятия решенийДля тестирования составляется таблица с набором данных,
исходя из которой выявляются зависимости между входными
данными и результатом, что позволяет исключить тест кейсы,
которые уже покрыты другими тестами
ТЕОРИЯ ТЕСТИРОВАНИЯ
36
37.
Тестиров ание на основ е «Use Case»Для тестирования формируется список потенциальных
сценариев использования приложения пользователем и на
их основе формируются тест кейсы
ТЕ ОРИЯ ТЕ СТИРОВАНИЯ
37
38.
Тестовая документация. Тест планТест план (Tes t P lan) — это документ, который описывает
Тест план должен отвечать на следующие вопросы:
весь объем работ по тестированию, начиная с описания
Что необходимо протестировать?
Как будет проводиться тестирование?
работы оборудования, специальных знаний, а также оценки
Когда будет проводиться тестирование?
рисков.
Критерии начала тестирования.
Критерии окончания тестирования.
объекта, стратегии, расписания, критериев начала и
окончания тестирования, до необходимого в процессе
ТЕ ОРИЯ ТЕ СТИРОВАНИЯ
38
39.
Тестов ая документация. Чек-л истЧек-лис т (check lis t) — это документ, который описывает что
должно быть протестировано. Чек-лист может быть
абсолютно разного уровня детализации.
ТЕ ОРИЯ ТЕ СТИРОВАНИЯ
39
40.
Тестов ая документация . Тест кейсТестов ы й сценарий (tes t cas e) — это артеф акт,
описывающий совокупность шагов, конкретных условий и
параметров, необходимых для проверки реализации
Атрибуты тест кейса:
Предус л ов ия (P reConditions ) — список действий,
которые приводят систему к состоянию пригодному для
тестируемой функции или её части.
проведения основной проверки.
Шаги (S teps ) — список действий, переводящих систему
из одного состояния в другое, для получения результата,
на основании которого можно сделать вывод о
удовлетворении реализации, поставленным
требованиям.
Ожидаемы й резул ьтат (Expected res ult) — что по факту
должны получить.
ТЕ ОРИЯ ТЕ СТИРОВАНИЯ
40
Программное обеспечение