реклама  

2010-01-04 10:23:31

Создаем сертифицированное приложение для Windows 7

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

Сторонний разработчик (преимущественно, речь идет о независимом вендоре программного обеспечения - ISV) стремится к получению сертификата о соответствии своего приложения с операционной системой по двум основным причинам. Во-первых, именно наличие этого свидетельства говорит о том, что его разработка выполнена именно под эту данную операционную систему и будет работать на ней наиболее эффективно, надежно и безопасно. На это обращают внимание пользователи, когда мигрируют с предыдущих версий ОС, уточняя вопросы совместимости при обращении в техподдержку вендора и на тематических форумах. Это особенно важно для защитного ПО, системных утилит, офисных продуктов, игр, корпоративных ИС, профессиональных пакетов и так далее. Во-вторых, создание сертифицированного приложения дает независимым разработчикам дополнительный стимул использовать инновационные технологии в своих продуктах, повышая их функциональность, удобство использования, качество реализации и так далее. Подобные вопросы затрагивают, в основном, различные мультимедиа-продукты, а также программы, используемые в повседневной работе, отчасти пересекаясь с теми категориями, которые перечислены выше.

Среди программ сертификации приложений под ОС мы рассмотрим последнюю на сегодняшний день программу Compatible with Windows 7. Она пользуется высокой популярностью среди разработчиков ПО, как в мире, так и в России, в частности. В нашей стране на состояние середины декабря в ней приняло участие порядка 40 компаний, а сертификат совместимости получили около 120 приложений.

Требования к качеству

Согласно требованиям Microsoft, право использовать логотип "Совместимо с Windows 7" могут получить далеко не все приложения, разработанные под Windows 7. Во-первых, они должны быть самостоятельными и исполняться в отдельном программном процессе (хотя могут и требовать наличия установленного в системе другого приложения). Поэтому так называемые "плагины" и дополнения, устанавливаемые на существующие программы, не могут получить логотип о совместимости. Не подлежат сертификации и различные веб-приложения, запускаемые в виде Java-апплетов в браузере, компоненты консоли управления системой, драйвера для аппаратных компонентов, а также библиотеки или среды разработки. Любые составные части (например, дополнительные утилиты) сертифицируемого продукта также обязательно отвечать общим критериям программы сертификации. Дополнительные компоненты, необходимые для запуска и работы продукта, по возможности также должны соответствовать критериям сертификации. Исключением являются компоненты Windows 7 и Windows 7 SDK, а также обновления, загружаемые через Центр обновления Windows.

Согласно общим требованиям, предъявляемым Microsoft к продуктам, претендующим на получение логотипа "Совместимо c Windows 7", разработчик должен гарантировать, что его приложение не является вредоносным ПО, использует применяющиеся в ОС механизмы обработки ошибок, отладки и устранения сбоев, защиты и предотвращения фатальных ошибок (DEP и так далее), не изменяет системные ресурсы, поддерживает "чистую" установку и удаление (не оставляя после этого "хвостов"), работает не только на 32-, но и на 64-битной архитектуре, соответствует требованиям UAC (для разделения привилегий запуска и доступа программы к ресурсам компьютера или пользовательским данным), корректно взаимодействует с системой при выполнении перезагрузки (не блокирует ее), загрузки компьютера в Безопасном режиме (не загружается), смене пользователя (работает параллельно с несколькими учетными записями без сбоев). Кроме того, производитель программного обеспечения должен обеспечить соответствие пользовательского интерфейса своего продукта с тем, что в данный момент используется в Windows 7 - поддержка High DPI для графических элементов, совместимость с функциями Рабочего стола и его отдельных частей (компоненты Aero, "списки" Jumplist и так далее), работа с Unicode-кодировкой, ассоциацию с программами по умолчанию.

Качество в подробностях

Для проведения сертификации программного обеспечения компания должна подготовить тестовую среду. Это должен быть компьютер (или компьютеры, если проводится тестирование программы для сетевого использования) с установленной Windows 7 32-битной или 64-битной максимально возможного издания (это необязательное условие). В системе должен быть созданы три учетных записи - администраторская и две обычных пользовательских. Компьютер должен быть оснащен видеокартой, поддерживающей DirectX 10 для тестирования поведения приложения в интерфейсе Aero. После этого тестировщик загружает и устанавливает Windows 7 Software Development Kit (SDK) (некоторые из утилит, входящие в этот пакет, нужны для подписания бинарных компонентов приложения цифровой подписью Microsoft Code Signing Authenticode, а также для проверки инсталляторов), после чего производит установку Windows 7 Client Software Logo Toolkit. Дальнейшие действия связаны с запуском тестов, которые проводятся в виде интерактивного Мастера или поодиночке с запуском команд в консоли. Рассмотрим основные этапы проверки.

