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

Дополнительные возможности ОС

Инструменты для тестирования

В системе производственного качества будет требоваться обширное тестирование на финальной сборке ОС перед выпуском нового продукта. Windows Embedded CE 6.0 Test Kit (CETK) является инструментом, который можно использовать для тестирования драйверов устройств, которые были разработаны для операционной системы CE. Архитектура CETK показана на рисунке 10.7. CETK содержит совокупность тестов командной строки в графическом интерфейсе пользователя. Инструменты тестирования в CETK поддерживают процессоры (CPU) и аппаратные платформы, которые поддерживает CE.

Архитектура комплекта тестирования CE (CE Test Kit - CETK)

Рис. 10.7. Архитектура комплекта тестирования CE (CE Test Kit - CETK)

CETK предоставляет несколько комплектов тестирования. Каждый из них содержит комбинацию тестов CETK. Некоторые тесты CETK присутствуют в нескольких комплектах тестов, а некоторые имеют различные командные строки в каждом комплекте тестирования. Комплект тестирования выполняет тесты определенной категории устройств на основе CE. Название комплекта тестирования указывает категорию целевых устройств, которые тестирует комплект, например, базовые устройства на основе CE, или Pocket PC и Smart-телефоны на основе Windows Mobile™.

Инструмент CETK состоит из показанного на рисунке 10.8 серверного приложения, которое выполняется на рабочей станции разработки, и клиентского программного обеспечения, которое выполняется на каждом целевом устройстве, которое соединяется с CETK. CETK использует тестовую программу Tux, процессор регистрации Kato, загрузчик драйверов устройств, и технологии расширения Tux для создания и выполнения вариантов тестов.

Интерфейс пользователя Комплекта тестирования CE (CETK), выполняющегося на ПК разработки

Рис. 10.8. Интерфейс пользователя Комплекта тестирования CE (CETK), выполняющегося на ПК разработки

Инструмент Application Verifier, показанный на рисунке 10.9, оценивает стабильность приложения и распознает обычные ошибки программирования. Этот инструмент может обнаружить и указать утечки памяти, обрабатывать утечки (такие как критические разделы и DLL), и утечки в объектах интерфейса графических устройств (GDI). Этот инструмент может также распознавать некоторые формы повреждения кучи.

Application Verifier соединяется с приложением или DLL и выполняет тестирование во время работы. С помощью этого инструмента можно диагностировать небольшие проблемы с приложением, которые иначе будет трудно обнаружить на CE. Оно может проверять автономные приложения, код, который выполняется во время начальной загрузки устройства (когда отладка невозможна), и на системных файлах и драйверах.

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

Инструмент CE Application Verifier

Рис. 10.9. Инструмент CE Application Verifier

Инструмент CE Stress предоставляет рабочую среду, в которой функциональные единицы образа времени выполнения на основе CE выполняются в течение продолжительного периода времени. Инструмент CE Stress можно использовать для проверки, что эти функциональные единицы являются стабильными после продолжительного использования. Инструмент CE Stress может помочь идентифицировать, не будет ли функциональная единица после продолжительной непрерывной работы испытывать утечки памяти, аварийный отказ, зависание, или отказ функционирования.

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

Инструмент CE Stress, показанный на рисунке 10.10, включает клиент/серверную оснастку и совокупность модулей тестирования. Оснастка выполняет модули тестирования в случайной последовательности в цикле в течение произвольного периода времени.

Инструмент тестирования CE Stress

Рис. 10.10. Инструмент тестирования CE Stress

Модули тестирования выполняют функциональное тестирование. Каждый модуль тестирования выполняет ряд тестов на функциональной части операционной системы (ОС). Тесты могут включать простые вызовы интерфейса прикладного программирования (API) или могут моделировать более сложные сценарии.

Бахтиёр Бутаев
Бахтиёр Бутаев
Таджикистан, Душанбе, Таджикский Технический Университет (ТТУ), 2013
Ярославй Грива
Ярославй Грива
Россия, г. Санкт-Петербург