CN114756448A - 一种用户界面的还原度自动测试系统和方法 - Google Patents

一种用户界面的还原度自动测试系统和方法 Download PDF

Info

Publication number
CN114756448A
CN114756448A CN202210211556.XA CN202210211556A CN114756448A CN 114756448 A CN114756448 A CN 114756448A CN 202210211556 A CN202210211556 A CN 202210211556A CN 114756448 A CN114756448 A CN 114756448A
Authority
CN
China
Prior art keywords
user interface
test
unit
file
original design
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
CN202210211556.XA
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.)
Shanghai Jidou Technology Co ltd
Original Assignee
Shanghai Jidou 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 Shanghai Jidou Technology Co ltd filed Critical Shanghai Jidou Technology Co ltd
Priority to CN202210211556.XA priority Critical patent/CN114756448A/zh
Publication of CN114756448A publication Critical patent/CN114756448A/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
    • 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/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种用户界面的还原度自动测试系统和方法,由测试终端执行,包括:第一配置模块,用于根据被测软件在应用客户端的应用场景,配置被测软件的测试文件;测试运行模块,连接第一配置模块,用于:运行测试文件,根据测试文件模拟用户在被测软件的用户界面对界面控件的操作,将与每一次操作跳转的用户界面与对应的原始设计图进行差异性比对形成一次比对结果,测试完毕后根据所有的比对结果形成最终的测试报告。通过设计测试文件自动运行以对应用客户端安装的被测软件的UI界面进行测试,提高测试精度,降低人工成本和时间成本,提高测试效率。

Description

