本文我们一起分析一下AI技术如何解决现有的自动化测试工具的不足和我们衍生出来的新的测试需求。
首先我们一起看一下计算机视觉的发展历史,在上世纪70年代,处于技术萌芽期,由字符的识别技术慢慢进行演化,发展到现在,人脸识别技术已经是非常普遍的应用,图像识别技术在无人机、无人驾驶、电商等领域用得越来越多。
计算机视觉技术在解决我们自动化测试的问题时,主要通过以下几点:
OpenCV:图像识别开发框架,我们可以通过开源的OpenCV框架去进行UI的自动化的识别。
OCR:文字识别技术,OCR技术已经有几十年的历史了,因为现在AI的出现,OCR技术与AI结合之后,可以使文字识别的精度更高。
算法:深度学习-卷积神经网络在算法层面,我们现在已经在计算机视觉和图像识别技术方面已经越来越多地用到深度学习里面的卷积神经网络,它对我们图像识别的精准度的提升有着非常重要的帮助。
数据集:图像数据集,我们通过大量的图像数据集去构建算法的模型,来训练它的精准度。
OpenCV是目前用到的最广泛的图像识别的框架,它的模块非常多,也非常复杂,它在ml模块里面,可以去集成各类机器学习的模块,主流的机器学习的算法模块都可以集成到OpenCV里面。它的核心功能模块包含了传统的图像识别的基本数据结构和绘图的函数。具体模块参见下图:
OpenCV-图像处理过程
它的图像处理过程主要包含以下四个步骤:
OpenCV-图像基本操作
一个简单的图像的基本操作主要包括以下这几个步骤:通过图像载入这样一个函数,去把图像进行载入操作;通过窗口创建和图像显示,去进行图像的元素提取、相应的展示;通过文件写入进行一个相应的处理,最后进行资源释放,去完成整个的操作过程。
接下来的文章会继续为大家介绍OCR、算法、数据集等技术,以及通过这些技术如何解决自动化测试工具的痛点,敬请继续关注。