Учёные из НИУ ВШЭ и Российского технологического университета разработали систему интеллектуального тестирования, которая упростит проверку программного обеспечения на разных платформах. Применение компьютерного зрения позволяет распознавать элементы интерфейсов при любом графическом оформлении программы. Результаты исследования опубликованы в «Журнале Сибирского федерального университета».
Один из этапов разработки программного обеспечения — это тестирование. Без него не обходится создание ни одного программного продукта. Задача тестировщиков — проверить, как функционирует новый продукт, какие ошибки возникают при его запуске. Для этого они открывают сайт или заходят в приложение и в правильном порядке проверяют все его функции. В промышленном автоматизированном тестировании тестировщики пишут сценарий проверки один раз, затем актуализируют его, обновляют и запускают множество раз в процессе разработки программного обеспечения.
Для проверки сайтов и мобильных приложений используют разные инструменты. Отдельные системы разрабатываются также для тестирования операционных систем iOS и Android. Использование разных языков программирования и необходимость дублировать одни и те же сценарии для разных платформ удваивает объём работы тестировщиков.
Исследователи из Российского технологического университета и с факультета компьютерных наук НИУ ВШЭ разработали алгоритм, с помощью которого одна программа тестирования сможет функционировать во всех системах, будь то разные операционные системы на смартфонах или сайты.
Система действует следующим образом: тестировщик загружает сценарий проверки, на основе которого запускается цикл тестирования. Экран программного обеспечения постоянно сканируется, на нём распознаются элементы графического интерфейса и симулируется взаимодействие с ними. Система автоматически выполняет необходимые действия, как если бы это делал тестировщик-человек. По завершении сценария она предоставляет отчёт и завершает работу.
Предложенный механизм может применяться к любому продукту с графическим интерфейсом и автоматизировать рутинные и повторяющиеся задачи в программировании.
Автор текста: Правдюк Анна
Источник: НИУ ВШЭ