CN111737141A - 一种结合深度学习技术的黑盒自动化测试系统和方法 - Google Patents

一种结合深度学习技术的黑盒自动化测试系统和方法 Download PDF

Info

Publication number
CN111737141A
CN111737141A CN202010602148.8A CN202010602148A CN111737141A CN 111737141 A CN111737141 A CN 111737141A CN 202010602148 A CN202010602148 A CN 202010602148A CN 111737141 A CN111737141 A CN 111737141A
Authority
CN
China
Prior art keywords
test
page
deep learning
black box
case
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010602148.8A
Other languages
English (en)
Inventor
吴英峰
许根
刘晓鸿
葛辰
曹伟
王顺
赵舟
胡洁
张继文
杨轩
韩淑娴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yangzhou Hangsheng Technology Co ltd
Original Assignee
Yangzhou Hangsheng Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yangzhou Hangsheng Technology Co ltd filed Critical Yangzhou Hangsheng Technology Co ltd
Priority to CN202010602148.8A priority Critical patent/CN111737141A/zh
Publication of CN111737141A publication Critical patent/CN111737141A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Quality & Reliability (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种结合深度学习技术的黑盒自动化测试方法,包括以下步骤:1)用户校准机械臂、摄像头、测试与AI服务器的通讯以及判断是否存在UI原型图;2)摄像头拍摄被测系统屏幕页面,传递给AI服务器进行判断/检测,采用基于深度学习模型的用例设计的方法,实现覆盖性测试用例的生成;3)利用机械臂、扬声器、麦克风以及摄像头对被测系统进行非侵入式自动化测试;一种结合深度学习技术的黑盒自动化测试系统,包括测试生成模块、测试定义模块、测试执行模块和测试适配模块。本发明采用非侵入式的方式创新的将人工智能方法结合的技术,应用到测试的用例设计、测试实施、测试验收三大环节中,提高了测试效率,替代了部分人工,降低成本;避免了植入测试软件对被测系统的影响。

Description

