一、 软件功能测试面临的问题
二、 基于图像文字识别的软件功能测试
三、 新的软件功能测试技术特点
1. 图像文字识别
2. 易于理解的脚本语言
四、 新的软件功能测试平台的优势
1. 先进的图片和文字识别技术
2. 近似自然语言的脚本语言
3. 提供非侵入式的测试系统
4. 跨平台跨设备测试
5. 单一脚本跨平台复用
6. 图像的模糊匹配
7. 数据驱动测试
8. 第三方工具集成
五、 更多内容
问题主要来自两个方面:
当今的软件开发的底层架构,已经不在局限于少数的几个厂商的产品或技术架构。开源软件技术的成熟,移动互联网和基于云的技术架构的发展,物联网和智能设备,移动终端的大规模应用,再加之传统的嵌入式设备更加的智能化,使软件功能测试需要能能适应在这些多种技术支撑下的界面的功能测试。
软件开发和运维方式的变化,也更强调自动化测试的重要性,快速并易于重复的自动化测试,才能保证了应用快速的迭代。新的功能测试,要求在采用业务人员能理解的方式,和开发并行,尽早的开始进行测试准备,并在贴近真实的使用环境中,敏捷的开展贴近用户体验的功能测试。
这些要求,都是现今功能测试人员经常需要面对,而传统的功能测试技术难以响应的。
基于对象识别的用户图形界面自动化功能测试技术,在多平台,多技术架构,开源复用的环境中,其局限性,越来越给测试人员带来困扰。
基于图像文字识别的软件功能测试技术,是使用接近于用户真实使用软件的一种方式,模拟人眼的观察,通过机器自动识别各类设备上软件图形界面上的特定图像和文字,采用业务或运维人员都可以理解的接近自然语言的脚本描述,自动执行类似人在鼠标和键盘上的操作,完成特定的功能测试流程。
新的功能测试技术,最为突出的特点,可以概括为图像文字识别和易于理解的脚本语言。
基于图像文字识别的软件功能测试自动化技术,采用独特、创新的图像和文字识别技术,实现基于用户图形界面的,稳健的软件功能自动化测试。平台可以测试从手机,嵌入式设备,数字仪表,到主机的多种应用图形界面的功能,而与客户采用的应用开发技术无关,使跨平台,多设备的图形界面功能测试易于实现自动化。
基于图像文字识别的软件功能测试自动化技术,采用易于理解的脚本语言,支持单一脚本实现跨平台的同一应用的界面功能测试。易于为非开发人员理解和编写这一特性,更加帮助用户实现测试驱动开发,实现敏捷快速的测试开发。也支持常见脚本语言通过API实现调用。
基于图像文字识别的软件功能测试自动化技术,还可集成第三方软件测试设计自动化平台,基于被测系统的需求,自动化的生成可执行的自动化执行脚本。
平台的图片识别技术,采用基于图像的方法,这意味工具可以做到象人一样自如的查看被测系统的屏幕变化,而无需依赖和理解被测系统的代码或编程结构,因而完全不受技术限制,可实现功能测试流程自动化,在每个测试阶段,对功能、性能、环境的用户体验进行检测。
使用近似自然语言的专用测试脚本描述语言,无需使用者有编程经验。与采用Python、Java或VBScript等复杂的开发语言编写脚本的测试工具相比,避免了实施速度降低,需要编程知识等问题,降低了工具培训产生的隐形成本,同时也支持常见脚本语言通过API实现调用。
提供非侵入式的测试系统,测试控制可以安装在外围一台设备上,减少对被测系统的干扰。测试控制系统通过VNC和多个被测系统通信。
功能测试所关注的被测系统信息是关于程序执行过程中的像素图形信息。这意味着,所有被测试系统都以像素图形的方式来处理,这样,工具就可以支持从手机到主机,多种实时操作系统,嵌入式系统界面,云端应用等采用多种软件底层技术的应用功能测试。
基于图像和文字识别的功能测试技术,仅仅依赖于界面的图形像素,从而实现单一脚本对同一应用的跨平台功能测试复用。
对于相同图像,由于设备分辨率不同而造成图像大小不同时,可以通过模糊匹配,指定比例因子,一次捕获,自适应大小变化后的相同图像的识别,很好的应对设备碎片化的问题,一次捕获,多个平台使用。
工具可以复制终端用户执行的每个操作,它可取代由人工输入数据的繁重劳动。使用数据驱动测试的方法,从数据文件中简单、高效的录入重复数据,确保更快速、高效及节约成本的方法,完成自动化测试。
工具可以和众多第三方的测试管理和持续集成工具相集成。还可以和自动化测试设计工具集成,可以基于被测系统需求,自动生成可执行的自动化功能测试脚本。