Оригинальное название - Assessing Software Product Line Testing via Model-based Mutation: An Application to Similarity Testing.
Необходимость в массовом выпуске различных вариаций программного обеспечения привело к появлению Продуктовых Линий Программного Обеспечения (Software Product Lines, SPL). SPL — это семейство схожих программных продуктов с набором общих и опциональных возможностей, полученное путем переиспользования компонент, абстрактно представленных характерными чертами (features). Нижеприведенная модель описывает ограничения, накладываемые на характерные черты, и описывает возможную настроку такого программного обеспечения. Типичные SPL состоят из тысяч характерных особенностей из которых вытекает возможность получения огромного числа возможных конфигурацй, что приводит к затруднениям при тестировании. Существующие методики тестирования фокусируются на покрытии частичного набора возможных продуктов. Такой подход к тестированию ведет к ненайденным ошибкам в результате некорректной вручную построенной модели характерных особенностей (Feature Model, FM) и невозможности оценить качество существующих тестов. Предложен способ использования мутаций модели для проверки качества тестов. Эксперементы на реальных характерных особенностях показывают преимущества несхожих наборов тестов.
Мутационное тестирование основано на изменении небольших частей исходного промнного продукта. Полученные при изменении версии называются мутантами. Цель мутационного тестирования состоит в генерации тестов и оценке их качества, о котором можно судить по обнаруженным в ходе тестирования мутантами. Статья посвящена второй задаче, оценке качества.
Опишем модель характерных особенностей (FM). Данная модель используется для выбора подмножества признаков, используемых в конкретном продукте, с учетом имеющихся ограничений. В качестве примера рассмтривается модель частей мобильного телефона — GSM модуль, экран (обычный, цветной, высокого разрешения), камера, mp3 плеер и т.д. В качестве ограничений — возможность (или необходимость) совместного выбора нескольких фич — камера может быть только при наличии экрана высокого разрешения, GSM модуль обязан быть всегда, а экран может быть либо обычным, либо высокого разрешения. Для преобразовании модели в логическую форму используется CNF из булевых параметров, отвечающих за наличие в модели каждой характерной особенности. На основе CNF вводятся два мутационных оператора. Первый заменяет переменную Ci на ее отрицание. Второй заменяет некоторую дизъюнкцию на коньюкцию, увеличивая таким образом количество операндов CNF на один. Для генерации тестов использовался решатель SAT, генерирующий продукты из всего возможного пространства допустимых конфигураций. Для наилучшего обнаружения мутантов использовалась методика выбора наиболее непохожив продуктов для составления тестового набора (a similarity-based prioritization). Проводятся эксперименты на реальны продуктах и оценивается статистическая значимость полученных результатов. Вывод — на моделях с большим числом фич улучшение тестирования с использование непохожих тестов статистически значимо.