документирование. презентация. Функциональное тестирование
Скачать 3.07 Mb.
|
Функциональное тестирование Содержание
Тестирование в жизненном цикле ПО Виды и типы тестирования Тестирование условий Тестирование документации Функциональное тестирование Артефакты тестирования Что такое тестовые требования Что такое тестовые сценарии Что такое тестовые наборы Дефект: виды дефектов, описание дефекта, жизненный цикл дефекта Баг треккинговые системы Автоматизированное тестирование Введение (основные термины)Тестирование – Процесс, содержащий в себе все активности жизненного цикла, как динамические, так и статические, касающиеся планирования, подготовки и оценки программного продукта и связанных с этим результатов работ с целью определить, что они соответствуют описанным требованиям, показать, что они подходят для заявленных целей и для определения дефектов. Тестирование - процесс выполнения программы с целью обнаружения ошибок Качество ПО – степень соответствия присущих характеристик требованиям Качество ПО - способность программы делать то, что ждет от нее пользователь Надежность - Способность программного продукта функционировать при заданных условиях на протяжении определенного периода времени, или для определенного количества операций Тестируемость - Способность программного продукта предоставлять возможность для тестирования внесенных изменений. Среда тестирования - инфраструктура для подготовки проведения тестирования и интерпретации результатов. Как правило, это копия продуктива. Тестовое покрытие - часть системы, тестируемая данным набором проверок. Введение (основные термины) Тесткейс - Набор входных значений, предусловий выполнения, ожидаемых результатов и постусловий выполнения, разработанный для определенной цели или тестового условия, таких как выполнение определенного пути программы или же для проверки соответствия определенному требованию Позитивный тест – проверка на правильных данных, реакция на корректные действия. Негативный тест – проверка на неправильных данных, реакция на некорректные действия Ошибка - различие между полученным и описанным или ожидаемым результатом (поведением) системы Введение (основные термины) Каскадная модельПредложена в 1970 г. Уинстоном Ройсом. Преимущества: Полная и согласованная документация на каждом этапе; Легко определить сроки и затраты на проект. Недостатки: В водопадной модели переход от одной фазы проекта к другой предполагает полную корректность результата (выхода) предыдущей Спиральная модельНа каждой итерации оцениваются: риск превышения сроков и стоимости проекта; необходимость выполнения ещё одной итерации; степень полноты и точности понимания требований к системе; целесообразность прекращения проекта. Разработана в середине 1980-х годов Барри Боэмом Преимущества: Детальное управление рисками Недостатки: определение момента перехода на следующий этап Итерационная модельПреимущества: Проще контролировать отдельные шаги Легко определить сроки и затраты на отдельный шаг Недостатки: Нет целостного понимания готовности проекта Трудно определить затраты на весь проект Увеличение объёма тестирования Проектирование под “черновик” Последовательность итераций, каждая из которых напоминает «мини-проект» Тестирование в жизненном цикле ПО Чем позже найдена ошибка, тем дороже стоит ее исправление. Статическое тестирование - Тестирование осуществляется путем анализа артефактов (документации, кода). Анализ может производиться как вручную, так и с помощью специальных инструментальных средств. Целью анализа является раннее выявление ошибок и потенциальных проблем в продукте Динамическое тестирование - Тестирование осуществляется путем запуска программного кода, компоненты или системы в целом. Виды тестирования Типы тестированияПо степени автоматизированности:
Автоматизированное тестирование (automated testing) Полуавтоматизированное тестирование (semiautomated testing) По степени изолированности компонентов: Компонентное (модульное) тестирование (component/unit testing) Интеграционное тестирование (integration testing) Системное тестирование (system/end-to-end testing) По времени проведения тестирования:
Тестирование при приёмке (smoke testing) Тестирование новых функциональностей (new feature testing) Регрессионное тестирование (regression testing) Тестирование при сдаче (acceptance testing) Бета тестирование (beta testing) По признаку позитивности сценариев: Позитивное тестирование (positive testing) Негативное тестирование (negative testing) По степени подготовленности к тестированию: Тестирование по документации (formal testing) Эд Хок (интуитивное) тестирование (ad hoc testing) Типы тестирования Подведем итогТестирование граничных условийОдин из способов проверки устойчивости системы на значениях, близких к предельным, - создавать для каждого входа как минимум три тестовых примера:
Минимальное значение Максимальное значение Для большей уверенности в работоспособности системы используют пять (семь) тестовых примеров: Значение внутри диапазона Минимальное значение Минимальное значение -+ 1 Максимальное значение Максимальное значение +- 1 Такой способ проверки называется проверкой на граничных значениях. Он позволяет выявлять проблемы, связанные с выходом за границы диапазона. Тестирование документацииЦелью тестирования документации является
Получение выявленной документации Выяснение степени актуальности полученной документации Анализ документации позволяет выявить возможные ошибки еще на стадии проектирования системы Использование документации для поиска примеров тестовых сценариев Функциональное тестирование Функциональное тестирование – тестирование, основанное на анализе спецификации функциональности компонента или системы. . Методы функционального тестирования: Белый ящик - тестирование на основе анализа структуры кода; Черный ящик - поведенческое тестирование, глобальное представление, основанное на спецификации; Серый ящик - промежуточный уровень, на котором определен интерфейс между компонентам Тестирование методом «Белого ящика» Цель этого вида тестирования в том, чтобы проверить каждую ветвь кода, каждый путь, каждый оператор, проверить сам код. Тестирование методом "белого ящика" предполагает обработку системы как "прозрачного объекта" и позволяет заглянуть внутрь, фокусируя внимание на использовании знаний о конкретном программном обеспечении для правильного подбора тестовых данных. Тестирование методом «Черного ящика» Тестирование методом "Черного ящика" предполагает обработку системы как "непрозрачного объекта", таким образом знание внутренней структуры в явном виде не используется. Тестирование этим методом обычно подразумевает проверку функциональных возможностей. При тестировании программного обеспечения методом "Черного ящика" тестировщик знает только набор вводимых параметров и ожидаемые на выходе результаты, каким образом программа достигает этих результатов ему неизвестно. Преимущество - не требует знания языков программирования. Цель - проверить расхождение поведения программы с документацией. Артефакты перед тестированиемBR, BRD, CR, ЗНИ – требования к доработке системы Realize Notes – полный перечень доработок и исправленных ошибок в системе – Очень важный документ ТЗ – описание реализации дорабатываемого функционала Руководство пользователя – описывает как с этим работать Руководство администратора – описывает как это установить Артефакты во время тестированияМетодика тестирования – описывает виды и стратегию тестирования, ограничения предъявляемые к тестированию конфигурацию тестовых сред порядок проверки, критерии начала и окончания тестирования и др. План тестирования –используется как дополнения к методики делая акцент на тестируемом функционале. Тестовые наборы – наборы тестовых сценариев по которым осуществляется тестирование, являются приложениями к методике/плану тестирования Описание тестового стенда – внутренний артефакт группы. Описывает пароли логины доступы ссылки к системам. Должен быть всегда актуален. Регламенты – описание процедур установленных внутри группы или компании Артефакты передаваемые заказчикуСписок может изменяться и зависит от договоренностей с заказчиком. Отчет о тестировании – содержит ответы на вопросы заданные в методике тестирования. А также главный вопрос готово ли ПО к эксплуатации Артефакты описанные ниже являются также приложением к отчету. Список тестовых сценариев с указанием их статуса – пройден/ не пройден и причины. Список открытых на момент завершения тестирования дефектов Список всех дефектов найденных в процессе тестирования Этапы тестированияПлан тестирования Тестовые сценарии Дефекты Отчёт о тестировании Требование – это формализованное описание свойств системы. Виды требований:
Функциональные требования Нефункциональные требования Тестовые требования Тестовое требование – это формализованное описание свойств системы, которые необходимо протестировать. Тестовые требования Критерии тестовых требованийКритерии к тестовым требованиям:
недвусмысленность; полнота; непротиворечивость; упорядоченность по важности и стабильности; проверяемость (верифицируемость или тестопригодность); модифицируемость; трассируемость; понятность. Тестовый сценарий – это последовательность ДЕЙСТВИЙ для достижения фактического результата. Состав тестового сценария
Предварительные условия Необходимые действия Ожидаемый результат Полученные результаты Отметка о прохождении Сценарий должен быть прост и понятен всем: неопытному тестировщику, программисту, бизнес-пользователю. Тестовые сценарии Тестовые наборы Тестовый набор – набор тестов, которые принадлежат к одной функциональности. Описание дефекта Минимальные данные о дефекте:
ссылка на систему и ее версию (build) приоритет (Priority) серьезность проблемы (Severity) описание (предусловия, шаги для воспроизведения, ожидаемый результат, действительный результат) состояние, статус Виды дефектов Классификация по типу:
Степени критичности: Максимальная критичность Высокая критичность Нормальная критичность Низкая критичность Жизненный цикл дефекта Bug tracking system Система трекинга багов — это инфраструктура, позволяющая: • создавать, • хранить, • просматривать и • модифицировать информацию Каждый баг, занесенный в СТБ, представляет собой виртуальную учетную карточку Список рекомендованной литературы 1. Андреас Голзер, Алаин Захм "Оптимизация качества для достижения высоких бизнес-результатов« 2. Бейзер Б. "Тестирование черного ящика. Технологии функционального тестирования программного обеспечения и систем" 3. Элфрид Дастин, Джефф Рэшка, Джон Пол "Автоматизированное тестирование программного обеспечения" http://software-testing.ru/ Книги рекомендуемые к прочтению:ng.ru/ Сайты рекомендуемые к изучениюng.ru/ |