Mva stf module 5 - rus

Preview:

Citation preview

Шаптала Максим | Компьютерная академия Шаг

Тестирование ПО

Тестирование ПО01 | Основы тестирования ПО

1.1 Тестирование ПО1.2 Программные и железные компоненты1.3 Основы программирования1.4 Управление жизненным циклом

04 | Управление проектами тестирования 4.1 Основные контр. точки тестирования

4.2 Agile подход4.3 Работа в распределенной команде4.4 Отчеты о тестировании

02 | Методологии тестирования ПО

2.1 Техники тестирования2.2 Уровни тестирования2.3 Типы тестов

05 | Работа с багами5.1 Выявление программных дефектов5.2 Регистрация багов5.3 Управление багами

03 | Разработка тестов ПО3.1 Пользовательское централизованное тестирование3.2 Тестируемость ПО3.3 Разработка плана тестирования компонентов3.4 Тестирование фитч3.5 Область тестирования

06 | Автоматизация тестирования ПО

6.1 Автоматизация тестирования6.2 Стратегия автоматизация тестирования6.3 Написание автоматизированных тестов6.4 Управление тестовыми скриптами

Содержание курса

Click to edit Master subtitle style

05 | Работа с ошибками

Как выявить дефекты ПОРегистрация ошибокУправления ошибками

Обзор модуля

5.1 Выявление дефектов ПО

05 | Работа с ошибками

Обзор раздела

В этом разделе будет рассмотрено следующее:

– Выполнение тестов– Выполнение сценариев автоматизации

Основные вопросы

Что необходимо настроить в Microsoft® Test Foundation Server (TFS) для запуска тестов и сбора данных удаленно?Что должно быть установлено на каждую удаленную машину запускающую тесты?Какой инструмент в Visual Studio позволяет разработчику выполнять тесты и анализировать результаты тестового плана?

Ручное против автоматизированного тестированияПри ручном тестировании татуировщик играет

роль пользователя и проверяет нет ли каких-либо неожиданного или нежелательного поведения.Автоматизированные тесты используют тестовое ПО для контроля и отслеживания одного или более автоматически выполняемого тестаНекоторые татуировщики используют скрипты такие как тестовые скрипты или автоматизированные скрипты.Автоматизированные скрипты, которые используют для тестирования пользовательских интерфейсов называются закодированными тестами пользовательского интерфейса.

Автоматизация тестирования с Visual Studio и MTMVisual Studio позволяет таксировщиками и разработчикам запускать тесты локально и удаленно.Тем не менее, для того, что бы организовать тесты в планы тестирования и, в свою очередь, выполнить тесты по плану, провести анализ результатов, можно воспользоваться Microsoft Test Manager (MTM).

MTM предоставляет интерфейс с Microsoft Team Foundation Server для управления тестами для командного проекта.

Управление распределенным тестированиемПри распределенном тестировании используется множество компьютеров (настроенных как лабораторное окружение lab environment) для выполнения тестов и сбора данных.Лаборатория может состоят из физических или виртуальных машин.

Виртуальная машина это “компьютер в компьютере” реализованном в виде ПО. Она полностью эмулирует физическую систему в самостоятельном и изолированном программном окружении.

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

ПО для распределенного тестирования

Контроллер тестов: это фоновый процесс, который управляет набором машин с установленным ПО тест-агентами.Тест-агент: фоновый процесс которые получает, запускает и предоставляет отчет по тестам и собирает данные на единственном компьютере. Тест-агент взаимодействует с контроллером теста, обычно размещенного на другом компьютере.

Запуск тестов в Visual StudioVisual Studio предоставляет различные способы для запуска тестов. Вы можете выбрать путь, который лучше всего подходит к вашей потребности:

Из Test Explorer (Test Explorer позволяет просто запускать и отслеживать статус всех автоматизированных тестов в Вашем решении).

Из редактора нагрузочного теста (нагрузочные тесты и тесты производительности веб-тестов).

Из файлов с исходными кодами (запуск тестов во время редактирования файл, который содержит ваш код).

Запуск тестов из Microsoft Test ManagerЗапуск автоматизированных тестов в МТМ возможен различными способами, в зависимости от того как Вы хотите запустить тесты и увидеть результаты.Если Вы запустили Ваш автоматизированный тест используя план тестирования, Вы можете наблюдать Ваш процесс тестирования и просто перезапускать Ваш тести при необходимости.

Вопросы раздела

Что необходимо настроить в Microsoft® Test Foundation Server (TFS) для запуска тестов и сбора данных удаленно?

Что должно быть установлено на каждую удаленную машину запускающую тесты?

Какой инструмент в Visual Studio позволяет разработчику выполнять тесты и анализировать результаты тестового плана?

5.2 Регистрация ошибок

05 | Работа с ошибками

Обзор раздела