一种用户界面的还原度自动测试系统和方法
技术领域
本发明涉及UI设计测试技术领域,尤其涉及一种用户界面的还原度自动测试系统和方法。
背景技术
Android应用在完成开发之后到交付客户之前要进行多轮测试,其中包含了人机交互测试(HMI测试)以及UI走查测试,往往UI走查测试中会发现应用的UI还原度存在很大问题,但是这种差异有时候是肉眼无法识别的像素级偏差,目前只能通过人工将设计稿和实际是实现稿件进行手工重合比对来发现UI还原在像素级别的差异。目前行业内对于应用的HMI测试以及UI走查测试基本依靠UI设计人员和测试人员通过手动截图,人工肉眼识别比对页面布局的位置以及控件的样式位置大小是否一致但是这种需要消耗大量的人力资源和时间资源且无法精准还原。
发明内容
基于上述问题,本发明提供一种用户界面的还原度自动测试系统和方法,旨在解决现有技术中人工检测UI设计差异的人工成本和时间成本、效率低下以及精度低等技术问题。
一种用户界面的还原度自动测试系统,由测试终端执行,包括:
第一配置模块,用于根据被测软件在应用客户端的应用场景,配置被测软件的测试文件;
测试运行模块,连接第一配置模块,用于:
运行测试文件,根据测试文件模拟用户在被测软件的用户界面对界面控件的操作,将与每一次操作跳转的用户界面与对应的原始设计图进行差异性比对形成一次比对结果,测试完毕后根据所有的比对结果形成最终的测试报告。
进一步的,还包括:
存储模块,用于存储被测软件中设计用户界面的原始设计图;
第二配置模块,连接存储模块,用于以键值对的形式将需要测试的用户界面的实际运行时的活动名称与对应的原始设计图的名称进行配置,形成配置文件;
测试运行模块,还分别连接第二配置模块和存储模块,包括:
启动单元,用于运行测试文件;
操作单元,连接启动单元,用于根据测试文件模拟用户在被测软件的用户界面对界面控件的操作;
名称获取单元,连接操作单元,用于获取根据操作跳转后当前用户界面的活动名称;
第一判断单元,连接名称获取单元,用于判断当前运行的用户界面的活动名称在配置文件中是否存在对应的原始设计图的名称,输出第一判断结果;
记录单元,连接第一判断单元,用于当第一判断结果为不存在时,记录第一判断结果;
截屏单元,连接第一判断单元,用于当第一判断结果为存在时,对当前运行的用户界面进行截屏处理以获取用户界面的实际效果图;
比对单元,连接截屏单元,用于将实际效果图和对应的原始设计图进行差异性比对,以获得比对结果;
报告生成单元,连接比对单元,用于测试完毕后,根据所有获得的比对结果和实际效果图形成测试报告。
进一步的,测试运行模块还包括:
第二判断单元,连接比对单元,用于根据比对结果判断实际效果图和对应的原始设计图是否存在差异,输出第二判断结果;
创建单元,连接第二判断单元,用于在第二判断结果为存在差异时,根据差异创建bug记录;
发送模块,连接测试运行模块,用于将bug记录提交至质量监控管理平台。
进一步的,测试运行模块还包括:
标记单元,连接第二判断单元,用于在第二判断结果为存在差异时,对实际效果图和对应的原始设计图之间的差异点进行标记;
创建单元,连接标记单元,用于根据差异点创建bug记录。
进一步的,比对单元包括:
转换子单元,用于分别将实际效果图和对应的原始设计图进行灰度转换;
差异计算子单元,连接转换子单元,用于计算转换成灰度图片后的实际效果图和对应的原始设计图的相似性指数,形成比对结果;
第二判断单元,用于判断相似性指数是否低于一预设数值,当相似性指数低于预设数值时,则认定实际效果图和对应的原始设计图存在差异。
进一步的,操作为对界面控件的点击;测试运行模块使用uiautomator工具获取界面控件的坐标,以进行对应的用户界面的跳转。
进一步的,用户界面的活动名称为Activity名称,通过adb工具获取被测软件的首页的Activity名称以及当前用户界面的Activity名称。
进一步的,配置文件为yml文件。
进一步的,应用客户端为车机。
一种用户界面还原度自动测试方法,使用前述的一种用户界面还原度自动测试系统,包括:
步骤A1,连接测试终端和应用客户端,应用客户端上安装有被测软件;
步骤A2,测试终端运行一测试文件,测试文件根据被测软件在应用客户端的应用场景预先进行配置;
步骤A3,根据测试文件,模拟用户在被测软件的用户界面对界面控件的操作,将与每一次操作跳转的用户界面与对应的原始设计图进行差异性比对形成一次比对结果;
步骤A4,测试文件运行完毕,根据所有的比对结果形成最终的测试报告。
本发明的有益技术效果在于:本发明通过设计测试文件自动运行以对应用客户端安装的被测软件的UI界面进行测试,提高测试精度,降低人工成本和时间成本,提高测试效率。
附图说明
图1为本发明一种用户界面的还原度自动测试系统的模块示意图;
图2为本发明一种用户界面的还原度自动测试系统的测试运行模块的一种实施方式的模块示意图;
图3为本发明一种用户界面的还原度自动测试系统的测试运行模块的另一种实施方式的模块示意图;
图4为本发明一种用户界面的还原度自动测试系统的比对单元的模块示意图;
图5为本发明一种用户界面的还原度自动测试方法的步骤流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
参见图1,一种用户界面的还原度自动测试系统,其特征在于,由测试终端执行,包括:
第一配置模块1,用于根据被测软件在应用客户端的应用场景,配置被测软件的测试文件;
测试运行模块2,连接第一配置模块1,用于:
运行测试文件,根据测试文件模拟用户在被测软件的用户界面对界面控件的操作,将与每一次操作跳转的用户界面与对应的原始设计图进行差异性比对形成一次比对结果,测试完毕后根据所有的比对结果形成最终的测试报告。
进一步的,参见图2,还包括:
存储模块3,用于存储被测软件中设计用户界面的原始设计图;
第二配置模块4,连接存储模块3,用于以键值对的形式将需要测试的用户界面的实际运行时的活动名称与对应的原始设计图的名称进行配置,形成配置文件;
测试运行模块2,还分别连接第二配置模块4和存储模块3,包括:
启动单元201,用于运行测试文件;
操作单元202,连接启动单元201,用于根据测试文件模拟用户在被测软件的用户界面对界面控件的操作;
名称获取单元203,连接操作单元202,用于获取根据操作跳转后当前用户界面的活动名称;
第一判断单元204,连接名称获取单元203,用于判断当前运行的用户界面的活动名称在配置文件中是否存在对应的原始设计图的名称,输出第一判断结果;
记录单元205,连接第一判断单元204,用于当第一判断结果为不存在时,记录第一判断结果;
截屏单元206,连接第一判断单元204,用于当第一判断结果为存在时,对当前运行的用户界面进行截屏处理以获取用户界面的实际效果图;
比对单元207,连接截屏单元206,用于将实际效果图和对应的原始设计图进行差异性比对,以获得比对结果;
报告生成单元208,连接比对单元207,用于测试完毕后,根据所有获得的比对结果和实际效果图形成测试报告。
测试文件为excel文件,
将被测软件的业务逻辑按照实际场景进行配置。在测试用例excel文件中将不通的业务逻辑顺序按需要进行配置编写,excel文件中包含事件名称、事件类型、入参、断言标准、页面元素定位信息。运行时,通过程序代码读取excel文件内容将其转化为执行步骤,通过adb shell命令中的adb shell input swipe、adb shell input、adb shell tap命令模拟用户在被测软件的用户界面的操作。每个步骤执行之后通过adb shell获取当前用户界面的Activity名称,并判断该Activity名称是否在desig.xml中存在,存在表示有相应的原始设计图,如果存在,则通过adb shell命令进行屏幕截取,通过adb shell pull将截取的图片从应用客端拉取到测试终端。
形成测试文件后,通过adb shell connect命令将应用客户端与测试终端进行连接,并在应用客户端启动被测软件,进入被测软件的首页。运行测试文件时,自动按照测试文件中业务逻辑的执行顺序模拟用户在被测软件的用户界面的操作,如点击界面控件的点击操作,每一次操作跳转至对应的用户界面,进行截图,然后进行比对。
具体的,首先使用android sdk自带的tools工具中的uiautomator获取用户界面中各个界面控件的location(X,Y坐标),对测试文件进行补充,在运行测试文件时,通过识别用户的操作坐标识别界面控件,从而执行相应的跳转。
进一步的,参见图3,测试运行模块2还包括:
第二判断单元209,连接比对单元207,用于根据比对结果判断实际效果图和对应的原始设计图是否存在差异,输出第二判断结果;
创建单元211,连接第二判断单元209,用于在第二判断结果为存在差异时,根据差异创建bug记录;
发送模块5,连接测试运行模块2,用于将bug记录提交至质量监控管理平台。
在测试过程中,针对每一次的比对结果,如果发现比对记过实际效果图和对应的原始设计图存在差异时,及时创建bug记录,调用质量管理系统接口主动上报问题。
进一步的,测试运行模块2还包括:
标记单元210,连接第二判断单元209,用于在第二判断结果为存在差异时,对实际效果图和对应的原始设计图之间的差异点进行标记;
创建单元211,连接标记单元210,用于根据差异点创建bug记录。
具体的,使用python的open-vc2库进行图片比对,如果图片不一致通过canvas将两张图片的差异点用红色线条绘制在图片上并将结果自动创建Bug提交到质量控制管理平台。
具体的,当所有的用户界面比对完成后通过Html形式将所有的比对结果输出形成UI走查测试报告。
进一步的,参见图4,比对单元207包括:
转换子单元2071,用于分别将实际效果图和对应的原始设计图进行灰度转换;
差异计算子单元2072,连接转换子单元2071,用于计算转换成灰度图片后的实际效果图和对应的原始设计图的相似性指数(SSIM),形成比对结果;
第二判断单元209,用于判断相似性指数是否低于一预设数值,当相似性指数低于预设数值时,则认定实际效果图和对应的原始设计图存在差异。
具体的,使用open-vc2 python库进行图片的灰度转换。进一步的,操作为对界面控件的点击;测试运行模块2使用uiautomator工具获取界面控件的坐标,以进行对应的用户界面的跳转。
进一步的,用户界面的活动名称为Activity名称,通过adb工具获取被测软件的首页的Activity名称以及当前用户界面的Activity名称。
进一步的,配置文件为yml文件。
具体的,将UI设计提供的设计稿上传存储,设计稿包含设计的用户界面的原始设计图,在desig.yml配置文件中将需要测试的用户界面以键值对的形式将原始设计图与测试时实际运行的效果图名称进行手动配置,使得在测试时在用户界面比对阶段可以自动识别对应关系进行对比。
进一步的,应用客户端为车机。
参见图5,本发明还提供一种用户界面的还原度自动测试方法,使用前述的一种用户界面的还原度自动测试系统,包括:
步骤A1,连接测试终端和应用客户端,应用客户端上安装有被测软件;
步骤A2,测试终端运行一测试文件,测试文件根据被测软件在应用客户端的应用场景预先进行配置;
步骤A3,根据测试文件,模拟用户在被测软件的用户界面对界面控件的操作,将与每一次操作跳转的用户界面与对应的原始设计图进行差异性比对形成一次比对结果;
步骤A4,测试文件运行完毕,根据所有的比对结果形成最终的测试报告。
本发明通过设计运行脚本,自动对应用客户端的被测软件的UI设计进行测试,通过模拟用户点击操作,跳转页面后执行截屏操作,将截取的屏幕与原始的设计稿采用计算机程序进行比对,不再使用人工肉眼比对的方式,实现UI精准匹配,提高UI设计还原度测试的效率和精度。
以上仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。

