Опубликован: 22.12.2012 | Уровень: для всех | Доступ: платный
Лекция 11:

Тестирование и отладка приложений для Windows Store

< Лекция 10 || Лекция 11 || Лекция 12 >
Аннотация: В лекции приводится обзор функций отладки, характерных для приложений для Windows Store, и предоставляются инструкции по использованию этих функций.

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

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

Отладка

В первой главе мы уже познакомились немного с симулятором устройства с Windows 8. Теперь давайте более детально рассмотрим его возможности, а именно боковую панель (Рис. 10.1).


Рис. 10.1.

Первый блок из 4 кнопок позволяет выбрать режим взаимодействия с интерфейсом симулятора:

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

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

Следующий блок из двух кнопок позволяет задать режим ориентации симулятора (Рис. 10.2).


Рис. 10.2.

Симулятор Windows 8 позволяет тестировать приложения на различных разрешениях экрана. Чтобы их изменять, используйте следующую кнопку (Рис. 10.3).


Рис. 10.3.

Кнопка для эмуляции географических координат является следующей в списке и открывает окно для задания координат (Рис. 10.4).


Рис. 10.4.

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


Рис. 10.5.

Рис. 10.6.

Последняя кнопка в списке открывает веб-страницу помощи по работе с симулятором устройства с Windows 8.

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

Как упоминалось выше, во время тестирования применяются различные виды тестов. Дополнительную информацию о видах тестирования см. в соответствующей литературе. В этой лекции рассмотрим создание юнит-тестов для проекта.

Создание юнит-тестов

Visual Studio 2011 Beta содержит соответствующий шаблон для создания юнит-тестов (Рис. 10.7).


Рис. 10.7.

После создание проекта для юнит-тестов давайте модифицируем тест по умолчанию, чтобы он имел следующий вид:

[TestClass]
public class UnitTest1
{
[TestMethod]
public void TestMethod1()
{
Assert.AreEqual(string.Empty, "");
}
[TestMethod]
public void TestMethod2()
{
Assert.Fail();
}
[TestMethod]
public void TestMethod3()
{
Assert.Inconclusive();
}
} 

Для написания юнит-тестов используются все те же методы класса Assert, но в данном курсе они рассматриваться не будет.

Итак, есть готовые юнит-тесты для приложения. Для их запуска нам понадобится окно Unit Test Explorer. Его можно открыть через поле ввода Quick Launch (находится в правом верхнем углу Visual Studio 2011) или выберите в главном меню Unit Test->Windows->Unit Test Explorer.

В окне Unit Test Explorer мы можем запустить все тесты нашего приложения или выбрать определенную группу тестов, которая нас интересует. После работы наших юнит-тестов мы увидим результат их работы (Рис. 10.8)


Рис. 10.8.

Повышение производительности приложений

Для того, что бы понять в каких местах или при каких сценариях производительность приложения низкая, необходимо использовать соответствующие инструменты, которые позволяю получить информацию об использовании ресурсов устройства вашим приложением. Такие инструменты называются профайлерами, и Visual Studio 2011 Express Beta содержит в своем составе.

Профилирование приложений для Windows Store

Инструменты профилирования приложений для Windows Store в Visual Studio 2012 Express Beta позволяют измерять значения и определять ключевые моменты работы наших приложений. Профайлер собирает временную информацию приложений написанных на Visual C++, Visual C# и Visual Basic используя соответствующие методы, которые вызываются через определенный интервал в соответствии со стеком вызовов ЦПУ. Графическое отображение результатов профилирования легко позволяет найти нужное место в приложении и определить производительность его отдельных частей. У нас есть возможность профилировать приложение от момента его запуска и до остановки или же запускать профилирование только в интересующих нас сценариях.

Во время профилирования приложения желательно выбирать для него тип сборки Release. Потому что именно в этом типе сборки приложение по своему содержимому больше всего похоже на то, которые пользователь поставит себе из Microsoft Store.

Для запуска профилирования приложения выберите в главном меню Visual Studio пункт Debug->Start Performance Analysis или нажать комбинацию клавиш Alt+F12 (Рис. 10.9).


Рис. 10.9.

После выполнения необходимых сценариев работы приложения следует остановить анализ производительность приложения, и приложение Visual Studio начнет формирование отчета производительности приложения. Результатом будет следующий отчет (Рис. 10.10).

Другой механизм отслеживания работы приложения - это включение счетчиков кадров. В текущей версии это делается путем изменения ключей в регистре:

  • для 32-битной Windows 8:
     [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Xaml] "EnableFrameRateCounter"=dword:00000001
  • для 64-битной Windows 8:
     [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Xaml] "EnableFrameRateCounter"=dword:00000001

После изменения соответствующего ключа в реестре системы при запуске приложения будет отображаться счетчики кадров (Рис. 10.12).


Рис. 10.12.

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

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

Краткие итоги

Рассмотрен процесс отладки приложений для Windows Store. Описана работа отладчика Visual Studio. Рассмотрено использование модульного тестирования. Приводится способ создания модульных тестов библиотек DLL С++ для приложений для Windows Store (также называемых приложениями для Магазина Windows) с помощью Visual Studio Express для Windows 8 и среды модульного тестирования Майкрософт для С++. Набор для практики

Вопросы

  1. В чем суть использования интерактивной модели отладки?
  2. Какие функции отладки доступны для приложений для Windows Store?
  3. Какие задачи решает задачи проводник DOM?
  4. Как подключить отладчик к выполняемому приложению?
  5. Как настроить приложение для запуска в режиме отладки?
  6. Как подключить отладчик?
  7. Как отладить фоновые задачи?
  8. Как активировать фоновые задачи?
  9. В чем состоит способов создания модульных тестов?
  10. В чем суть использования модульного тестирования?
< Лекция 10 || Лекция 11 || Лекция 12 >
Екатерина Егорова
Екатерина Егорова
Россия, Красноярск, СФУ, 2008
Даниил Поволоцкий
Даниил Поволоцкий
Беларусь, Минск