А. А. ДАВЫДОВ
Научный руководитель – С. В. СИНИЦЫН, к. т.н., доцент
Московский инженерно-физический институт (государственный университет)
АВТОМАТИЗАЦИЯ ПЛАНИРОВАНИЯ РЕГРЕССИОННОГО ТЕСТИРОВАНИЯ
Рассмотрены проблемы планирования тестирования в рамках итерационного жизненного цикла разработки программного обеспечения, в том числе с высоким уровнем критичности. Предлагаются методы определения области вовлекаемой в повторную верификацию и оценки объема работ на основе анализа программной документации процесса разработки и результатов работ на предыдущих итерациях.
В настоящее время разрабатываются все более сложные программные системы, при разработке которых, преобладает итерационная (спиралевидная) модель жизненного цикла разработки. То есть выполняются несколько итераций состоящих из формирования и уточнения требований, реализации и отладки, тестирования и опытной эксплуатации, при этом изменяется, возможно, только некоторая часть системы. При такой организации разработки обычно для верификации используется подход регрессионного тестирования, то есть проверяется не вся система, а только те функции, которые подвержены влиянию вносимых изменений.
При планировании подобной верификации возникает проблема определения области системы затрагиваемой вносимыми изменениями в документацию и реализацию – задача регрессионного анализа [1]. Сложность этой задачи заключается в том, что при сужении области верификации до тестирования явно измененных компонент, невозможно судить о корректной работе обновленной системы в целом. Корректное функционирование некоторых неизмененных компонент может нарушаться изменениями, вносимыми в другие компоненты.
Проблема обостряется при разработке программного обеспечения с высоким уровнем критичности, то есть сбой которого, может приводить к значительным материальным потерям или жертвам. Разработка подобных систем регулируется специальными стандартами (например, DO-178B [3]). Подобные стандарты предъявляют жесткие требования к процессу разработки вообще и верификации в частности. Тестирование, удовлетворяющее требованиям этих стандартов, достаточно дорого. То есть при регрессионном анализе нужно определить область верификации таким образом, что бы быть достаточно уверенным в надежности системы, с другой стороны чрезмерное расширение этой области делает систему неоправданно дорогой.
В работе проводится исследование методов автоматизации решения задачи регрессионного анализа. Предлагается модель представления документации программной системы позволяющая отслеживать взаимосвязи и влияния между отдельными компонентами, методы перевода документации в модельное представление, формулируются требования к оформлению документации, обеспечивающие автоматическое построение предложенной модели. Предлагаются методы сужения области анализа базирующиеся на этой модели и на обобщении результатов регрессионного анализа предыдущих итераций.
На основе предложенных моделей разработана система автоматизации регрессионного анализа обладающей следующими возможностями:
- автоматический разбор требований системы и построение модельного представления;
- выявление изменений в требованиях;
- хранение результатов регрессионного анализа и трудоемкости работ, проведенных по их итогам;
- сужение области анализа с помощью предложенных методов на основе обобщения предыдущих результатов;
- поддержка процесса окончательного уточнения области влияния изменений;
- оценка трудоемкости верификации по результатам регрессионного анализа на основе анализа и обобщения предыдущих результатов;
- поддержка планирования работ по верификации
В докладе обсуждаются особенности предложенных методов и моделей, опыт использования разрабатываемой системы в рамках итерационной разработки программного обеспечения с высоким уровнем критичности.
Список литературы
1. Майерс, Гленфорд Дж. Искусство тестирования программ: Пер. с англ. под ред.
. - М.: Финансы и статистика, 19с.
2. Тестирование черного ящика. Технологии функционального тестирования программного обеспечения и систем. – СПб.: Питер, 20с.
3. Software Consideration in Airborne System and Equipment Certification RTCA DO-178B December 1, 1992.


