mva stf module 6 - rus

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

Upload: maxim-shaptala

Post on 12-Apr-2017

385 views

Category:

Education


1 download

TRANSCRIPT

Page 1: Mva stf module 6 - rus

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

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

Page 2: Mva stf module 6 - 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 6 - rus

Click to edit Master subtitle style06 | Автоматизация

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

Page 4: Mva stf module 6 - rus

1. Понятие автоматизации тестирования2. Стратегия автоматизированного тестирования3. Написание автоматизированных тестов4. Управление тестовыми скриптами

Обзор модуля

Page 5: Mva stf module 6 - rus

6.1 Понимание автоматизированного тестирование

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

Page 6: Mva stf module 6 - rus

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

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

– Преимущества– Кандидаты на автоматизацию– Процесс автоматизации

Page 7: Mva stf module 6 - rus

Основные вопросыВ чем разница между автоматизированными и ручными тестами?

В чем преимущество автоматизированного тестирования?

Какие типы тестов могут быть автоматизированы?

Page 8: Mva stf module 6 - rus

Автоматизированные тесты

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

Page 9: Mva stf module 6 - rus

Преимущество автоматизированных тестовАвтоматизированные тесты помогают поддерживать стабильность и находить регрессии которые могут происходить из-за изменений в коде.Они могут быть запущены без присмотра.Автоматизированные тесты – это разрабатываемое ПО, которое состоит из повторно используемого кода. Это делает автоматизированные тесты гибкими и простыми в поддержке.Тесты могут быть запущены с различными конфигурациями используя Microsoft Test Manager.Метрики покрытия кода могут быть собраны при запуске тестов.

Page 10: Mva stf module 6 - rus

Потенциальные недостаткиПри изменении кода или рефакторинге кода могут появиться каскадные эффекты, которые требуют соответствующих изменений в нерабочих автоматизированных тестах.Это может привести к “психологическому воздействию” в вашей команде – если код изменился, то это приводит к неисправностям в тестах.Также может быть ложное чувство безопасности когда все тесты пройдены при неверных входных условиях.

Page 11: Mva stf module 6 - rus

Общие автоматизированные тестыНекоторые типы тестов почти всегда автоматизированыМодульные тесты: в разработке через тестирование, модульные тесты создаются первыми; затем разработчики пишут код для прохождения этих модульных тестов.Нагрузочные тесты: генерирование тяжелой нагрузки будет трудным для ручного тестирования, но автоматизированные тесты могут обеспечить большую нагрузку при наименьших человеческих усилиях.Непрерывное интеграционное тестирования: Вы можете использовать непрерывную интеграцию с Microsoft®Visual Studio® Application Lifecycle Management (ALM) для гарантии того, что любой разработанный код проверен и работает корректно.

Page 12: Mva stf module 6 - rus

Другие потенциальные кандидаты для автоматизацииКонфигурационное тестирование: Тестирование в множестве установленных средах может быть трудной задачей. Microsoft Test Manager предоставляет возможность запуска наборов тестов с различными конфигурациями используя виртуальные или физические машины.Тесты пользовательского интерфейса: Visual Studio ALM имеет возможность создавать автоматизированные тесты напрямую для пользовательского интерфейса.Установочные тесты: Вы можете использовать лабораторные возможности Microsoft Test Manager для установки группы конфигураций которые могут быть использованы для проверки того выполняется ли установка программы как ожидается.

Page 13: Mva stf module 6 - rus

Барьеры на пути к автоматизацииПреимущества автоматизации должны быть соотнесены с затратами. Несколько соображение при степени автоматизации:

Создание автоматизированных тестов требует от тестирующей группы для тестирования изучения кодирования или наем разработчиков только для участия в команде тестировщиков.

Часто меняющийся код является движущейся мишенью и будет приводить к каскадному эффекту, поэтому тесты должны также корректироваться.

Жестко привязанный код к пользовательскому интерфейсу трудно тестировать потому, что может потребоваться взаимодействие пользователя с элементами управления.

Page 14: Mva stf module 6 - rus

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

Page 15: Mva stf module 6 - rus

