Р.Р. ФАЛЬКОВСКИЙ Научный руководитель – И.В. САФОНОВ, к.т.н. МЕТАМОРФНОЕ ТЕСТИРОВАНИЕ ПРОГРАММ УЛУЧ-

реклама
Р.Р. ФАЛЬКОВСКИЙ
Научный руководитель – И.В. САФОНОВ, к.т.н.
Национальный исследовательский ядерный университет «МИФИ»
МЕТАМОРФНОЕ ТЕСТИРОВАНИЕ ПРОГРАММ УЛУЧШЕНИЯ ИЗОБРАЖЕНИЙ
Автоматизированное тестирование программ обработки изображений явлется
нерешенной и актуальной проблемой, потому что для оценки качества получившихся в результате обработки изображений требуется привлечение экспертов,
которые в состоянии оценить только ограниченное количество тестовых примеров. Предлагается использовать метаморфное тестирование для поиска ошибок в
программе коррекции затемненных участков на цифровых фотографиях. В дополнение к известным из литературы метаморфным отношениям вводится отношение, основанное на времени работы программы.
При тестировании программ улучшения изображений (image enhancement) разработчики, как правило, используют относительно небольшое
количество тестовых изображений. Это позволяет обнаружить некоторые
критичные ошибки, приводящие к сбоям программы, и проверить, что
программа удовлетворяет требованиям по улучшению качества для данного ограниченного набора тестов. Ситуация усугубляется тем, что только
для небольшого количества задач улучшения изображений может быть
сформулирован “слепой” численный критерий качества, но в большинстве
случаев качество результата обработки оценивается человеком, что не
позволяет выполнять тесты в автоматическом режиме.
Обработка изображений относится к областям разработки программного обеспечения, в которых часто не существует тестового “оракула”,
т.е. формального правила для определения пройден тест или произошла
ошибка. Для автоматизированного тестирования программ в случае отсутствия оракула было предложено использовать метаморфное тестирование (metamorphic testing) [1]. Основная идея данного подхода: для теста,
результат которого в общем случае не известен, задают способы трансформации этого теста в дополнительный набор тестов и задают, так называемые, метаморфные отношения (metamorphic relation) – правила того,
как должны измениться (или не измениться) результаты тестов, полученных в результате трансформации теста, по сравнению с исходным тестом.
В последние годы метаморфное тестирование начали использовать при
тестировании программ обработки изображений. Например, в [2] описано
применение данного подхода для обнаружения логических ошибок в про-
граммах бинарной эрозии и наращения (dilation). Эффективность способа
демонстрируется путем обнаружения намеренно внесенных в алгоритм
ошибок.
Мы применили метаморфное тестирование для поиска некорректных
результатов работы программы корекции затемненных участков на цветных цифровых фотографиях [3]. Предлагается использовать следующие
метаморфные отношения, т.е. способы трансформации исходного тестового изображения: повороты изображения на углы, кратные 45 градусам,
изменение глобального контраста на 5-10%, применение ФНЧ, применение фильтра повышающего резкость, обработка четверти изображения,
уменьшение и увеличение изображения в 2-4 раза. Для каждого отношения определена максимально допустимая величина изменения интенсивнотей цветов в результате обработки трансформированного изображения
по сравнению с результатом обработки исходного изображения. Сравниваются соответствующие друг другу значения пикселов. Если разница
между результатами обработки превышает допустимый порог, то генерируется сообщение об ошибке.
Помимо перечисленных метаморфных отношений вводится отношение, основанное на времени работы программы. Это отношение позволяет
обнаружить примеры, для которых производительность программы значительно хуже средних значений или теоретического предела для данного
размера изображения.
В результате тестирования программы реализующей алгоритм из [3]
обнаружено, что: а) использование рекурсивного билатерального фильтра
с плоским пространственным ядром может приводить к появлению визуальных артефактов, б) способ вычисления и ступенчатое изменение параметра ks ведет к значительному разбросу результатов для практически
одинаковых изображений на входе алгоритма.
Список литературы
1. Guderlei R., Mayer J. Statistical metamorphic testing programs with random output by
means of statistical hypothesis tests and metamorphic testing // Seventh International Conference
on Quality Software. – IEEE, 2007. – С. 404-409.
2. Jameel T., Lin M., Chao L. Test oracles based on metamorphic relations for image processing applications //16th IEEE/ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing, IEEE, 2015. – С. 1-6.
3. Safonov I. V. Automatic correction of amateur photos damaged by backlighting //Proc.
International Conference on Computer Graphics and Vision (GraphiCon 06). – 2006. – С. 80-89.
Скачать