- Тестирование приложения для Windows 10 в S-режиме Test your Windows app for Windows 10 in S mode
- Скачивание политик и выбор одной из них First, download the policies and then choose one
- Политика режима аудита Audit mode policy
- (Необязательно) Поиск конкретных точек сбоя в стеке вызовов (Optional) Find specific failure points in the call stack
- Политика режима производства Production mode policy
- Политика режима производства с самозаверяющимися приложениями Production mode policy with self-signed apps
- Установка политики и перезапуск компьютера Next, install the policy and restart your system
- Дальнейшие действия Next steps
- QA evolution
- Особенности тестирования десктопных приложений
Тестирование приложения для Windows 10 в S-режиме Test your Windows app for Windows 10 in S mode
Можно протестировать приложение Windows, чтобы убедиться, что оно будет работать правильно на устройствах под управлением Windows 10 S. You can test your Windows app to ensure that it will operate correctly on devices that run Windows 10 in S mode. На самом деле, если вы планируете опубликовать приложение в Microsoft Store, это необходимо, поскольку таковы обязательные требования Store. In fact, if you plan to publish your app to the Microsoft Store, you must do this because it is a store requirement. Чтобы протестировать приложение, можно применить политику управления приложениями в Microsoft Defender на устройстве под управлением Windows 10 Pro. To test your app, you can apply a Windows Defender Application Control (WDAC) policy on a device that is running Windows 10 Pro.
Эта политика применяет правила, которым должны соответствовать приложения для работы в Windows 10 в S-режиме. The WDAC policy enforces the rules that apps must conform to in order to run on Windows 10 S.
Мы рекомендуем применять эти политики к виртуальной машине, однако если вы хотите применить их к локальному компьютеру, предварительно ознакомьтесь с рекомендациями, приведенными в разделе «Установка политики и перезапуск компьютера» этой статьи. We recommend that you apply these policies to a virtual machine, but if you want to apply them to your local machine, make sure to review our best practice guidance in the «Next, install the policy and restart your system» section of this topic before you apply a policy.
Скачивание политик и выбор одной из них First, download the policies and then choose one
Скачайте политики управления приложениями в Microsoft Defender здесь. Download the WDAC policies here.
Затем выберите наиболее подходящую политику. Then, choose the one that makes the most sense to you. Вот краткая информация по каждой из них. Here’s summary of each policy.
Политика Policy | Принудительное применение Enforcement | Сертификат для подписи Signing certificate | Имя файла File name |
---|---|---|---|
Политика режима аудита Audit mode policy | Ведет журнал ошибок / не блокирует Logs issues / does not block | Магазин Store | SiPolicy_Audit.p7b SiPolicy_Audit.p7b |
Политика режима производства Production mode policy | Да Yes | Магазин Store | SiPolicy_Enforced.p7b SiPolicy_Enforced.p7b |
Политика режима производства с самозаверяющимися приложениями Product mode policy with self-signed apps | Да Yes | Тестовый сертификат AppX AppX Test Cert | SiPolicy_DevModeEx_Enforced.p7b SiPolicy_DevModeEx_Enforced.p7b |
Мы рекомендуем начать с политики режима аудита. We recommend that you start with audit mode policy. Просмотрите журналы событий целостности кода и используйте эти сведения, чтобы внести изменения в ваше приложение. You can review the Code Integrity Event Logs and use that information to help you make adjustments to your app. Затем, когда будете готовы провести финальное тестирование, примените политику режима производства. Then, apply the Production mode policy when you’re ready for final testing.
Ниже представлена дополнительная информация о каждой политике. Here’s a bit more information about each policy.
Политика режима аудита Audit mode policy
В этом режиме ваше приложение работает, даже если оно выполняет задачи, не поддерживаемые в Windows 10 S. Windows регистрирует все исполняемые файлы, которые были бы заблокированы в журналах событий целостности кода. With this mode, your app runs even if it performs tasks that aren’t supported on Windows 10 S. Windows logs any executables that would have been blocked into the Code Integrity Event Logs.
Эти журналы можно найти, открыв Просмотр событий, а затем перейдя к этому расположению: Журналы приложений и служб Logs->Microsoft->Windows->CodeIntegrity->Operational. You can find those logs by opening the Event Viewer, and then browsing to this location: Application and Services Logs->Microsoft->Windows->CodeIntegrity->Operational.
Этот режим безопасен и не помешает запуску системы. This mode is safe and it won’t prevent your system from starting.
(Необязательно) Поиск конкретных точек сбоя в стеке вызовов (Optional) Find specific failure points in the call stack
Чтобы найти в стеке вызовов конкретные точки, в которых возникают блокирующие проблемы, добавьте этот раздел реестра, а затем настройте среду отладки в режиме ядра. To find specific points in the call stack where blocking issues occur, add this registry key, and then set up a kernel-mode debugging environment.
Клавиши Key | Название Name | Type Type | Применение Value |
---|---|---|---|
HKEY_LOCAL_MACHINE\SYSTEM\CurentControlSet\Control\CI HKEY_LOCAL_MACHINE\SYSTEM\CurentControlSet\Control\CI | DebugFlags DebugFlags | REG_DWORD REG_DWORD | 1 1 |
Политика режима производства Production mode policy
Данная политика применяет правила целостности кода, согласующиеся с Windows 10 S, поэтому вы можете имитировать работу под управлением этой операционной системы. Это самая строгая политика, и она отлично подходит для проведения финального тестирования производства. This policy enforces code integrity rules that match Windows 10 S so that you can simulate running on Windows 10 S. This is the strictest policy, and it is great for final production testing. В этом режиме на ваше приложение распространяются такие же ограничения, какие на него были бы наложены на устройстве пользователя. In this mode, your app is subject to the same restrictions as it would be subject to on a user’s device. Чтобы использовать этот режим, ваше приложение должно быть подписано Microsoft Store. To use this mode, your app must be signed by the Microsoft Store.
Политика режима производства с самозаверяющимися приложениями Production mode policy with self-signed apps
Эта политика аналогична политике режима производства, но она также позволяет запускать продукты, подписанные с помощью тестового сертификата, который входит в этот ZIP-файл. This mode is similar to the Production mode policy, but it also allows things to run that are signed with the test certificate that is included in the zip file. Установите PFX-файл, находящийся в папке AppxTestRootAgency этого ZIP-файла. Install the PFX file that is included in the AppxTestRootAgency folder of this zip file. Затем подпишите приложение с его помощью. Then, sign your app with it. Так вы сможете быстро выполнить итерацию, не подписывая приложение через Магазин. That way, you can quickly iterate without requiring Store signing.
Поскольку имя издателя сертификата должно соответствовать имени издателя приложения, вам придется временно изменить значение атрибута Publisher элемента Identity на «CN=Appx Test Root Agency Ex». Because the publisher name of your certificate must match the publisher name of your app, you’ll have to temporarily change the value of the Identity element’s Publisher attribute to «CN=Appx Test Root Agency Ex». После выполнения тестов этому атрибуту можно вернуть исходное значение. You can change that attribute back to it’s original value after you’ve completed your tests.
Установка политики и перезапуск компьютера Next, install the policy and restart your system
Мы рекомендуем применять эти политики к виртуальной машине, поскольку они могут привести к ошибкам при загрузке. We recommend that you apply these policies to a virtual machine because these policies might lead to boot failures. Это связано с тем, что эти политики блокируют выполнение кода, не подписанного Microsoft Store, включая драйверы. That’s because these policies block the execution of code that isn’t signed by the Microsoft Store, including drivers.
Если вы хотите применить эти политики на локальном компьютере, лучше всего начать с политики режима аудита. If you want to apply these policies to your local machine, it’s best to start with the Audit mode policy. С ней вы сможете просмотреть журналы событий целостности кода, чтобы убедиться, что при ее принудительном применении не будут заблокированы никакие критичные функции. With this policy, you can review the Code Integrity Event Logs to ensure that nothing critical would be blocked in an enforced policy.
Когда будете готовы применить политику, найдите P7B-файл выбранной вами политики, переименуйте его в SIPolicy.P7B и сохраните в вашей системе в этом расположении: C:\Windows\System32\CodeIntegrity\ . When you’re ready to apply a policy, find the .P7B file for the policy that you chose, rename it to SIPolicy.P7B, and then save that file to this location on your system: C:\Windows\System32\CodeIntegrity\.
Затем перезапустите компьютер. Then, restart your system.
Чтобы удалить политику из системы, удалите файл P7B и перезапустите систему. To remove a policy from your system, delete the .P7B file and then restart your system.
Дальнейшие действия Next steps
Получение ответов на вопросы Find answers to your questions
Есть вопросы? Have questions? Задайте их на Stack Overflow. Ask us on Stack Overflow. Наша команда следит за этими тегами. Our team monitors these tags. Вы также можете задать нам вопросы здесь. You can also ask us here.
Просмотрите подробную запись в блоге, размещенную нашей группой консультантов по приложениям Review a detailed blog article that was posted by our App Consult Team
Узнайте о средствах, которые упрощают тестирование для Windows в режиме S Learn about tools that make it easier to test for Windows in S Mode
QA evolution
Особенности тестирования десктопных приложений
Особенности тестирования десктопных приложений
Десктопные приложения – это полнофункциональные программы, которые работают вне зависимости от других приложений и требуют наличие оператора. Для их работы необходимы достаточные аппаратные ресурсы компьютера, само приложение и набор функций для работы с приложением.
Такие приложения размещаются на компьютере пользователя. Они не требуют для работы подключение к интернету, взаимодействуют с пользователем посредством стандартного интерфейса, имеют более высокое быстродействие, зависят от используемой операционной системы и требуют установку на каждый компьютер пользователя, желающего работать с данным приложением. Это текстовые редакторы, медиа-плееры, программы расчета, исчисления, изучения – в общем все программы, которые установлены у нас на компьютерах, являются desktop-приложениями. Так как мы имеем доступ к системным файлам программы, данный тип приложений более уязвим, и полностью зависит от действий пользователя.
Особенности тестирования десктопных приложений
Основные особенности тестирования десктопных приложений от веб-приложений заключаются в следующем:
Параметр | Desktop приложение | Web приложение |
Доступ к сети Internet | не требуется | необходим. исключение: некоторые приложения могут временно работать автономно |
Установка/обновление | Должно быть развёрнуто или установлено. | Единовременная настройка. Одна установка для всех пользователей. |
Интерфейс взаимодействия | Стандартные интерфейсы, стандартное взаимодействие | Разнообразный интерфейс взаимодействия. Плюсы — разнообразие реализации, минусы, сложности — кроссбраузерная совместимость. Решается применением библиотек на JavaScritp, внедрением стандартов. |
Совместимость с устройствами | Зависимость от платформы. Исключение — кроссплатформенные приложения. | В большинстве случаем — платформо-независимое. |
Анимация, графика | Быстрая, быстрый отклик | Относительное медленный отклик, связанный с передачей данных по сети. |
Медиа | Незначительные проблемы с аудио и видео. | Проблемы. На данный момент всё реализуется через Flash. Но в разработке стандарт HTML5, который подразумевает поддержку аудио и видео на уровне браузера. |
Шрифты | Присутствуют только те шрифты, которые установлены у пользователя | Любые шрифты — есть возможность подгрузки необходимого шрифта через Internet |
Поиск по контенту | Нет, если только не реализовано на уровне приложения. | Да есть. Причём можно организовать свой поиск, но и воспользоваться сторонними сервисами, к примеру запрашивать данные у Google. |
Расшаривание | Если только дополнительно настроить | Изначально веб-приложения(большинство) настроены на совместный доступ |
Разработка | Под каждую платформу есть свои инструменты, зачастую под каждую платформу приходиться писать свою версию. | Всё выполняется на сервере, пользователя не волнует как там исполняется всё на сервере. Кроссплатформенно, нужен только браузер. Инструменты, софт на сервере зачастую кроссплатформенный. |
Desktop приложение | Web приложение | |
Масштабы | Повсеместно | Пока что web-приложения не столь популярны. Но темпы роста популярности(в куче с «облаками») велики. Уже сейчас многие переходят на хранение документов на Google Docs и прочие сервисы. |
Тестирование | Производится QA, группой QA.. | По сути всё так же. Только открытость(расположение в сети) данного рода приложений позволяет привлечь бОльшее количество QA. Сотни, тысячи, миллионы. В результате бОльшее покрытие тестами и более быстрое обнаружение уязвимостей и некорректной работы софта. |
При тестировании десктопных приложений необходимо учитывать особенности, перечисленные выше.
Виды тестирования которые необходимо проводить на десктопных приложениях помимо основных (функционального, GUI, юзабилити и т.д) также имеют свои особенности:
- тестирование инсталляции
- тестирование обновления
- тестирование деинсталляции
Выполняя тестирование установки проверяется:
- Запускается ли программа после установки
- Расположение программы в файловой системе по-умолчанию
- Расположение программы в файловой системе если путь сохранения изменен пользователем
- Наличие ярлыков на рабочем столе
- Есть ли установленный компонент в меню Пуск > Программы
- При установке обратить внимание на издателя
- Установка программы для текущего пользователя/для всех пользователей компьютера
- Установка пользователем с правами админа
- Установка пользователем без прав админа
Для тестирования обновлений специально устанавливают старую версию программы, она сразу же находит обновления и обновляется. Выполняя тестирование обновлений нужно:
- Проверить что после установки обновлений данные пользователя не были повреждены
- Проверить что все созданные ранее пользователем файлы остались доступными
Выполняя тестирование удаления проверяем:
- Файлы должны удалиться
- Ярлык с рабочего стола исчез
- Удалена ли запись из меню Пуск > Все программы
- Выполняем команду %userprofile% через командную строку, чтобы открыть личную папку текущего пользователя. Убеждаемся, что нет папок с названием программы