В этом разделе будет рассмотрено следующее:

– Приоритет– Точность– Зависимость–Шаги воспроизведения

Основные вопросы

Какой термин используется для описания влияния ошибки ни проект в целом?

Объясните разницу между приоритетом и рангом стека.

Какая технология позволяет записывать диагностические данные для помощи в устранении ошибок, которые трудны в воспроизведении?

Отслеживание ошибокС точки зрения программиста/разработчика баг – это ошибка кодирования или логическая, которая приводит к краху программы или к неверным результатам.При использовании программ управления жизненным циклом корпорации Microsoft’s®, таких, как Team Foundation Server (TFS), для обеспечения высокого качества ПО, ошибка должна быть зарегистрирована, отслежена и решена.С учетом этого, баг – это такой же рабочий элемент (“work item”), как и остальные задачи во время разработки. Тогда этот рабочий элемент записывает потенциальный источник неудовлетворительной работы продукта.

Определения багаКогда баг или дефект обнаружен, создается рабочий элемент для информирования команды о потенциальной проблеме и документирования причины этой проблемы.Как и другие рабочие элементы, баги управляются через Team Foundation Server и в общем случае назначаются членам команды.Если ошибка обнаружена с применением Microsoft Test Manager, информация о связанных наборах тестов, пользовательских историях и другая информация автоматически добавляется к багу.Весьма важным является запись необходимой информации когда регистрируется новый или ранее не выявленный баг.

Приоритет багов

Приоритет это субъективный рейтинг бага который относится к бизнес процессу.Можно определить следующие критерии:

1. Продукт не может быть выгружен без успешного решения бага и баг должен быть решен как можно раньше.

2. Продукт не может быть выгружен без успешного решения бага, но баг не требует немедленного решения.

3. Решения бага не является обязательным исходя из ресурсов, времени и рисков.

Важность бага

Важность это субъективный рейтинг влияния бага на проект.Можно определить следующие критерии:

1. Критичный2. Высокая3. Средний4. Низкий

Ранг стекаРанг стека это субъективный рейтинг бага в сравнении с другими багами. Элемент, которому присвоено меньшее значение, должен быть решен раньше элемента с большим значением. Не существует предопределенной шкалы ранга стека. Вы можете использовать “сортированный порядок” для всего списка багов. Если команда собирается определить приоритеты багов над которыми необходимо работать они могут быть ранжированы по всем нерешенным багам в ранге стека.Баг, который будет решен первым должен иметь меньший номер, например 1 или 2. Багу, который может быть решен позже, присевается большее значение, возможно 30 или 100.Ранг стека обычно определяется исходя из приоритета и важности бага.

Шаги воспроизведенияШаги воспроизведения это шаги, которые другие тестеры или разработчики могут выполнить для воспроизведения бага или неожиданного поведения.Подробные шаги воспроизведения имеют решающее значения для членов команды, которые не видят ошибку с первого раза. Это, в частности, справедливо если баг обнаруживается через ручное или исследовательское тестированиеХорошо описанные шаги являются явными, объясняющими точно какие действия предпринимались, включая клики мыши и нажатие клавиш на клавиатуре для обнаружения неисправного поведения.Вы можете включить снимки экрана, которые могут быть добавлены к рабочему элементу.

Отслеживание диагностических данныхРазработчики могут собирать определенную диагностическую информацию при запуске тестов для помощи в изолировании багов трудных в воспроизведении.

IntelliTrace: фитча предназначенная для отладки приложения в определенные моменты времени. Она захватывает и записывает то, что приложение делает во время работы. При возникновении ошибки, можно увидеть состояние приложения в любой момент времени с начала до момента возникновения ошибки.

Эта информация позволяет использовать IntelliTrace для отслеживания того, что на самом деле происходит в приложении при возникновении бага.

When a test step fails and a bug is filed, an IntelliTrace file is automatically linked to the bug and is available together with the test results.

The IntelliTrace file can then be used by another individual who can replicate the local test session on their computer without having to reproduce the bug directly.

Вопросы раздела

Какой термин используется для описания влияния ошибки ни проект в целом?

Объясните разницу между приоритетом и рангом стека.

Какая технология позволяет записывать диагностические данные для помощи в устранении ошибок, которые трудны в воспроизведении?

5.3 Управление ошибками

05 | Работа с ошибками

Обзор разделаВ этом разделе будет рассмотрено следующее:

– Рассмотрение– Разрешение– Закрытие–Мониторинг–Финальный отчет ошибок

Основные вопросы

Что означает под рассмотрением списка ошибок? Какие необходимы действия перед закрытием бага?

Какова причина возобновления решенного бага?