Claims (10)

1.一种用户界面的还原度自动测试系统,其特征在于,由测试终端执行,包括:
第一配置模块,用于根据被测软件在应用客户端的应用场景,配置所述被测软件的测试文件;
测试运行模块,连接所述第一配置模块,用于:
运行所述测试文件,根据所述测试文件模拟用户在所述被测软件的用户界面对界面控件的操作,将与每一次操作跳转的所述用户界面与对应的原始设计图进行差异性比对形成一次比对结果,测试完毕后根据所有的所述比对结果形成最终的测试报告。
2.如权利要求1所述的一种用户界面的还原度自动测试系统,其特征在于,还包括:
存储模块,用于存储所述被测软件中设计所述用户界面的所述原始设计图;
第二配置模块,连接所述存储模块,用于以键值对的形式将需要测试的所述用户界面的实际运行时的活动名称与对应的所述原始设计图的名称进行配置,形成配置文件;
所述测试运行模块,还分别连接所述第二配置模块和所述存储模块,包括:
启动单元,用于运行所述测试文件;
操作单元,连接所述启动单元,用于根据所述测试文件模拟用户在所述被测软件的用户界面对界面控件的操作;
名称获取单元,连接所述操作单元,用于获取根据所述操作跳转后当前所述用户界面的活动名称;
第一判断单元,连接所述名称获取单元,用于判断当前运行的所述用户界面的活动名称在所述配置文件中是否存在对应的所述原始设计图的名称,输出第一判断结果;
记录单元,连接所述第一判断单元,用于当所述第一判断结果为不存在时,记录所述第一判断结果;
截屏单元,连接所述第一判断单元,用于当所述第一判断结果为存在时,对所述当前运行的所述用户界面进行截屏处理以获取所述用户界面的实际效果图;
比对单元,连接所述截屏单元,用于将所述实际效果图和对应的所述原始设计图进行差异性比对,以获得比对结果;
报告生成单元,连接所述比对单元,用于测试完毕后,根据所有获得的所述比对结果和所述实际效果图形成所述测试报告。
3.如权利要求2所述的一种用户界面的还原度自动测试系统,其特征在于,所述测试运行模块还包括:
第二判断单元,连接所述比对单元,用于根据所述比对结果判断所述实际效果图和对应的所述原始设计图是否存在差异,输出第二判断结果;
创建单元,连接所述第二判断单元,用于在第二判断结果为存在差异时,根据所述差异创建bug记录;
发送模块,连接所述测试运行模块,用于将所述bug记录提交至质量监控管理平台。
4.如权利要求3所述的一种用户界面的还原度自动测试系统,其特征在于,所述测试运行模块还包括:
标记单元,连接所述第二判断单元,用于在所述第二判断结果为存在差异时,对所述实际效果图和对应的所述原始设计图之间的差异点进行标记;
创建单元,连接所述标记单元,用于根据所述差异点创建所述bug记录。
5.如权利要求3所述的一种用户界面的还原度自动测试系统,其特征在于,所述比对单元包括:
转换子单元,用于分别将所述实际效果图和对应的所述原始设计图进行灰度转换;
差异计算子单元,连接所述转换子单元,用于计算转换成灰度图片后的所述实际效果图和对应的所述原始设计图的相似性指数,形成所述比对结果;
所述第二判断单元,用于判断所述相似性指数是否低于一预设数值,当所述相似性指数低于所述预设数值时,则认定所述实际效果图和对应的所述原始设计图存在差异。
6.如权利要求1所述的一种用户界面的还原度自动测试系统,其特征在于,所述操作为对所述界面控件的点击;所述测试运行模块使用uiautomator工具获取所述界面控件的坐标,以进行对应的用户界面的跳转。
7.如权利要求2所述的一种用户界面的还原度自动测试系统,其特征在于,所述用户界面的活动名称为Activity名称,通过adb工具获取所述被测软件的首页的Activity名称以及当前所述用户界面的所述Activity名称。
8.如权利要求2所述的一种用户界面的还原度自动测试系统,其特征在于,所述配置文件为yml文件。
9.如权利要求1所述的一种用户界面的还原度自动测试系统,其特征在于,所述应用客户端为车机。
10.一种用户界面还原度的自动测试方法,其特征在于,使用如权利要求1-9任意一项所述的一种用户界面的还原度自动测试系统,包括:
步骤A1,连接测试终端和应用客户端,所述应用客户端上安装有被测软件;
步骤A2,所述测试终端运行一测试文件,所述测试文件根据被测软件在应用客户端的应用场景预先进行配置;
步骤A3,根据所述测试文件,模拟用户在所述被测软件的用户界面对界面控件的操作,将与每一次操作跳转的所述用户界面与对应的原始设计图进行差异性比对形成一次比对结果;
步骤A4,所述测试文件运行完毕,根据所有的所述比对结果形成最终的测试报告。
CN202210211556.XA 2022-03-04 2022-03-04 一种用户界面的还原度自动测试系统和方法 Pending CN114756448A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210211556.XA CN114756448A (zh) 2022-03-04 2022-03-04 一种用户界面的还原度自动测试系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210211556.XA CN114756448A (zh) 2022-03-04 2022-03-04 一种用户界面的还原度自动测试系统和方法

