Тестирование приложений на совместимость Windows 7
🕛 09.03.2009, 17:55
При создании новой версии Windows непременно прилагаются усилия по обеспечению совместимости со сторонними приложениями - все они должны работать так же, как и в предыдущей версии. На конференции PDC 2008 мы говорили о некоторых новых аспектах Windows Vista, из-за которых страдает совместимость, в частности, об изменениях, внесенных в концепцию безопасности системы. В работе над Windows 7 мы уделили вопросам обеспечения совместимости особое внимание.В той же мере, что и совместимость оборудования, совместимость приложений определенным образом ограничивает нас, несмотря на то, что этими вопросами занимается специальная команда программистов. Настоящее сообщение подготовлено группой специалистов под руководством Гранта Джорджа (Grant George), вице-президента, ответственного за тестирование в отделе Windows Experience. - Стивен
Еще на этапе планирования работ по созданию, конструированию и тестированию Windows наши усилия были сосредоточены на том, чтобы добиться высокого уровня совместимости со сторонними приложениями. На протяжении всего срока создания новой версии операционной системы мы уделяли этому вопросу самое пристальное внимание.
Цель обеспечения совместимости в Windows 7
Главная цель обеспечения совместимости в Windows 7 - добиться того, чтобы сторонние приложения столь же гладко функционировали в новой системе, как и в Windows Vista. Разумеется, необходимо соблюдать осторожность в провозглашении такого рода целей, поскольку существует целый класс приложений, обязательно обновляющихся, как только выходит новая версия ОС. Как правило, это системные утилиты, диагностические программы, программы, связанные с безопасностью, - такие приложения в общем случае используют инструментарий глубокой интеграции с Windows и потому непременно нуждаются в обновлении. Мы тесно сотрудничаем с основными поставщиками такого ПО. Об этом говорилось ранее, когда мы объявили о начале кампании Ecosystem Readiness Program, и чуть позже мы отдельно обсудим эту тему.
В начале цикла разработки продукта мы составляем перечень новых функций и конструктивных изменений. Необходимо убедиться, что каждый элемент Windows 7 учитывает требования совместимости приложений. Процесс разработки включает в себя автоматическую проверку неизменности API, доступных сторонним разработчикам, и наши сотрудники, ответственные за тестирование, располагают для этого надлежащими инструментами, информацией и временем - поиск проблем с совместимостью осуществляется по возможности на самых ранних этапах процесса разработки. Телеметрия, наряду с информацией маркетологов и сведениями из баз данных об установках приложений, гарантирует широкий спектр выборки программ для проверки, расставляя приоритеты с тем, чтобы обеспечить наибольший диапазон популярного программного обеспечения, не имеющего проблем с совместимостью к моменту выпуска новой версии нашей ОС.
Ниже мы подробно остановимся на том, как мы добиваемся поставленных целей.
Обеспечение совместимости приложений
Всесторонняя информация об использовании и широкий выбор программного обеспечения помогает нам отобрать наиболее важные и пользующиеся спросом приложения. Эта информация неоднократно обновляется в ходе разработки продукта. Для всех отобранных программ наши сотрудники создают автоматические тесты, чтобы убедиться, что каждое из приложений работает именно так, как ожидается.
Изменения, которые могут повлиять на работоспособность приложения, тщательно документируются, например, с помощью инструментария Legacy Code Removal, который содержит все фрагменты изъятого из предыдущей версии программного кода. Этот код тщательно сохраняется и сама процедура его изъятия строго контролируется: без соответствующей документации и обсуждения с заинтересованными сторонами ни один бит не сдвинется со своего места. Например, если нам необходимо отменить вызов какого-то API, то будет обновлена вся сопутствующая документация. Мы не станем ничего предпринимать, пока на основании показаний телеметрии не убедимся, что эффект от наших действий на работу затронутой изменениями программы будет минимальным, кроме случаев, когда необходимо устранить какую-либо уязвимость в системе безопасности Windows.
На протяжении всего цикла разработки мы проводили различные тесты для того, чтобы удостовериться в соответствии программного кода требованиям совместимости приложений. Если при создании кода, который должен был войти в основную сборку, обнаруживалась несовместимость, происходил автоматический откат к предыдущему варианту и процесс разработки останавливался. Начиналась проверка кода и поиски причин возникновения несовместимости. Как только причина обнаруживалась, программисты приступали к исправлению ошибки. Естественно, мы все время совершенствовали и дополняли наши тесты для того, чтобы охватить как можно больше программ для проверки их на совместимость с Windows 7.
Стратегия разработки и тестирования
На обеспечении совместимости сосредоточены усилия нескольких групп разработчиков Windows. Они создают документацию и руководства, как обеспечить совместимость приложений, предоставляют информацию об имеющихся связях и взаимозависимостях программ, а также о том, как вносимые нами в платформу Windows изменения могут повлиять на отдельные программы. Эти группы проверяют и рецензируют новые свойства системы, а также любые другие планируемые перемены, чтобы те, кто работает непосредственно над вопросами совместимости, серьезно относились к этому аспекту системы и чтобы принцип обеспечения совместимости приложений с Windows 7 неукоснительно соблюдался.
Работой непосредственно с создателями кода Windows наша деятельность не ограничивается - мы постоянно поддерживаем контакты со сторонними разработчиками, снабжая их информацией, необходимой для разработки полностью совместимых с Windows Vista и Windows 7 приложений. Более того, обнаружив какие-либо проблемы, которые необходимо решать в сотрудничестве со сторонними производителями ПО, мы собираем все нужные сведения, готовим инструкции и ресурсы, и выходим со всем этим на наших партнеров, чтобы помочь им осознать и исправить ситуацию.
Мы начали специальную кампанию Windows 7 Ecosystem Readiness Program. В ходе этой кампании партнеры получают доступ к различным сборкам Windows 7 и необходимые инструменты, чтобы проверить свои разработки на совместимость с Windows 7, Windows Vista, Windows Server 2008 и Windows Server 2008 R2. Кроме того, кампания помогает совместно тестировать компоненты экосистемы для того, чтобы улучшить восприятие пользователями. Вместо того, чтобы ограничиваться простой сертификацией OEM-продукции, программ, оборудования и драйверов, мы соединяем все компоненты воедино, стремясь предоставить пользователям качественную, надежную, производительную и в то же время инновационную ОС с новыми богатыми возможностями.
Как уже говорилось выше, мы используем данные телеметрии и информацию о занимаемой приложением доле рынка для отбора программ, которые мы непосредственно тестируем в ходе процесса отладки совместимости. Ниже приведены варианты пользовательских сценариев, на основе которых производится тестирование:
* Коммуникации, связь * Игры * Базовые функции (установка, безопасность, производительность) * Заметки * Музыка * Сбор и упорядочение информации * Кино и ТВ * Резервное копирование и безопасность * Мобильность * Бухгалтерия
В приложении к сообщению вы найдете таблицу, в которой перечислены все сценарии. Мы с удовольствием привели бы здесь список всех приложений, но некоторые источники информации основаны на закрытых исследованиях сторонних компаний.
Следующим важными элементами, которые мы тестируем, являются технологии Java, .Net Framework и ряд других. Нам необходима уверенность, что основанные на этих технологиях программы будут работать именно так, как предполагалось.
Наряду с самостоятельными сторонними приложениями мы проверяем работу тех программ, которые устанавливаются в рамках ОЕМ-соглашений. ПО для проверки поступает из источников, связанных с нашими ОЕМ-партнерами, на копиях установочных образов. Эти образы тестируются при установке Windows 7 с нуля и при обновлении с Windows Vista на обычном оборудовании. Этот уровень охвата посволяет нам наилучшим образом смоделировать ситуации, возникающие у многих пользователей при первом знакомстве с Windows 7. Поскольку эти приложения тесно связаны с ОС, оборудованием и драйверами, мы, как правило, требуем от наших ОЕМ-партнеров обновлять их с выходом новой версии ОС.
Помимо всего перечисленного необходимо указать, что ИТ-отдел Microsoft работает с "портфелем" ПО, состоящим из более чем 1500 наименований. Все эти приложения должны быть проверены перед тем, как новая ОС будет развернута внутри Microsoft.
ИТ-отдел Microsoft разработал специальную методику отслеживания, упрощающую процесс выбора ПО для проверки на совместимость. Определяя группы приложений, использующих сходные параметры обработки данных, управления, технологии [Java, .Net Framework] и методы, ИТ-отдел в состоянии на основании проверки от 4 до 6% процентов программ экстраполировать результаты тестирования на все остальное ПО с приемлемой точностью.
Дополнительная информация содержится в документе LOB Application Compatibility Technical White Paper.
Стратегия утверждения совместимых приложений
Частью нашего процесса проверки является создание сценариев, по которым проходит утверждение сторонних приложений как совместимых. Мы достигаем нужного результата, проверяя планируемую функциональность приложения и частично сосредоточив наше внимание на изменениях в ОС, новых свойствах и потенциально рискованных участках, от которых зависит интеграция с ОС. Ручные и автоматические тестовые прогоны выполняются по расписанию, чтобы охватить все установленные заранее сценарии, описывающие вероятные действия пользователей. Мы проверяем приложения на различных конфигурациях оборудования, представляющих возможно более широкий спектр конечных конфигураций, с которыми предстоит иметь дело покупателям компьютеров: x86, x64, Intel, AMD и т.д.
Определяя степень совместимости приложений, мы пользуемся следующими категориями:
* Excellent (отлично) - никаких проблем с совместимостью * Poor (удовлетворительно) - некоторые второстепенные функции не работают * Failure with regression (отказ с необходимостью отката программного кода) - работает в Windows Vista, не работает в Windows 7 * Failures without regression (отказ без необходимости отката программного кода) - не работает ни в Windows Vista, ни в Windows 7 * Accepted Regression (приемлемый откат кода) - сделанные в ОС изменения, которые могут повлиять на работу приложения, известны, ведется работа со сторонними разработчиками с целью минимизировать воздействие на программу. Простой пример - номер версии: некая программа жестко запрограммирована на запуск только при совпадении идентификатора с установленной версией ОС, если идентификатор не совпадает, приложение отказывается работать.
В последующих сообщениях мы более детально рассмотрим эти категории и как классифицируются приложения с их помощью.
В ходе нашего тестирования мы выявляем ситуации, для разрешения которые требуется задействовать сотрудников сторонних компаний, производящих и торгующих указанными программами. Мы собираем всю необходимую им техническую информацию, готовим инструкции и ресурсы, и выходим со всем этим на внешних партнеров, чтобы помочь им исправить ошибки. Разумеется, мы также включаем их в число участников бета-тестирования, чтобы они могли в полной мере проверить свои продукты на совместимость еще на этапе разработки.
Заключение
Для всех нас вопрос достижения совместимости очень важен. Мы постоянно трудимся над тем, чтобы пользователи не испытывали проблем с нужными приложениями при переходе с одной версии Windows на другую. Мы призываем вас установить бета-версию Windows 7, чтобы на собственном опыте могли убедиться в преимуществах высокой степени совместимости приложений, и надеемся получить множество откликов.
Нам необходимо взглянуть на нашу деятельность с точки зрения обычного пользователя. В основном сбои происходят на этапе установки. Поэтому в Windows 7 усовершенствован механизм определения проблем в ходе инсталляции, обеспечивающий правильную настройку "режима совместимости" для вызывающего проблемы приложения. Мы способны реагировать на запросы о помощи в реальном времени, помогая пользователям найти обновленную версию или заплатку. Многие из вас, вероятно, пробовали запустить Skype после чистой установки и после обновления установленной версии, и в обоих случаях вы автоматически оказывались на странице загрузки бета-версии программы.
Дополнение
Сценарии и категории ПО для домашних пользователей
Сценарии Категории ПО
Коммуникации Коммуникации, Интернет, сети, безопасность, пакеты ПО безопасности, серверные приложения
Игры Экшн, приключения, аркады, детские, семейные, бои, симуляторы, лотереи, прочие игры / сборники, гонки, ролевые, стрелялки, спортивные, спорт, стратегии
Основные Утилиты, программы для работы с CD/DVD, резервное копирование, утилиты для работы с дисками, Disk/Tape/File Translation, файловые, общие утилиты, утилиты печати, Безопасность, комплексные пакеты безопасности, комплекты системных утилит, пакеты системных утилит, обнаружение вирусов, решения для Y2K
Сбор и упорядочение информации Общие утилиты, программы для работы с CD/DVD, домашние пакеты для редактирования графики и фото, домашняя графика, профессиональные графические пакеты, профессиональные программы редактирования видео и снятия изображения, профессиональные пакеты для редактирования графики и фото, редактирование видео
Музыка Программы для работы с CD/DVD, музыка, музыкальное обучение
Производительность Астрология, атласы, авто/транспорт, библия/религия, руководства для покупателей, карьерный рост, создание чеков, детские развлечения, клипарт, коллекционирование, архивирование, кулинария, творчество, критическое мышление, культура, настольное издательство, словари/тезаурусы, наборы для образования, создание документации, электронные книги, энциклопедии, семейные развлечения, шрифты, иностранные языки, формуляры, садоводство, генеалогия, общие приложения для бизнеса, геоинформационные системы, география, изображения, здоровье/диета, история, история/новости, увлечения, наборы ПО для домашнего использования, дизайн помещений, наборы ПО для домашнего редактирования графики/фото, домашнее ПО обработки изображений, домашняя мастерская, этикетки, лингвистика, юридические, прочие образовательные, оккультизм, патронаж, личная бухгалтерия, литература, лотерея, математика, медицина, управление запоминанием, многоцелевые, распознавание текстов, офисные пакеты, развитие личности, домашние любимцы, презентации, проверка орфографии, таблицы, развитие способностей, программирование, управление проектами, чтение, наука, хранители экрана, серверные пакеты, SOHO, налоги, управление текстами/изображениями, тренировки, путешествия, слепой набор, распознавание голоса, веб-дизайн/программирование, свадебное ПО, текст-процессор и утилиты к нему, ПО для литераторов
Кино и ТВ Программы для работы с CD/DVD, Кино/ТВ, профессиональные программы редактирования видео и снятия изображения, профессиональные пакеты для редактирования графики и фото, редактирование видео
Сценарии и категории ПО для корпоративных пользователей
Сценарии Категории
Данные, безопасность и резервное копирование Программы для работы с CD/DVD, архивация/сжатие, диагностика, утилиты для работы с дисками, Disk/Tape/File Translation, файловые утилиты, общие утилиты, управление памятью, безопасность, комплексные пакеты безопасности, комплекты системных утилит, пакеты системных утилит, обнаружение вирусов, решения для Y2K, сети, серверные утилиты
Мобильность Коммуникации, Интернет, сети
Управление финансами Бухгалтерия, создание чеков, формуляры, общие приложения для бизнеса, офисные пакеты, начисление зарплаты, ПО для касс, SOHO, таблицы, налоги
Торговля и маркетинг Клипарт, настольное издательство, ПО для касс, SOHO, создание документации, шрифты, формуляры, общие приложения для бизнеса, управление текстами/изображениями, веб-дизайн/программирование, презентации, этикетки, распознавание текстов, утилиты печати, офисные пакеты, текст-процессор и утилиты к нему
Наш список включает 50% наиболее продаваемых приложений за последние 24 месяца, частично данные собраны и систематизированы с использованием исследований известных аналитических компаний.