Проблемы тестирования программного обеспечения встроенных систем
Автор: Барахтаев М.А., Демкин К.В., Харитонов А.Ю.
Журнал: Международный журнал гуманитарных и естественных наук @intjournal
Рубрика: Технические науки
Статья в выпуске: 5-1 (20), 2018 года.
Бесплатный доступ
Встроенные системы имеют огромное распространение во всем мире. Программное обеспечение, встроенное в автомобильные, транспортные, медицинские, энергетические и многие другие типы систем всё чаще и чаще становится причиной инноваций. За последние несколько десятилетий было предложено большое количество методов, подходов, техник для экономически выгодного тестирования встроенных систем. Эта статья познакомит Вас со спецификой и проблемами тестирования встроенных систем.
Встроенные системы, программное обеспечение, тестирование, аппаратное обеспечение, системы реального времени
Короткий адрес: https://sciup.org/170190415
IDR: 170190415
Текст научной статьи Проблемы тестирования программного обеспечения встроенных систем
Встроенные системы - это компьютерные системы, которые являются частью более крупных систем и выполняют некоторые требования этих систем [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.