Журналов:     Статей:        

Технологии инженерных и информационных систем. 2018;

Автоматизированный метод разработки тестовых примеров для проверки полноты покрытия кода встраиваемого программного обеспечения

Филиппов Михаил Владимирович

Аннотация

Проведён сравнительный анализ существующих методов решения задачи полноты покрытия кода тестами и временных затрат на создание тестовых примеров. В результате исследования показано, что метод MC/DC обеспечивает полноту покрытия при приемлемых временных затратах. Сформулированы проблемы, возникающие при тестировании сложных встраиваемых систем. На основе метода MC/DC разработан алгоритм автоматического планирования тестовых примеров, предоставляющий пользователю комбинации значений логических условий, которые можно применить для создания тестовых случаев испытываемой функции. Разработанное решение позволяет подобрать оптимальное, и при этом не избыточное, количество конфигураций значений всех логических выражений. Таким образом, обеспечивается максимальное покрытие всего множества ветвей. Использование предложенного алгоритма избавляет разработчика от формирования полного набора тестовых примеров для определенной функции программы.

Список литературы

1. Дробинцев П.Д., Котляров В.П., Летичесвский А.А. Автоматизация создания верифицированных тестовых сценариев на основе гидов. Моделирование и анализ информационных систем. 2013г., Т. 20, №6, с. 64-77.

2. Guide to the Software Engineering Body of Knowledge: 2004 Edition — SWEBOK. IEEE, 2005, 335 p.

3. Кулямин В.В. Критерии тестового покрытия, основанные на структуре контрактных спецификаций. Труды института системного программирования РАН. 2008 г. Т.14, №1. С. 89-107.

4. Кулямин В.В. Методы верификации программного обеспечения. Режим доступа: http://www.ict.edu.ru/ft/005645/62322e1-st09.pdf (дата обращения 19.06.2017)

5. Мутилин В.С. Паттерны проектирования тестовых сценариев. Труды института системного программирования РАН. 2006 г. Т.9. С. 97-128.

6. Налютин Н., Синицын С. Верификация программного обеспечения – М.: Лаборатория знаний. 2008 г – 368 с.

7. Галочкин В.А. Перечисление решающих деревьев ограниченной стоимости на И-ИЛИ дереве. Программные системы и вычислительные методы. 2014 г. №2. С 191-196.

8. Rajan A., Whalen M.The Effect of Program and Model Structure on MC/DC Test Adequacy Coverage (2009) Proceedings of the 30th international conference on Software engineering, USA, March,P. 161-170

9. Корныхин Е.В. Генерация тестовых данных для тестирования арифметических операций центральных процессоров. Труды института системного программирования РАН. 2008 г. Т.15. С. 107-117.

10. Майерс Г. Искусство тестирования программ – Изд. Вильямс. 2012 г – 272 с.

11. Щербаков А.С. Ускорение направленного автоматического тестирования ПО в практике моделирования СБИС за счет сокращения обходов ветвей условных переходов. Проблемы разработки перспективных микро- и наноэлектронных систем (МЭС). 2012 г. №1. С. 89-94.

Title in english. 2018;

Автоматизированный метод разработки тестовых примеров для проверки полноты покрытия кода встраиваемого программного обеспечения

Abstract

Проведён сравнительный анализ существующих методов решения задачи полноты покрытия кода тестами и временных затрат на создание тестовых примеров. В результате исследования показано, что метод MC/DC обеспечивает полноту покрытия при приемлемых временных затратах. Сформулированы проблемы, возникающие при тестировании сложных встраиваемых систем. На основе метода MC/DC разработан алгоритм автоматического планирования тестовых примеров, предоставляющий пользователю комбинации значений логических условий, которые можно применить для создания тестовых случаев испытываемой функции. Разработанное решение позволяет подобрать оптимальное, и при этом не избыточное, количество конфигураций значений всех логических выражений. Таким образом, обеспечивается максимальное покрытие всего множества ветвей. Использование предложенного алгоритма избавляет разработчика от формирования полного набора тестовых примеров для определенной функции программы.

References

1. Drobintsev P.D., Kotlyarov V.P., Letichesvskii A.A. Avtomatizatsiya sozdaniya verifitsirovannykh testovykh stsenariev na osnove gidov. Modelirovanie i analiz informatsionnykh sistem. 2013g., T. 20, №6, s. 64-77.

2. Guide to the Software Engineering Body of Knowledge: 2004 Edition — SWEBOK. IEEE, 2005, 335 p.

3. Kulyamin V.V. Kriterii testovogo pokrytiya, osnovannye na strukture kontraktnykh spetsifikatsii. Trudy instituta sistemnogo programmirovaniya RAN. 2008 g. T.14, №1. S. 89-107.

4. Kulyamin V.V. Metody verifikatsii programmnogo obespecheniya. Rezhim dostupa: http://www.ict.edu.ru/ft/005645/62322e1-st09.pdf (data obrashcheniya 19.06.2017)

5. Mutilin V.S. Patterny proektirovaniya testovykh stsenariev. Trudy instituta sistemnogo programmirovaniya RAN. 2006 g. T.9. S. 97-128.

6. Nalyutin N., Sinitsyn S. Verifikatsiya programmnogo obespecheniya – M.: Laboratoriya znanii. 2008 g – 368 s.

7. Galochkin V.A. Perechislenie reshayushchikh derev'ev ogranichennoi stoimosti na I-ILI dereve. Programmnye sistemy i vychislitel'nye metody. 2014 g. №2. S 191-196.

8. Rajan A., Whalen M.The Effect of Program and Model Structure on MC/DC Test Adequacy Coverage (2009) Proceedings of the 30th international conference on Software engineering, USA, March,P. 161-170

9. Kornykhin E.V. Generatsiya testovykh dannykh dlya testirovaniya arifmeticheskikh operatsii tsentral'nykh protsessorov. Trudy instituta sistemnogo programmirovaniya RAN. 2008 g. T.15. S. 107-117.

10. Maiers G. Iskusstvo testirovaniya programm – Izd. Vil'yams. 2012 g – 272 s.

11. Shcherbakov A.S. Uskorenie napravlennogo avtomaticheskogo testirovaniya PO v praktike modelirovaniya SBIS za schet sokrashcheniya obkhodov vetvei uslovnykh perekhodov. Problemy razrabotki perspektivnykh mikro- i nanoelektronnykh sistem (MES). 2012 g. №1. S. 89-94.