• A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site

Алгоритм машинного обучения снизит трудозатраты тестировщиков

Компьютерное зрение распознает изменения интерфейса

Учёные из НИУ ВШЭ и Российского технологического университета разработали систему интеллектуального тестирования, которая упростит проверку программного обеспечения на разных платформах. Применение компьютерного зрения позволяет распознавать элементы интерфейсов при любом графическом оформлении программы. Результаты исследования опубликованы в «Журнале Сибирского федерального университета».

Один из этапов разработки программного обеспечения — это тестирование. Без него не обходится создание ни одного программного продукта. Задача тестировщиков — проверить, как функционирует новый продукт, какие ошибки возникают при его запуске. Для этого они открывают сайт или заходят в приложение и в правильном порядке проверяют все его функции. В промышленном автоматизированном тестировании тестировщики пишут сценарий проверки один раз, затем актуализируют его, обновляют и запускают множество раз в процессе разработки программного обеспечения.

Для проверки сайтов и мобильных приложений используют разные инструменты. Отдельные системы разрабатываются также для тестирования операционных систем iOS и Android. Использование разных языков программирования и необходимость дублировать одни и те же сценарии для разных платформ удваивает объём работы тестировщиков. 

Исследователи из Российского технологического университета и с факультета компьютерных наук НИУ ВШЭ разработали алгоритм, с помощью которого одна программа тестирования сможет функционировать во всех системах, будь то разные операционные системы на смартфонах или сайты. 

Система действует следующим образом: тестировщик загружает сценарий проверки, на основе которого запускается цикл тестирования. Экран программного обеспечения постоянно сканируется, на нём распознаются элементы графического интерфейса и симулируется взаимодействие с ними. Система автоматически выполняет необходимые действия, как если бы это делал тестировщик-человек. По завершении сценария она предоставляет отчёт и завершает работу.

Мы предлагаем использовать для тестирования искусственный интеллект — нейронные сети и роботов. Роботизация тестирования существенно уменьшит количество ручного труда, позволит ускорить и упростить весь процесс тестирования, тем самым серьёзно сократить трудозатраты.

Сергей Зыков
Профессор факультета компьютерных наук НИУ ВШЭ

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

Владимир Бойко
Автор исследования, аспирант РТУ МИРЭА

Предложенный механизм может применяться к любому продукту с графическим интерфейсом и автоматизировать рутинные и повторяющиеся задачи в программировании.
IQ

Author: Anna Pravdyuk, November 29, 2022