Документирование как основа тестирования

Содержание

Слайд 2

Определение теста по IEEE

ТЕСТ – набор, состоящий из одного или нескольких тестовых

Определение теста по IEEE ТЕСТ – набор, состоящий из одного или нескольких
примеров и процедур
ТЕСТОВАЯ ПРОЦЕДУРА – перечень большого числа этапов со своими входными данными, каждый из которых имеет свои промежуточные ожидаемые результаты
ТЕСТОВЫЙ ПРИМЕР – комбинация специфических входных данных и ожидаемых результатов.

ПРИМЕЧАНИЕ. В современной IT-промышленности терминология, касающаяся QA и тестирования, весьма запутана. Например, термины тест, тестовая процедура и тестовый пример путают, используют в разных контекстах по-разному или попеременно.
Особенно плохо дело обстоит с русскоязычной терминологией.

Слайд 3

Общепринятое определение теста

В настоящее время слова тест и тест-кейс (test case, ТС,

Общепринятое определение теста В настоящее время слова тест и тест-кейс (test case,
тестовый пример) часто используются как синонимы.
Тестовый пример – это совокупность
Конфигурации системы
Входных данных
Начальных условий
Сценария (алгоритма действий). Может содержать условия и переходы, однако лучше, чтобы он был линейным и достаточно коротким
Ожидаемых результатов (и конечного состояния, которое может отличаться от начального состояния/условий)

Слайд 4

Типичный набор документов

(IEEE Std 829-1998)
Функциональная спецификация (Functional specification, FS)
Спецификация программных требований (Software

Типичный набор документов (IEEE Std 829-1998) Функциональная спецификация (Functional specification, FS) Спецификация
requirement specification, SRS)
Traceability matrix (матрица прослеживаемости)
Тест-план (Test plan, test strategy - TP)
Тестовая спецификация (Test specification, TS)
Test cases, Тестовые процедуры
Test log
Bug report

Слайд 5

«Классический» проект: разработка и кодирование

«Классический» проект: разработка и кодирование

Слайд 6

«Классический» проект: тестирование

«Классический» проект: тестирование

Слайд 7

Источники информации для тестировщика

Спецификация
Личное общение с руководством и программистами
Документация (черновики руководства пользователя,

Источники информации для тестировщика Спецификация Личное общение с руководством и программистами Документация
заметки разработчиков)
Исследование (результат собственного опыта, полученного в ходе экспериментов над программой)
Аналогичные проекты

Слайд 8

Пример Functional Specification

Пример Functional Specification

Слайд 9

Определение объемов тестовых работ

Тестируйте в первую очередь требования с наивысшим приоритетом
Тестируйте новые

Определение объемов тестовых работ Тестируйте в первую очередь требования с наивысшим приоритетом
функциональные возможности и программный код, который изменялся
Используйте разбиение на эквивалентные классы и анализ граничных значений
Тестируйте те участки, в которых наиболее вероятно присутствие проблем
Сосредоточьте свое внимание на функциях и конфигурациях, с которыми наиболее часто будет иметь дело конечный пользователь

Павловская Т.А. (СПбГУ ИТМО)

Слайд 10

Тестовый план

Это документ, включающий:
объем
ресурсы
календарный план работ по тестированию
выполняемые тесты
тестируемые элементы
задачи тестирования
ответственные сотрудники
вероятность

Тестовый план Это документ, включающий: объем ресурсы календарный план работ по тестированию
возникновения непредвиденных обстоятельств и меры, которые потребуется при этом принимать
(стандарт ANSI/IEEE 829-2983 for Software Test Documentation)

Слайд 11

Назначение тестового плана

продукт (стОит дороже)

рабочий инструмент

служит для поиска ошибок
облегчает управление работами и

Назначение тестового плана продукт (стОит дороже) рабочий инструмент служит для поиска ошибок
контроль хода их выполнения
облегчает организацию технических аспектов тестирования
помогает организовать и скоординировать усилия сотрудников, разрабатывающих и тестирующих программный продукт
повышает эффективность и полноту тестирования
документация должна быть не объемной, а эффективной. Любые составляющие плана, не помогающие в поиске ошибок и организации тестирования, являются пустой тратой ресурсов

Слайд 12

Павловская Т.А. (СПбГУ ИТМО)

Составление тест-плана

Павловская Т.А. (СПбГУ ИТМО) Составление тест-плана

Слайд 13

Совершенствование тестового плана

Как правило, применяется эволюционный подход (проведение тестирования параллельно с разработкой

Совершенствование тестового плана Как правило, применяется эволюционный подход (проведение тестирования параллельно с
его плана)
Первый этап - начальная разработка:
Проработка спецификации / пользовательской документации
Первая версия списка функций программы (полнота списка определяет полноту тестирования) (список будет постепенно расширяться)
Анализ входных данных и ограничений (простейший анализ граничных условий)

Слайд 14

Направления развития плана

Наиболее вероятные ошибки (чем больше ошибок обнаружено в некоторой области программы,

Направления развития плана Наиболее вероятные ошибки (чем больше ошибок обнаружено в некоторой
тем больше их там же)
Наиболее заметные ошибки (пользователю)
Наиболее часто используемые области программы
Отличительные особенности программы (то, что отличает от конкурентов)
Самые сложные аспекты для тестирования
Самые понятные функциональные области

Слайд 15

Компоненты тестового плана

списки таблицы планы матрицы

отчетов и экранных форм
вх. и вых. переменных
возможностей и

Компоненты тестового плана списки таблицы планы матрицы отчетов и экранных форм вх.
функций
файлов
сообщений об ошибках
совместимого оборудования
совместимых программ
публикуемых документов
конфигураций совместимой операционной среды
перечень материалов

отчетов
вх. и вых. значений
ввода-вывода
решений
клавиатурных комбинаций
совместимых принтеров
диаграмма граничных значений
диаграмма потоков данных

иерархический список функций

Слайд 16

Матрицы:
аппаратной и программной совместимости
аппаратных конфигураций
операционных окружений
комбинаций входных значений
сообщений об ошибках и клавиатурных

Матрицы: аппаратной и программной совместимости аппаратных конфигураций операционных окружений комбинаций входных значений
комбинаций

Кроме того, ведется матрица прослеживаемости требований (отображение каждого требования на тест-кейсы).

Слайд 17

Пример таблицы ввода-вывода

Пример таблицы ввода-вывода

Слайд 18

Иерархический список функций системы

Перечень всех высокоуровневых действий пользователя
Подфункции всех функций (все доступные

Иерархический список функций системы Перечень всех высокоуровневых действий пользователя Подфункции всех функций
опции и варианты)
Детализация до элементарных логических действий программы
Перечислить входные и выходные условия для каждой функции и подфункции
Список всех способов диалога с программой при выполнении каждой из функций (клавиатура, мышь)

Каждая строка этого списка в конце концов преобразуется в тестовый пример

Слайд 19

Разделы тестового плана по стандарту

идентификатор
введение
тестируемые элементы (программные компоненты, подлежащие тестированию)
тестируемые функции
нетестируемые функции
подход

Разделы тестового плана по стандарту идентификатор введение тестируемые элементы (программные компоненты, подлежащие
к тестированию (кто, виды работ, технологии и средства, критерии, крайние сроки)
критерии прохождения тестов
документация
необходимое оборудование
календарный план
ответственность

Слайд 20

Test Specification – обязательный документ

Test Specification – документ, обязательный к исполнению: все,

Test Specification – обязательный документ Test Specification – документ, обязательный к исполнению:
что там написано – д.б. выполнено
Оптимизация Test Specification – одна из основных задач
Вообще набор видов тестирования содержится в Test Plan’е

Слайд 21

Структура Test specification

Как у обычного проектного документа:
Заголовок
Авторы
История модификации
Логотипы
Сведения о степени конфиденциальности
Содержание
Введение
Фактическая

Структура Test specification Как у обычного проектного документа: Заголовок Авторы История модификации
часть – тестовые примеры (test cases)

Слайд 22

Пример Test specification

Более подробно о создании тест-кейсов - далее

Пример Test specification Более подробно о создании тест-кейсов - далее

Слайд 23

Test Log

Список тестовых примеров
Список версий продукта (билдов)
Отметки об успешном или неуспешном прохождении

Test Log Список тестовых примеров Список версий продукта (билдов) Отметки об успешном или неуспешном прохождении

Слайд 24

Test Log – дополнительные поля

Разбиение по платформам, конфигурациям, средам выполнения, ...
Приоритеты
Группы и

Test Log – дополнительные поля Разбиение по платформам, конфигурациям, средам выполнения, ...
подгруппы
Детализация результатов выполнения
Критический/некритический/косметический
Номер ошибки в системе сопровождения ошибок
Комментарии относительно хода выполнения

Слайд 25

Выводы по результатам тестирования

Тестирование пройдено/не пройдено (для билда)
Статистика:
Время выполнения
В среднем на тестовый

Выводы по результатам тестирования Тестирование пройдено/не пройдено (для билда) Статистика: Время выполнения
пример (возможно доп. разбивка по подгруппам)
На каждый билд
На последний билд
На каждой платформе
Процент покрытия функциональности/тестовых примеров
по каждому билду
По каждой платформе
По последнему тестируемому билду
.......

Слайд 26

Примеры отчетов (Терехов А.А.)

Такие отчеты могут выполнять две основных функции:
фиксировать состояние в

Примеры отчетов (Терехов А.А.) Такие отчеты могут выполнять две основных функции: фиксировать
данной контрольной точке, т.е. отчет отвечает на вопрос вида "да или нет'' — выполнены необходимые для этой точки условия или нет;
показывать динамику процесса и переход от одной его фазы к другой, т.е. отчет предоставляет информацию для принятия решения о возможности перехода от одного этапа процесса к последующему.

Слайд 27

Разработка тестовых примеров (ТС)

Разработка тестовых примеров (ТС)

Слайд 28

Пример ТС

Пример ТС

Слайд 29

Структура тестового примера (ТС) - основное

Идентификатор (уникальный)
Название
Автор
Название проекта
Цель (идея ТС, краткое описание)
Ссылки

Структура тестового примера (ТС) - основное Идентификатор (уникальный) Название Автор Название проекта
(в т.ч. на спецификацию)
Среда выполнения (setup & additional info)
Пошаговое описание
Критерий выполнения (ожидаемый результат)*

* Лучше, когда ожидаемый результат один, но м.б. и несколько.

Слайд 30

Структура тестового примера – дополнительные поля

Журнал изменений (created… modified… change…)
Метка (для конфигурационного

Структура тестового примера – дополнительные поля Журнал изменений (created… modified… change…) Метка
менеджмента)
Краткое описание
Полное описание
Приоритет
Статус (new, modified, retired)
Название модуля

Слайд 31

Улучшение поддерживаемости тест-кейса

1. Сделать тест-кейс data-driven (по возможности вынести конкретные данные в

Улучшение поддерживаемости тест-кейса 1. Сделать тест-кейс data-driven (по возможности вынести конкретные данные
«шапку», чтобы их было легко изменить).
2. Не описывать шаги по явно очевидным сценариям (например, логин, если проверяется не он).
3. Не давать конкретных деталей, если они не играют роли при исполнении тест-кейса (например, имя товара).
4. Вынести во внешний документ повторяющиеся сценарии (например, семь шагов оплаты).
(из Р. Савина)

Слайд 32

Пример

Другое оформление ТС

Пример Другое оформление ТС

Слайд 33

К чему необходимо стремиться при создании ТС

1. Независимость тест-кейсов друг от друга

К чему необходимо стремиться при создании ТС 1. Независимость тест-кейсов друг от
(отсутствие ссылок на другие тест-кейсы; независимость от "следов", оставленных другими тест-кейсами в ПО или базе данных)
2. Четкая формулировка шагов (хороший ТС может без труда воспроизвести другой человек, а также вы сами через год; излишние детали тоже ни к чему).
3. Четкая формулировка идеи и/или ожидаемого результата (ожидаемый результат — это информация, на основании которой, вкупе с фактическим результатом, принимается решение об исходе тест-кейса. Следовательно, точность и четкость в формулировке ожидаемого результата играют важнейшую роль. Не рекомендуется отсылка к внешнему документу).

Слайд 34

Отладка тест-кейсов

В первый раз тест-кейсы должны исполняться их автором, задача которого:
• если

Отладка тест-кейсов В первый раз тест-кейсы должны исполняться их автором, задача которого:
необходимо, добавить новые тест-кейсы;
• если необходимо, внести изменения по существу, например если при создании тест-кейса тестировщик неправильно понял спек;
• если возможно, удалить лишние (дублирующие) тест-кейсы;
• сделать тест-кейсы более удобными для поддержки;
• отшлифовать формулировки.

Слайд 35

Примеры тест-кейсов

Примеры тест-кейсов

Слайд 41

Тест-комплект (test case suite)

Совокупность тест-кейсов, которые проверяют:
какую-то определенную часть проекта (например, "Оплату")
и/или

Тест-комплект (test case suite) Совокупность тест-кейсов, которые проверяют: какую-то определенную часть проекта
определенный спек (например, спек номер 1455 "Рассылка пользователям е-мейлов на основании истории заказов").
Обычно располагается в одном файле.
Имя файла: Документирование-как-основа-тестирования.pptx
Количество просмотров: 325
Количество скачиваний: 2