Publications (1)

Publication Number Publication Date
CN114756448A true CN114756448A (zh) 2022-07-15

Family

ID=82324921

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210211556.XA Pending CN114756448A (zh) 2022-03-04 2022-03-04 一种用户界面的还原度自动测试系统和方法

Country Status (1)

Country Link
CN (1) CN114756448A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115328855A (zh) * 2022-10-17 2022-11-11 北京尽微致广信息技术有限公司 文件还原度的评估方法、装置、存储介质和设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115328855A (zh) * 2022-10-17 2022-11-11 北京尽微致广信息技术有限公司 文件还原度的评估方法、装置、存储介质和设备

Similar Documents

Publication Publication Date Title
CN109086203B (zh) 页面的检测方法和装置
CN109857663B (zh) 关键字驱动与图像相似度结合的自动化测试平台
KR20210148326A (ko) 자동 판별 처리 장치, 자동 판별 처리 방법, 검사 시스템, 프로그램 및 기록매체
CN112579455B (zh) 一种接口自动化测试方法、装置、电子设备及存储介质
CN105354138A (zh) 一种确定手机页面上特定控件属性的方法
CN114756448A (zh) 一种用户界面的还原度自动测试系统和方法
CN114253841A (zh) 测试脚本生成方法、装置及存储介质
CN112015634A (zh) 页面结构信息生成方法、装置和电子设备
CN113887442A (zh) Ocr训练数据生成方法、装置、设备及介质
CN111817916A (zh) 基于移动终端集群的测试方法、装置、设备和存储介质
CN112433942A (zh) 基于人工智能模型的软件自动化测试方法、装置和系统
CN112416735A (zh) 一种应用程序检测方法、装置及终端设备、存储介质
CN112289345B (zh) 一种可视化智能终端语音诊断的方法
CN116126568B (zh) 故障复现方法、装置、设备和可读存储介质
CN115827435A (zh) 前端性能测试方法、电子设备及计算机可读存储介质
CN112231234B (zh) 跨平台用户界面自动化测试方法、装置、设备和存储介质
CN115114152A (zh) 基于控件属性和图像识别的自动化测试方法、系统、电子设备及存储介质
CN113792017A (zh) 一种校验导入excel的模板内容的方法和系统
CN114742522A (zh) 一种勘察设计图自动对比方法、系统、装置及存储介质
US11070716B2 (en) Image sensor system, image sensor, data generation method of image sensor in image sensor system, and non-transitory computer-readable recording medium
CN109840203B (zh) 一种基于消息映射的vr自动化测试方法
CN112395201A (zh) Ats测试方法及装置
CN113495844B (zh) 基于虚拟点击的自动化测试方法、装置、系统及存储介质
CN111949510A (zh) 测试处理方法、装置、电子设备及可读存储介质
CN114896148A (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