Вопросы разделаВ чем разница между автоматизированными и

ручными тестами?

В чем преимущество автоматизированного тестирования?

Какие типы тестов могут быть автоматизированы?

Page 16: Mva stf module 6 - rus

6.2 Стратегия автоматизированного тестирования

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

Page 17: Mva stf module 6 - rus

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

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

–Журналирование– Приоритет автоматизации

Page 18: Mva stf module 6 - rus

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

Какие особенности включает автоматизированное журналирование в Visual Studio?

Page 19: Mva stf module 6 - rus

Журналирование данных с IntelliTrace

IntelliTrace сохраняет журнал ключевых событий и переменных во время тестирования и выполнения в отладочном режиме.Вы можете вернуться назад по истории выполнения перед неудачей, изучить значения переменных которые записаны в журнал. Это в частности полезно при работе с багами которые трудны для воспроизведения.Для включения IntelliTrace, в Visual Studio Debug меню, выберите Options and Settings, IntelliTrace. Вы можете также изменить настройки для записи больше или меньше данных.

Page 20: Mva stf module 6 - rus

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

Как часто будет запускаться тест? Отдавайте предпочтение часто используемым тестам.

Как часто этот код меняется? Часто изменяемый код будет требовать поддержку и сокращать преимущества от автоматизации.

Как много времени может быть сэкономлено запуском теста без присмотра? Некоторые ручные тесты требуют огромных временных затрат. Если можно перейти к автоматизации, это может стоить затраченных на автоматизацию усилий.

Page 21: Mva stf module 6 - rus

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

Какие особенности включает автоматизированное журналирование в Visual Studio?

Page 22: Mva stf module 6 - rus

6.3 Написание автоматизированных тестов

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

Page 23: Mva stf module 6 - rus

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

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

– Логика– Обработка ошибок– Комментирование– Виртуальные машины

Page 24: Mva stf module 6 - rus

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

Чем виртуальная машина отличается от физической?

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

Что произойдет с этими условиями тестов в финальной сборке?

Page 25: Mva stf module 6 - rus

Тестирование логики через утверждения (Assertions)Assertion это объект, который позволяет проверить условие во время выполнения программы. Если утверждение верно (true), без порождения каких-либо действий; если утверждение ложно (false), утверждение генерирует сбой.В отладочной сборке, сбойное утверждение приводит к остановке программы, что упрощает определение причину проблемы.В релизе, утверждения игнорируются.При использовании утверждений необходимо убедиться, что код внутри блока утверждения не меняет результат программы при его удалении. Другими словами, он должен быть только

В противном случае, можно случайно породить баг, который только проявляется в финальной версии программы.

Page 26: Mva stf module 6 - rus

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

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

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

Page 27: Mva stf module 6 - rus

Комментарии тестаПри запуске теста используя Test Runner, вы имеете возможность добавить комментарии к шагам теста.Комментарии могут быть использованы для добавления определенных деталей которые вы хотели бы предоставить другим членам команды с учетом неожиданного поведения или предложением на что необходимо обратить внимание пока тестируется приложение.Эти комментарии могут быть полезны как дополнительная информация о багах, для изолирования ошибок кодирования или для переработки пользовательского интерфейса.

Page 28: Mva stf module 6 - rus

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

Вы можете установить программное обеспечение, которое эмулирует целый компьютер обрабатывая инструкции таким же образом, как и оригинальный процессор (или “физическая машина”). Это ПО называется виртуальной машиной (virtual machine).

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

Современный компьютеры даже позволяют запускать множество виртуальных машин одновременно.

Page 29: Mva stf module 6 - rus

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

Чем виртуальная машина отличается от физической?

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

Что произойдет с этими условиями тестов в финальной сборке?

Page 30: Mva stf module 6 - rus

6.4 Управление тестовыми скриптами

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

Page 31: Mva stf module 6 - rus

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

– Дымовое тестирование– Создание верифицирующих тестов– Lab Management

Page 32: Mva stf module 6 - rus

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

Назовите два типа лабораторных сред?

Что означает тест проверки построения?

Каким типом машин может управлять SCVMM?