Что такое рассмотрение?Рассмотрение это - процесс, при кортом команда просматривает новые и повторно открытые ошибки, присваивает им приоритета и итерации, а также назначает участника команды для их исправления. "Рассмотрение" обычно ведет владелец продукта или скрам-мастер, учитывая входные данные от команды. это процесс обзора новых или возобновленных багов и присвоение каждому рабочего приоритета или ранга стека.В некоторых проектах, может быть определена отдельная команда специально для рассмотрения багов; в других проектах тестировщики или, возможно, целая команда выполняет сортировку.

Рассмотрение багаСобрание по рассмотрению багов должно быть назначено с некоторым интервалом после начала разработки и тестирования проекта.Перед началом рассмотрения, разрабатывается ряд критериев для определения того какие баги должны быть исправлены и с каким приоритетом. Критерий обычно определяют серьёзность ошибок, ошибки которые связаны с фитчями, имеющие существенное значение или другими рисками в проекте.В начале проекта, скорее всего, принимается решение фиксировать большинство багов, которые были рассмотрены. Тем не менее, по мере развития проекта критерии рассмотрения (bar) могут быть увеличены для сокращения количества исправленных ошибок.Увеличение критерия bar и допущение наличия нерешенных багов в проекте – это компромисс, которые указывает на то, что устранение багов менее важно чем достижение заданных целей проекта, ограничение бюджета или графика.

Проверка устранения багаПосле исправления бага, перед закрытием рабочего элемента, должно быть назначено тестирование для проверки того, что проблема решена. Для проверки исправления, тестировщик должен попытаться воспроизвести баги, рассмотреть дополнительное неожиданное поведение, и, если необходимо, возобновить баг.При проверке бага возможно, что баг не был полностью устранен или вы не согласны с решением. В этом случае, вы общаетесь о проблеме с лицом, которое устраняло баг и приходите к согласию или, возможно, возобновляете ошибку.

Состояния ошибкиКоманда может отслеживать прогресс ошибок устанавливая их состояние. Возможные значения для статуса отличаются в различных методологиях разработки, но большинство из них используют одинаковый подход.Активное состояние означает, что ошибка обнаружена. Новому багу в общем случае присваивают статус Активный.Решенный означает, что баг исправлен.Закрытый означает, что кто-то проверил, что разрешенная ошибка исправлена.При изменении состояния база, член команды указывает причину

Состояния ошибки

Причины разрешения багаРешенная: После исправления проблемы, запуска модульных тестов для подтверждения того, что проблема решена и проверки в измененном коде.Отложенный: В случае, когда баг не будет исправлен на текущей итерацииДубликат: Когда другой активный баг описывает ту же самую проблему.В соответствии с проектом: Когда баг описывает ожидаемые условия или поведение системы.Не может быть воспроизведен: Когда члены команды не могут воспроизвести поведение описанного в баге.

Причины возобновления решенного бага

Устаревший: Когда баг более не принадлежит к продукту. Например, баг устаревший если он описывает проблему в фитче, которой больше нет в продукте.Не исправлен: Когда решение неприемлемо или исправление неправильно.Ошибка тестирования: Когда тест показывает, что ошибка все еще присутствует.

Причины возобновления закрытого бага

Регрессия: Когда баг проявляется в поздних сборках.

Возобновленный: Когда баг был закрыт с ошибкой или по другой причине.

Отчет состояний багаПосле начала поиска и устранения багов, вы можете отслеживать прогресс команды направленный на решение и закрытие багов используя Отчет состояния багов. Он представляет кумулятивную диаграмму количества багов основанную на состоянии, приоритетах и важности.

Финальный отчет об ошибках

С финальный отчет включают:

Количество ошибок Активные ошибка по приоритету или важности Активные баги по назначению (с указанием как

много активных багов назначено каждому члену команды)

Разрешенные баги по назначению (с указанием количества багов которые каждые член команды решил)

Вопросы раздела

Что означает под рассмотрением списка ошибок?

Какие необходимы действия перед закрытием бага?

Какова причина возобновления решенного бага?

Дополнительные ресурсы

MSDN Software Testing ResourcesEssential Guide for Running Automated Tests from a Test Plan

http://msdn.microsoft.com/en-us/library/ff472576.aspx

Installing and Configuring Test Agents and Test Controllers

http://msdn.microsoft.com/en- us/library/vstudio/dd648127.aspx

Running Tests in Microsoft Test Manager http://msdn.microsoft.com/en- us/library/dd286680.aspx

Test Early and Often http://msdn.microsoft.com/en- us/library/vstudio/ee330950.aspx

Bugs (Agile) http://msdn.microsoft.com/en- us/library/dd380645(v=vs.110).aspx

Triage Workbook http://msdn.microsoft.com/en- us/library/dd380707(v=vs.100).aspx

Submitting Bugs http://msdn.microsoft.com/en- us/library/dd286746.aspx

Bug Status Report http://msdn.microsoft.com/en- us/library/dd380736.aspx