Первые несколько шагов связаны с поведением инсталлятора приложения. На этом этапе проверяется, насколько корректно устанавливается продукт - помещаются ли его файлы в системные каталоги %ProgramFiles%, %AppData% или %LocalAppData% и доступны ли конфигурационные файлы, расположенные в них. Здесь же проводится проверка запуска инсталлятора от разных учетных записей - от администраторской (с запросом логина и пароля) и пользовательской с обязательной проверкой по окончании установки, от какого пользователя производится запуск исполняемого файла программы. Аналогичным образом проверяется настройка приложения (не переходят ли параметры при настройке под одной учетной записью в другую, что недопустимо). Windows 7 Client Software Logo Toolkit также отслеживает поведение инсталлятора при добавлении/удалении записей из системного реестра (речь идет о прописывании пути до программы деинсталляции в ветке HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionUninstall) и проверке версии ОС (с помощью AppVerifier). Кроме этого, сертифицируемое приложение не должно выводить систему в перезагрузку после установки, а также корректно устанавливаться в случае обновления Windows 7 с одной версии на другую.

Следующий этап проверки - это непосредственный запуск программы на целевой машине. Здесь тестируется поведение программы не только на Windows 7, но и на последующих версиях (с помощью AppVerifier) и проверяется наличие объявленных в manifest-файлах параметров запуска с разными ключами. После этого пакет пытается запустить программу от обычной учетной записи; от другого пользователя при "горячем" переключении входа в систему; а также работоспособность служб, связанных с многопользовательской поддержкой (службы терминального доступа, удаленный Рабочий стол, Общий доступ к папкам и так далее). Здесь же определяется, могут ли пользователи с меньшими привилегиями получить доступ к данными других профилей на компьютере (это недопустимо), работает ли программа на 64-битной архитектуре, корректно ли она ассоциируется с типами файлов в программах по умолчанию, правильно она их обрабатывает. Для приложений, использующих функции браузера IE8 проверяется также поведение программы при отсутствии этого браузера (в европейских изданиях Windows 7) и наличие удовлетворенных зависимостей компонентов того и другого продукта.

В составе Windows 7 Client Software Logo Toolkit есть и тесты по проверке пользовательского интерфейса. Они проверяют качество прорисовки всех графических компонентов на крупном разрешении и масштабировании от 125%, поддержку Aero (отсутствие черных полей, качество иконок в панели задач, корректность переключения по Win+Tab, адекватность заливки окон при перемещении их по областям Рабочего стола, сворачивании и разворачивании).

На этапе проверки под названием Reliability проводится тест надежности и безопасности программного обеспечения. В область проверки попадают функции программы по записи данных в защищенные системные каталоги (%systemroot%, %systemroot%system32) (это недопустимо) и проверка невозможности записи от учетной записи простого пользователя в %programfiles%. Остальные тесты касаются поведения самого приложения при перезагрузке системы, возникновении сбоев (использует ли программа Windows Error Reporting).

На последнем этапе проводится проверка наличия подписи у всех бинарных файлов продукта, а также включенных в его дистрибутив драйверов (есть они есть); правильности использования сетевого стека, в частности IP-адресации, корректного функционирования приложения в связке с Windows Firewall (работа с портами, создание правил на этапе установки программы и их удаление после деинсталляции ее); а также проверка использования в именах файлов коротких имен (это недопустимо).

Интерпретация результатов

По окончании проверки Windows 7 Client Software Logo Toolkit выводится отчет, в котором указывается, прошло ли приложение тест или нет. Критерием успешной проверки является содержимое отчета, создаваемого утилитой тестирования - статус Pass или Pass with Warning для всех выполненных испытаний. После этого разработчик программного обеспечения должен передать в Microsoft эти результаты, для чего ему потребуется зарегистрироваться на сайте winqual.microsoft.com. При завершении автоматической проверки и подписания в электронной форме лицензионного соглашения продукту будет присвоен логотип "Compatible with Windows 7". Для включения криптографической подписи исполняемого кода программы разработчику потребуется получить цифровое удостоверение VeriSign.

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

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

Российские независимые разработчики программного обеспечения рассказали, что для них процедура сертификации Windows 7 представляет максимально упрощенной и автоматизированной. "Разработчик самостоятельно тестирует продукт, после чего автоматически создается файл-отчет, который необходимо отправить в Microsoft для проверки. После этого сертификат выдается незамедлительно", - объясняет Наталья Худякова, исполнительный директор Movavi, вендора мультимедиа-продуктов. По ее мнению, корпорация Microsoft создала все необходимые условия для быстрой и безболезненной сертификации: версии Windows 7 были доступны для разработчиков задолго до официального выпуска, были созданы многочисленные подробные инструкции о прохождении сертификации, тест-кейсы. Об этом же говорят и в компании Agnitum,вендоре антивирусного программного обеспечения, продукты которого в числе первых получили поддержку новой системы за 3 месяца до официального выпуска. "Для добавления продукта в список программного обеспечения, имеющего поддержку Windows7, достаточно выпустить версию с поддержкой новой ОС и получить цифровую подпись от Microsoft, выполнив также ряд несложных технических требований к предоставлению информации на сайте", - замечает Виталий Янко, коммерческий директор Agnitum.

CNews



комментариев (1) отправить

Информер www.bybanner.com - новости белорусского интернета на вашем сайте!

Добавить комментарий

Имя

Ваш комментарий не должен превышать 1000 знаков




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

Новости компаний

Комментарии

Аналитика

Колонки авторов

Виола Сташкевич

Виола Сташкевич



Чего не хватает публичной жизни Байнета?
научных конференций
различных спартакиад или соревнований
развлечений и отдыха всей «IT-тусовки»
выставок и презентаций


Подписка