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

Mva stf module 5 - rus

Embed Size (px)

Citation preview

Page 1: Mva stf module 5 - rus

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

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

Page 2: Mva stf module 5 - rus

Тестирование ПО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 Управление тестовыми скриптами

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

Page 3: Mva stf module 5 - rus

Click to edit Master subtitle style

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

Page 4: Mva stf module 5 - rus

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

Обзор модуля

Page 5: Mva stf module 5 - rus

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

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

Page 6: Mva stf module 5 - rus

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

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

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

Page 7: Mva stf module 5 - rus

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

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

Page 8: Mva stf module 5 - rus

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

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

Page 9: Mva stf module 5 - rus

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

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

Page 10: Mva stf module 5 - rus

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

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

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

Page 11: Mva stf module 5 - rus

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

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

Page 12: Mva stf module 5 - rus

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

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

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

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

Page 13: Mva stf module 5 - rus

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

Page 14: Mva stf module 5 - rus

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

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

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

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

Page 15: Mva stf module 5 - rus

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

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

Page 16: Mva stf module 5 - rus

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

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

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

Page 17: Mva stf module 5 - rus

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

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

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

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

Page 18: Mva stf module 5 - rus

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

Page 19: Mva stf module 5 - rus

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

Page 20: Mva stf module 5 - rus

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

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

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

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

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

Page 21: Mva stf module 5 - rus

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

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

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

Page 22: Mva stf module 5 - rus

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

Page 23: Mva stf module 5 - rus

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

Page 24: Mva stf module 5 - rus

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

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.

Page 25: Mva stf module 5 - rus

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

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

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

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

Page 26: Mva stf module 5 - rus

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

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

Page 27: Mva stf module 5 - rus

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

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

Page 28: Mva stf module 5 - rus

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

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

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

Page 29: Mva stf module 5 - rus

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

Page 30: Mva stf module 5 - rus

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

Page 31: Mva stf module 5 - rus
Page 32: Mva stf module 5 - rus

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

Page 33: Mva stf module 5 - rus

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

Page 34: Mva stf module 5 - rus

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

Page 35: Mva stf module 5 - rus

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

Page 36: Mva stf module 5 - rus

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

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

Page 37: Mva stf module 5 - rus

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

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

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

Page 38: Mva stf module 5 - rus

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

Page 39: Mva stf module 5 - rus

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

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

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

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

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

Page 40: Mva stf module 5 - rus

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

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

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

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

Page 41: Mva stf module 5 - rus

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

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