一种结合深度学习技术的黑盒自动化测试系统和方法
技术领域
本发明涉及计算机软硬件测试技术领域,特别涉及一种结合深度学习技术的黑盒自动化测试系统和方法。
背景技术
在自动化测试领域中认为,自动化测试分为3层:白盒单元测试、灰盒API测试、黑盒测试,其中大量测试人力集中在黑盒自动化测试。与白盒和灰盒测试不同,黑盒测试过程不需要了解内部实现,只需要对UI展示层或对附件外设的进行控制,易于实施,因此存在较多此类型的黑盒自动化测试开源框架工具。但是,UI层本身存在大量不稳定因素,甚至很多测试资深专家会建议尽量不用碰UI自动化测试。因此,有效、低成本、可靠地进行黑盒自动化测试一直是测试领域的难题。
目前已有一些自动化测试工具,但都存在一些缺陷,Selenium是一款web自动化测试工具,支持多平台,支持多编程语言编写脚本,可以模拟终端用户操作,可以还原用户真实使用场景遇到的元素覆盖、遮挡问题。但是selenium只支持web测试,需要额外处理才能支持手机、嵌入式设备等测试。Appium、UiAutomator、Espresso是安卓系统上的自动化测试工具,能获取或模拟用户对APP中UI元素的操作,用于后续测试断言。但它们都只能在安卓系统上使用,而且需要往系统或APP中植入监控程序,不适用于Linux系统或低功耗低性能设备。这些工具使用时需要开发人员将接口暴露给测试人员,不仅增加了开发人员负担,还使得产品存在安全性漏洞。另外这些工具切入项目的时间非常靠后,一旦需求发生变化很可能导致已编写的测试用例、自动化脚本失效,例如出现测试人员还没编写完测试用例就发现软件已经迭代几个版本了的情况。
发明内容
本发明的目的是克服现有技术缺陷,提供一种结合深度学习技术的黑盒自动化测试系统和方法,采用非侵入式的方式创新的将人工智能方法结合的技术,应用到测试的用例设计、测试实施、测试验收三大环节中,提高了测试效率,替代了部分人工,降低成本。
本发明的目的一方面是这样实现的: 一种结合深度学习技术的黑盒自动化测试方法,包括以下步骤:
步骤1)用户校准机械臂、摄像头、测试与AI服务器的通讯以及判断是否存在UI原型图;
步骤2)摄像头拍摄被测系统屏幕页面,传递给AI服务器进行判断与检测,采用基于深度学习模型的用例设计的方法,实现覆盖性测试用例的生成;
步骤3)利用机械臂、扬声器、麦克风以及摄像头对被测系统进行非侵入式自动化测试。
作为本发明的进一步限定,步骤2)中所述传递给AI服务器进行判断检测,具体包括:将摄像头捕捉到的页面传递给AI服务器,与已经拍摄到的页面进行相似度匹配,若不匹配则判断该页面第一次出现,将该页面进行编号,保存到图片文件,并将利用深度学习的目标检测模型,识别页面上的元素,记录页面信息、元素信息以及页面跳转关系信息到数据库;若匹配则判断该页面之前遍历过,则直接利用数据库中该页面的信息。
作为本发明的进一步限定,所述述页面信息包括本张图片编号、图片文件名;所述元素信息包括所属图片编号、元素编号、元素尺寸大小、元素中心点坐标;所述页面跳转关系信息包括上一张图片编号、点击的元素编号、本张图片编号。
作为本发明的进一步限定,步骤2)中所述采用基于深度学习模型的用例设计的方法,实现覆盖性测试用例的生成,具体包括:存在完整的UI原型图以及基于原型图的跳转逻辑,则使用深度学习算法对比实际产品展示图和UI原型图,得到覆盖所有UI页面的路径,实现覆盖性测试用例的生成;不存在完整的UI原型图,则使用摄像头拍摄产品屏幕,根据深度学习的视觉技术识别可点击的屏幕图标和按钮,从中随机抽取进行点击,完成页面点击操作,将所有新页面进行记录,最终生成monkey随机测试热力图和覆盖性测试用例。
本发明的目的另一方面是这样实现的:一种结合深度学习技术的黑盒自动化测试系统,其特征在于,包括测试生成模块、测试定义模块、测试执行模块和测试适配模块;
所述测试生成模块,用于提供用户基于深度学习模型的用例设计的方式;
所述测试定义模块,用于分析用户生成的用例测试条件、测试步骤和测试数据,生成测试用例配置文件或脚本,并将用例组合成可批量运行的测试套件存放在用例数据库中;
所述测试执行模块,用于按照定义的测试流程,通过非侵入测试执行用例配置文件或脚本,同时记录测试日志和生成测试报告,并提供AI 回溯功能;
所述测试适配模块,用于通过不同类型的驱动提供驱动支持、协议接口支持和定制化的控制支持。
作为本发明的进一步限定,所述测试生成模块和测试定义模块位于Web端,所述测试执行模块通过网络协议与Web端进行数据传输。
作为本发明的进一步限定,所述不同类型的驱动包括工具仪器驱动、测试接口协议驱动和UI适配驱动。
本发明采用以上技术方案与现有技术相比,有益效果在于:本发明可以通过已有的项目产品,直接进行随机性测试;可以通过已有的项目产品,直接生成功能页面覆盖性测试;可以通过已有UI原型图的项目产品,获得更加准确的用例路径,得到覆盖性测试用例,使得用例生成的效率提升。利用机械臂等外部设备,对被测设备进行测试操作,测试过程中以及过程后,均提供接口让用户对AI自动产生的结果做矫正,在下次AI模型训练时,系统将会添加并使用这些回溯后的结果数据,使得AI模型的结果更加准确;非侵入式测试方式避免了植入测试软件对被测系统的影响。
附图说明
图1本发明系统的框架图。
图2本发明中摄像头捕捉到页面示意图。
图3本发明中记录目标元素后的页面示意图。
图4实施例中用例文件中的页面信息示意图。
图5实施例中用例文件中的页面上的元素信息示意图。
图6实施例中用例文件中的生成用例信息示意图。
具体实施方式
如图1所示的一种结合深度学习技术的黑盒自动化测试系统,包括测试生成模块、测试定义模块、测试执行模块和测试适配模块;
测试生成模块,用于提供用户基于深度学习模型的用例设计的方式;还提供用户手工编写、录制回放、基于经验模型、基于交叉矩阵模型的用例设计方式;
测试定义模块,用于分析用户生成的用例测试条件、测试步骤和测试数据,生成测试用例配置文件或脚本,并将用例组合成可批量运行的测试套件存放在用例数据库中;用户对生成的用例进行测试条件、过程步骤以及测试数据进行修改与补充,如果不需要立即执行,可以进行保存操作,此时可以保存到本地或者数据库;
测试执行模块,用于按照定义的测试流程,通过非侵入测试执行用例配置文件或脚本,同时记录测试日志和生成测试报告,并提供AI 回溯功能,测试工程师需要对非侵入的自动化测试结果做评价,从而进行AI模型的优化工作;
测试适配模块,用于通过不同类型的驱动提供驱动支持、协议接口支持和定制化的控制支持,不同类型的驱动包括工具仪器驱动、测试接口协议驱动和UI适配驱动;工具仪器驱动用于驱动机械臂、信号发生器、音频分析仪、频谱分析仪等;测试接口协议驱动将测试工具下发的命令转化成测试工具能使用的接口;UI适配层是在侵入式测试时,需要提供符合测试接口协议的软件植入被测设备,达到控制被测设备的目的。
生成模块和测试定义模块位于Web端,所述测试执行模块通过网络协议与Web端进行数据传输。
一种结合深度学习技术的黑盒自动化测试方法,包括以下步骤:
步骤1)用户校准机械臂、摄像头、测试与AI服务器的通讯以及判断是否存在UI原型图;
步骤2)摄像头拍摄被测系统屏幕页面,传递给AI服务器进行判断与检测,将摄像头捕捉到的页面传递给AI服务器,与已经拍摄到的页面进行相似度匹配,若不匹配则判断该页面第一次出现,将该页面进行编号,保存到图片文件,并将利用深度学习的目标检测模型,识别页面上的元素,记录页面信息、元素信息以及页面跳转关系信息到数据库;若匹配则判断该页面之前遍历过,则直接利用数据库中该页面的信息;页面信息包括本张图片编号、图片文件名;元素信息包括所属图片编号、元素编号、元素尺寸大小、元素中心点坐标;页面跳转关系信息包括上一张图片编号、点击的元素编号、本张图片编号;采用基于深度学习模型的用例设计的方法,实现覆盖性测试用例的生成,具体包括存在完整的UI原型图以及基于原型图的跳转逻辑,则使用深度学习算法对比实际产品展示图和UI原型图,得到覆盖所有UI页面的路径,实现覆盖性测试用例的生成;不存在完整的UI原型图,则使用摄像头拍摄产品屏幕,根据深度学习的视觉技术识别可点击的屏幕图标和按钮,从中随机抽取进行点击,完成页面点击操作,将所有新页面进行记录,最终生成monkey随机测试热力图和覆盖性测试用例。
步骤3)利用机械臂、扬声器、麦克风以及摄像头对被测系统进行非侵入式自动化测试。
具体实施例如下:
步骤1)用户校准机械臂、摄像头、测试与AI服务器的通讯以及判断是否存在完整的UI原型图;
步骤2)摄像头自动捕捉被测系统屏幕页面,该页面如图2所示,传递给AI服务器,若存在完整的UI原型图以及基于原型图的跳转逻辑,使用深度学习相似度对比算法,对比实际产品展示图和UI原型图,得到覆盖所有UI页面的路径,实现覆盖性测试用例的生成;
若不存在UI原型图,则将该页面与已经拍摄到的页面进行相似度匹配,若不匹配则对将该页面编号,分析该页面可点击的目标元素,得到如图3所示的页面,此时将会得到该页面的所有可点击的元素以及属性(元素大小、元素中心坐标、分类以及被点击次数等),系统会保存该图片以及图片内的元素信息到数据库;随机选择一个被点击次数最少的button,将该button的元素中心坐标转换成机械臂可以点击的坐标;机械臂进行点击操作,同时此button的被点击次数增加1次。重新通过摄像头获取点击后的页面,将上述数据导出成用例文件,用例包含3个sheet页,页面信息PageList、页面上的元素信息KeyList、生成的用例信息Cases,如图4所示PageList保存了摄像头捕捉下来的页面以及页面ID,保存到本地后的名称,如图5所示KeyList元素信息包含了对应的页面编号ID,元素ID,元素图片名称,元素的大小,元素的中心点坐标,元素的分类,元素上的文字信息,元素被点击到的次数;如图6所示Cases里记录的是,当前页面编号Page1,点击的该页面Page1上的元素Key1,那么下一个页面是Page1,此时需要判断的是图片Pic,后面两列TESTResult和ErrorPic是测试执行时的时候系统填入的,至此覆盖性测试用例自动生成,在该项目后续的测试过程中,只要导入该测试用例即可完成测试任务。
步骤3)在测试执行过程中利用机械臂、扬声器、麦克风以及摄像头对被测系统进行非侵入式自动化测试;机械臂、扬声器、麦克风以及摄像头,分别模拟测试工程师的手、嘴巴、耳朵以及眼睛,配合深度学习算法,达到非侵入式测试。
本发明采用非侵入式的方式创新的将人工智能方法结合的技术,应用到测试的用例设计、测试实施、测试验收三大环节中,提高了测试效率,替代了部分人工,降低成本;避免了植入测试软件对被测系统的影响。
本发明并不局限于上述实施例,在本发明公开的技术方案的基础上,本领域的技术人员根据所公开的技术内容,不需要创造性的劳动就可以对其中的一些技术特征作出一些替换和变形,这些替换和变形均在本发明的保护范围内。