Page 33: Mva stf module 6 - rus

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

Page 34: Mva stf module 6 - rus

Тесты проверки построения (Build Verification Tests)Дымовые тесты также известные как тесты проверки построенияВ это случае, он так называется потому, что обычно выполняется после ежедневной сборки.

Page 35: Mva stf module 6 - rus

Лабораторные средыСовершенная стратегия тестирования включает тесты выполняемые на множестве систем, возможно, на различном железе и под разными операционными системами.Вместо того, что бы вручную настраивать каждую машину для каждого набора тестов, Visual Studio Lab Management позволяет настроить, развернуть провести тестирование.Лабораторная среда это набор компьютеров, которые управляются как единый блок, и на которой развертывается система для теста вместе с ПО для тестирования.

Page 36: Mva stf module 6 - rus

Преимущество лабораторных средРезультаты тестов могут быть представлены в виде графиков которые связаны с системными требованиями.Lab Manager автоматически устанавливает агента тестирования на каждую машину, включает сбор тестовых данных.Можно просмотреть консоли всех машин одновременно через одно представление, просто перемещаться от одной машине к другой.Лабораторная среда управляет распределением машин для тестирования с целью предотвращения ошибочного доступа двух членов команды к одной и той же машине для различных тестов.

Page 37: Mva stf module 6 - rus

Два типа лабораторных сред

Стандартная лабораторная среда, которая может содержать физические компьютеры и виртуальные машины одновременно.

SCVMM среда, которая может содержать только виртуальные машины, которые контролируются через System Center Virtual Machine Manager (SCVMM).

Page 38: Mva stf module 6 - rus

Возможности доступные в SCVMM средахСлепки (снимки) среды: Слепки среды содержат состояние лабораторной среды, что позволяет быстро восстановить чистую среду, или сохранить модифицированную среду.Сетевая изоляция: Сетевая изоляция позволяет вам одновременно запускать множество идентичных копий SCVMM сред без конфликта имен.Шаблоны виртуальных машин: Шаблон виртуальной машины позволяет разворачивать множество копий в том же самом окружении или множество окружений и одновременно запускать виртуальные машины.Сохраненная виртуальная машина: это виртуальная машина, которая хранится в командном проекте и имеет уникальный идентификатор.

Page 39: Mva stf module 6 - rus

Поддерживаемые операционные системы в виртуальных машинах• Windows® XP SP3 and later versions• Windows Vista®• Windows Server® 2003• Windows Server® 2008• Windows Server® 2008 R2• Windows Server® 2012• Windows 7• Windows 8 or later version

Page 40: Mva stf module 6 - rus

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

Назовите два типа лабораторных сред?

Что означает тест проверки построения?

Каким типом машин может управлять SCVMM?

Page 41: Mva stf module 6 - rus

Дополнительные ресурсы по модулюMSDN Software Testing ResourcesWalkthrough: Creating and Running a Load Test Containing Web Performance Tests

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

Walkthrough: Creating a Simple Web App http://msdn.microsoft.com/en-us/library/ms243156.aspx

Walkthrough: Recording and Running a Web Performance Test

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

Using Code Coverage to Determine How Much Code is being Tested

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

Unit Testing: Testing the Inside http://msdn.microsoft.com/library/jj15934 0.aspx

Отладка приложения путем записи выполнения кода с помощью IntelliTrace

https://msdn.microsoft.com/ru-ru/en-%20us/library/vstudio/dd264915.aspx

Walkthrough: Creating and Running a Generic Test http://msdn.microsoft.com/en-us/library/ms182626.aspx

Assertions in Managed Code http://msdn.microsoft.com/en- us/library/ttcc4x86(v=vs.110).aspxLab Environments http://msdn.microsoft.com/en- us/library/jj159341.aspxTroubleshooting Test Execution http://msdn.microsoft.com/en- us/library/ms182478.aspxWalkthrough: Managing Tests Using Lists and Properties

(http://msdn.microsoft.com/en-US/library/ms182466(v=vs.100).aspx

Types of Performance Testing http://msdn.microsoft.com/en- us/library/bb924357.aspx