Проблемы тестирования программного обеспечения встроенных систем
Автор: Барахтаев М.А., Демкин К.В., Харитонов А.Ю.
Журнал: Международный журнал гуманитарных и естественных наук @intjournal
Рубрика: Технические науки
Статья в выпуске: 5-1 (20), 2018 года.
Бесплатный доступ
Встроенные системы имеют огромное распространение во всем мире. Программное обеспечение, встроенное в автомобильные, транспортные, медицинские, энергетические и многие другие типы систем всё чаще и чаще становится причиной инноваций. За последние несколько десятилетий было предложено большое количество методов, подходов, техник для экономически выгодного тестирования встроенных систем. Эта статья познакомит Вас со спецификой и проблемами тестирования встроенных систем.
Встроенные системы, программное обеспечение, тестирование, аппаратное обеспечение, системы реального времени
Короткий адрес: https://sciup.org/170190415
IDR: 170190415
Embedded systems software testing problems
Embedded systems have overwhelming penetration around the world. Innovations are increasingly triggered by software embedded in automotive, transportation, medical-equipment, communication, energy, and many other types of systems. To test embedded software in a cost effective manner, a large number of test techniques, approaches, tools and frameworks have been proposed in the last several decades. This article will introduce you to the specifics and problems of testing embedded systems.
Текст научной статьи Проблемы тестирования программного обеспечения встроенных систем
Встроенные системы - это компьютерные системы, которые являются частью более крупных систем и выполняют некоторые требования этих систем [1]. Некоторыми примерами таких систем являются автоматические мобильные системы управления, системы управления промышленными процессами, мобильные телефоны или небольшие сенсорные контроллеры.
Встраиваемые системы быстро развивались с момента их создания. Сегодня встроенные системы нашли своё место во всех областях электроники: тостеры могут оповещать о своем статусе, а холодильники могут рассказать вам, когда необходимо заменить основные продукты питания.
Подавляющее число компьютерных систем относится к встроенным системам: сегодня 90% всех вычислительных устройств относятся к встроенным системам. Большинство таких встроенных систем также характеризуются как системы реального времени, а это означает, что важными проблемами проектирования являются свойства в реальном времени, такие как время отклика, время выполнения и т. д. [2]. Эти системы обычно должны отвечать строгим требованиям безопасности, доступности и другим атрибутам надежности [3]. Из-за небольшого размера и требований к мобильности, а также чрезвычайно низких издержек производства эти системы требуют небольшого и контролируемого потребления ресурсов и имеют ограниченную аппаратную емкость [4-5]. Повышенная сложность встроенных систем реального времени приводит к увеличению требований в отношении проектирования, тестирования, высокоуровневого проектирования, раннего обнаружения ошибок, производительности, интеграции, проверки и обслуживания, что повышает важность эффективного управления жизненными циклами, такими как ремонтопригодность, мобильность и приспособляемость [6-7]. Для обеспечения корректности работы встраиваемых систем необходимо их тщательное тестирование.
Тестирование - важный этап в разработке программного обеспечения. С его помощью мы устанавливаем соответствие между поведением, производительностью и надежностью системы или устройства и разработанной спецификацией [8]. Также тестирование встроенных систем проводится для поиска ошибок в программном обеспечении, снижения риска как для пользователей, так и для компании, сокращения затрат на разработку и обслуживание, повышения производительности.
Процесс тестирования организован следующим образом. Прежде всего, мы собираем требования, а затем анализи- руем их. Первоначально выполняется тестирование модуля, а затем выполняется интеграция и тестирование системы. Сначала нам нужно понять основные различия между встроенным программным обеспечением и базовым программным обеспечением. Во-первых, встроенное программное обеспечение менее заметно для конечного пользователя [9]. Клиентские интерфейсы довольно примитивны и могут быть реализованы как консольное приложение. С другой стороны, межкомпонентные интерфейсы слишком богаты и сложны, в том числе API для программного обеспечения высокого уровня, обмена данными, контроля и других стандартов и т.д. [10]. Второе основное отличие - аппаратная зависимость. Встроенное программное обеспечение тесно связано с оборудованием. Именно при интеграции этих двух компонентов, возникает множество проблем [11].
Некоторые из проблем, с которыми приходится сталкиваться при проведении тестирования встроенного программного обеспечения, заключаются в следующем:
-
• Место тестирования в жизненном цикле ПО. Часто комплексное тестирование программного обеспечения встроенных систем может выполняться только в более поздние этапы проекта, когда доступно первое аппаратное обеспечение прототипа. Этот подход имеет несколько недостатков. Во-первых, первый прототип подвержен дефектам программного обеспечения и обнаружение дефектов происходит на более поздних этапах разработки продукта. Во-вторых, углубленное тестирование программного обеспечения затруднено или даже невозможно, так как первая истинная возможность запуска программного обеспечения появляется, когда первый прототип будет закончен. Это может замедлить процесс разработки программного обеспечения и препятствовать контролю качества, поскольку дефекты не могут быть устранены как можно раньше. В-третьих, неадекватные методы тестирования программного обеспечения увеличивают
риск ошибок программного обеспечения, проходящих через испытания и в конечном итоге проявляющих себя в производстве или, в худшем случае, в использовании конечным пользователем.
-
• Зависимость от оборудования. Аппаратная зависимость является одной из главных проблем, с которой сталкиваются во время тестирования встроенного программного обеспечения из-за ограниченного доступа к тестовому оборудованию. Тестирование выполняется удаленно через удаленные серверы, это означает, что команда тестирования встроенного программного обеспечения не имеет физического доступа к оборудованию.
-
• Дефекты. Другим аспектом является разработка программного обеспечения для недавно созданного оборудования, в процессе тестирования может быть выявлен высокий процент брака аппаратного обеспечения. Выявленные дефекты могут быть связаны именно с аппаратным, а не с программным обеспечением. Хуже всего то, что программное обеспечение может отлично работать с одним вариантом аппаратного обеспечения и не работать с другим.
-
• Порожденные дефекты. Гораздо сложнее воссоздать дефекты при тестировании встроенных систем. Это заставляет процедуру тестирования оценивать возможное возникновение дефекта намного чаще, чем в обычном случае, также собирать то количество информации, которое может понадобиться, чтобы настроить систему и обнаружить причину дефекта. Поскольку возможности устранения неполадок чрезвычайно ограничены, количество тестов увеличивается.
-
• Обновления программного обеспечения. Ограничения, связанные с обновлениями программного обеспечения, делают процесс тестирования очень сложным в плане поиска ошибок, что вполне разумно для данной версии программного обеспечения, а также увели-
- чивают важность процедур сборки и развертывания [12].
Заключение. Встроенные системы используются во всех областях электроники, поэтому важно обеспечивать их стабильную и корректную работу, а этого можно добиться с помощью тща- тельного тестирования, при котором можно встретиться с разными проблемами. Чтобы преодолеть эти проблемы, мы можем использовать соответствующие инструменты для автоматизации тестирования.
Список литературы Проблемы тестирования программного обеспечения встроенных систем
- Евдокимов И.В. Кадровое обеспечение внедрения SCADA-систем на предприятиях // Труды Братского государственного университета. Серия: Экономика и управление. 2005. Т. 1. С. 116-119.
- Евдокимов И.В. Аспекты внедрения информационных технологий на предприятиях г. Братска // Труды Братского государственного университета, Серия: Экономика и управление, 2006. Т. 1. С. 144-148.
- D. D. Gajski and F. Vahid, "Specification and design of embedded hardware-software systems", IEEE Design and Test of Computers, vol. 12, pp. 53-67, 1995.
- Евдокимов И.В., Коваленко М.А., Мелех Д.А. Управление разработкой и внедрением учётной информационной системы // Научное обозрение. Экономические науки. 2017. № 4. С. 34-39.
- Евдокимов И.В. Адаптация стандартов программных средств к проектам в области информационных технологий // Труды Братского государственного университета. Серия: Экономика и управление. 2010. Т. 2. С. 97-101.