Claims (7)

1.一种结合深度学习技术的黑盒自动化测试方法,其特征在于,包括以下步骤:
步骤1)用户校准机械臂、摄像头、测试与AI服务器的通讯以及判断是否存在UI原型图;
步骤2)摄像头拍摄被测系统屏幕页面,传递给AI服务器进行判断与检测,采用基于深度学习模型的用例设计的方法,实现覆盖性测试用例的生成;
步骤3)利用机械臂、扬声器、麦克风以及摄像头对被测系统进行非侵入式自动化测试。
2.根据权利要求1所述的一种结合深度学习技术的黑盒自动化测试方法,其特征在于,步骤2)中所述传递给AI服务器进行判断检测,具体包括:将摄像头捕捉到的页面传递给AI服务器,与已经拍摄到的页面进行相似度匹配,若不匹配则判断该页面第一次出现,将该页面进行编号,保存到图片文件,并将利用深度学习的目标检测模型,识别页面上的元素,记录页面信息、元素信息以及页面跳转关系信息到数据库;若匹配则判断该页面之前遍历过,则直接利用数据库中该页面的信息。
3.根据权利要求2所述的一种结合深度学习技术的黑盒自动化测试方法,其特征在于,所述页面信息包括本张图片编号、图片文件名;所述元素信息包括所属图片编号、元素编号、元素尺寸大小、元素中心点坐标;所述页面跳转关系信息包括上一张图片编号、点击的元素编号、本张图片编号。
4.根据权利要求1所述的一种结合深度学习技术的黑盒自动化测试方法,其特征在于,步骤2)中所述采用基于深度学习模型的用例设计的方法,实现覆盖性测试用例的生成,具体包括:存在完整的UI原型图以及基于原型图的跳转逻辑,则使用深度学习算法对比实际产品展示图和UI原型图,得到覆盖所有UI页面的路径,实现覆盖性测试用例的生成;不存在完整的UI原型图,则使用摄像头拍摄产品屏幕,根据深度学习的视觉技术识别可点击的屏幕图标和按钮,从中随机抽取进行点击,完成页面点击操作,将所有新页面进行记录,最终生成monkey随机测试热力图和覆盖性测试用例。
5.一种结合深度学习技术的黑盒自动化测试系统,其特征在于,包括测试生成模块、测试定义模块、测试执行模块和测试适配模块;
所述测试生成模块,用于提供用户基于深度学习模型的用例设计的方式;
所述测试定义模块,用于分析用户生成的用例测试条件、测试步骤和测试数据,生成测试用例配置文件或脚本,并将用例组合成可批量运行的测试套件存放在用例数据库中;
所述测试执行模块,用于按照定义的测试流程,通过非侵入测试执行用例配置文件或脚本,同时记录测试日志和生成测试报告,并提供AI 人工回溯功能;
所述测试适配模块,用于通过不同类型的驱动提供驱动支持、协议接口支持和定制化的控制支持。
6.根据权利要求5所述的一种结合深度学习技术的黑盒自动化测试系统,其特征在于,所述测试生成模块和测试定义模块位于Web端,所述测试执行模块通过网络协议与Web端进行数据传输。
7.根据权利要求5所述的一种结合深度学习技术的黑盒自动化测试系统,其特征在于,所述不同类型的驱动包括工具仪器驱动、测试接口协议驱动和UI适配驱动。
CN202010602148.8A 2020-06-29 2020-06-29 一种结合深度学习技术的黑盒自动化测试系统和方法 Pending CN111737141A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010602148.8A CN111737141A (zh) 2020-06-29 2020-06-29 一种结合深度学习技术的黑盒自动化测试系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010602148.8A CN111737141A (zh) 2020-06-29 2020-06-29 一种结合深度学习技术的黑盒自动化测试系统和方法

