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

29.11.2022

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

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

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

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

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

«Мы предлагаем использовать для тестирования искусственный интеллект — нейронные сети и роботов. Роботизация тестирования существенно уменьшит количество ручного труда, позволит ускорить и упростить весь процесс тестирования, тем самым серьезно сократить трудозатраты», — комментирует профессор факультета компьютерных наук ВШЭ Сергей Зыков

«Часто приложения проводят редизайн, например меняют цвета кнопок, радиус скруглений, расстояния от границ элементов. Поэтому для каждого обновления приходится разрабатывать новый сценарий проверки. Наша система адаптируется к таким изменениям, — рассказывает Владимир Бойко, автор исследования, аспирант РТУ МИРЭА. — Благодаря машинному обучению нейронной сети и компьютерному зрению элементы интерфейсов пользователя могут распознаваться программой для тестирования при любом ее стилевом оформлении. В таком случае тестировщикам больше не нужно будет включаться в процесс». 

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

 

НИУ ВШЭ

Изображение: zignallabs.com

Нет комментариев