Створюємо сертифіковане додаток для Windows 7, Windows, Операційні системи, статті

Жодна із сучасних операційних систем не містить абсолютно всіх необхідних користувачами програм у складі штатних компонентів. З цієї причини під кожну ОС сторонні розробники створюють власні програми, так чи інакше використовують її можливості чи розширюють її функції. Як з цим йде справа в Windows 7? З чого складається екосистема нової ОС? Яким вимогам повинен задовольняти продукт, щоб отримати висновок про сумісність з Windows 7?


Сторонній розробник (переважно, мова йде про незалежне вендори програмного забезпечення – ISV) прагне до отримання сертифікату про відповідність свого застосування з операційною системою з двох основних причин. По-перше, саме наявність цього свідоцтва говорить про те, що його розробка виконана саме під цю операційну систему і буде працювати на ній найбільш ефективно, надійно і безпечно. На це звертають увагу користувачі, коли мігрують з попередніх версій ОС, уточнюючи питання сумісності при зверненні в техпідтримку вендора і на тематичних форумах. Це особливо важливо для захисного ПО, системних утиліт, офісних продуктів, ігор, корпоративних ІС, професійних пакетів і так далі. По-друге, створення сертифікованого програми дає незалежним розробникам додатковий стимул використовувати інноваційні технології у своїх продуктах, підвищуючи їх функціональність, зручність використання, якість реалізації і так далі. Подібні питання зачіпають, в основному, різні мультимедіа-продукти, а також програми, що використовуються в повсякденній роботі, частково перетинаючись з тими категоріями, які перераховані вище.


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


Вимоги до якості


Згідно з вимогами Microsoft, право використовувати логотип “Сумісно з Windows 7” можуть отримати далеко не всі програми, розроблені під Windows 7. По-перше, вони повинні бути самостійними і виконуватися в окремому програмному процесі (хоча можуть і вимагати наявності встановленого в системі іншої програми). Тому так звані “плагіни” і доповнення, що встановлюються на існуючі програми, не можуть отримати логотип про сумісність. Не підлягають сертифікації та різні веб-додатки, що запускаються у вигляді Java-аплетів в браузері, компоненти консолі управління системою, драйвера для апаратних компонентів, а також бібліотеки або середовища розробки. Будь-які складові частини (наприклад, додаткові утиліти) сертифікується продукту також обов’язково відповідати загальним критеріям програми сертифікації. Додаткові компоненти, необхідні для запуску та роботи продукту, по можливості також повинні відповідати критеріям сертифікації. Винятком є ​​компоненти Windows 7 і Windows 7 SDK, а також оновлення, файли через Windows Update.


Відповідно до загальних вимог, що пред’являються 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 надає незалежним стороннім розробникам вичерпні набір інструментів для сертифікації додатків і документації щодо їх використання. Загальні вимоги до якості продукції, її безпеки і надійності зрозумілі і не викликають двухсмисленной трактування.


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

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*