Publications (1)

Publication Number Publication Date
CN111737141A true CN111737141A (zh) 2020-10-02

Family

ID=72651573

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010602148.8A Pending CN111737141A (zh) 2020-06-29 2020-06-29 一种结合深度学习技术的黑盒自动化测试系统和方法

Country Status (1)

Country Link
CN (1) CN111737141A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114393576A (zh) * 2021-12-27 2022-04-26 江苏明月智能科技有限公司 基于人工智能的四轴机械臂点击和位置校准方法和系统
CN116955207A (zh) * 2023-09-18 2023-10-27 中国兵器装备集团兵器装备研究所 识别测试用例完成软硬件的自动化测试方法、系统及介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105808416A (zh) * 2014-12-27 2016-07-27 南车株洲电力机车研究所有限公司 一种人机图形交互界面的自动化测试方法和系统
CN105866575A (zh) * 2016-03-30 2016-08-17 中车株洲电力机车研究所有限公司 一种车载显示器综合测试装置及测试方法
CN109426612A (zh) * 2017-09-04 2019-03-05 上海仪电(集团)有限公司中央研究院 一种基于智能机器学习的自动化用例开发系统
CN110287253A (zh) * 2019-06-13 2019-09-27 合肥移瑞通信技术有限公司 一种自动化产线测试数据的管理系统及方法
CN110688288A (zh) * 2019-09-09 2020-01-14 平安普惠企业管理有限公司 基于人工智能的自动化测试方法、装置、设备及存储介质
US20200034279A1 (en) * 2018-07-24 2020-01-30 Sap Se Deep machine learning in software test automation

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105808416A (zh) * 2014-12-27 2016-07-27 南车株洲电力机车研究所有限公司 一种人机图形交互界面的自动化测试方法和系统
CN105866575A (zh) * 2016-03-30 2016-08-17 中车株洲电力机车研究所有限公司 一种车载显示器综合测试装置及测试方法
CN109426612A (zh) * 2017-09-04 2019-03-05 上海仪电(集团)有限公司中央研究院 一种基于智能机器学习的自动化用例开发系统
US20200034279A1 (en) * 2018-07-24 2020-01-30 Sap Se Deep machine learning in software test automation
CN110287253A (zh) * 2019-06-13 2019-09-27 合肥移瑞通信技术有限公司 一种自动化产线测试数据的管理系统及方法
CN110688288A (zh) * 2019-09-09 2020-01-14 平安普惠企业管理有限公司 基于人工智能的自动化测试方法、装置、设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114393576A (zh) * 2021-12-27 2022-04-26 江苏明月智能科技有限公司 基于人工智能的四轴机械臂点击和位置校准方法和系统
CN116955207A (zh) * 2023-09-18 2023-10-27 中国兵器装备集团兵器装备研究所 识别测试用例完成软硬件的自动化测试方法、系统及介质

Similar Documents

Publication Publication Date Title
CN104391797B (zh) Gui控件的识别方法和装置
CN109408384B (zh) 软件应用的测试方法、装置、处理器及电子装置
CN108959068B (zh) 软件界面测试方法、设备及存储介质
US20190340512A1 (en) Analytics for an automated application testing platform
US8136096B1 (en) Backward post-execution software debugger
EP3112965A1 (en) Robotic process automation
CN106776294B (zh) 安卓手机自动化测试方法和系统
US8271955B1 (en) Forward post-execution software debugger
US20120151451A1 (en) Post-execution software debugger with event display
CN111124919A (zh) 一种用户界面的测试方法、装置、设备及存储介质
US20170322637A1 (en) Mouse action capture and replay system and method, recording medium, and program product
CN104424095A (zh) 一种移动终端的自动化测试方法和系统
WO2014117363A1 (en) Generating software test script from video
US20170031799A1 (en) Method and apparatus for creating reference images for an automated test of software with a graphical user interface
CN111737141A (zh) 一种结合深度学习技术的黑盒自动化测试系统和方法
US11245601B2 (en) Automated integrated test system and method thereof
CN111782505B (zh) 列车系统仿真测试方法、装置、计算机设备和存储介质
US8015552B1 (en) Post-execution software debugger with coverage display
CN110688313B (zh) 一种VxWorks操作系统下软件测试的故障注入方法
CN112463580A (zh) 基于虚拟化装置的测试系统及其方法
CN104699617A (zh) 一种游戏用自动化测试方法
CN107844486B (zh) 一种用于客户端的分析网页问题的方法和系统
CN111522749A (zh) 页面测试方法、装置、可读存储介质及电子设备
CN104991857B (zh) 跟踪调试方法及装置
CN111414309B (zh) 应用程序的自动化测试方法、计算机设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination