CN115543847A - 一种基于ui设计稿自动生成测试用例的方法 - Google Patents
一种基于ui设计稿自动生成测试用例的方法 Download PDFInfo
- Publication number
- CN115543847A CN115543847A CN202211345305.7A CN202211345305A CN115543847A CN 115543847 A CN115543847 A CN 115543847A CN 202211345305 A CN202211345305 A CN 202211345305A CN 115543847 A CN115543847 A CN 115543847A
- Authority
- CN
- China
- Prior art keywords
- test
- layer
- component
- design
- design draft
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/368—Test management for test version control, e.g. updating test cases to a new software version
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种基于UI设计稿自动生成测试用例的方法,通过采取一种统一定位的方式进行UI元素的准确定位,解决了UI控件元素需要采取多种定位模式的问题,减少了测试工程师开发工作量,提高了自动化测试效率,保证了产品的质量。
Description
技术领域
本发明涉及自动化测试技术领域,尤其涉及一种基于UI设计稿自动生成测试用例的方法。
背景技术
UI自动化测试是一种从用户角度出发,发现问题,提高产品质量的一种技术;可以替代大量手工机械性重复操作,适用于逻辑与用户界面捆绑的核心模块、以及基本用户场景和验收测试等,对于测试人员有很大帮助作用,可以大幅提升回归测试的效率,非常适合敏捷开发。
在实际工作中,由于UI控件的可变性、复杂性,无法采用一种统一的定位方法对UI元素进行准确定位。目前常规采用多种定位模式的方法,例如一个按钮的点击,可以获取多个id进行定位,但针对大量的UI控件,采取该种方式,测试工程师开发工作量大,不利于自动化代码的维护。
发明内容
本发明采用设计稿生成测试用例的方法,解决了对UI控件元素统一定位模式的问题。
本发明通过以下技术方案来实现上述目的:
一种基于UI设计稿自动生成测试用例的方法,包括以下步骤:
步骤1,制定设计稿规范计划,将设计稿的标准化;
步骤2,进行设计稿可视化干预,将不标准的设计稿转化成规范的设计稿图层后,再输入组件识别算法,提高算法的精确度;
步骤3,设计稿经过可视化干预后,将干预后的设计稿按业务页面导入事先创建的测试素材基础库;
步骤4,对测试素材进行组件识别;将图层转化为文字、图片、进度条、评分组件、价格组件、角标等组件类型;
步骤5,组件识别完成后,对组件进行分类,根据分类,生成页面UI元素模板,以便于后续快速查找调用;
组件识别工作完成后,对识别的组件进行分类,包括button、text、search bar、image、message,然后根据分类,生成对应的页面UI元素模板,以备后续执行测试使用;
步骤6,测试UI分层设计,包括组件层、逻辑层、用例层;
步骤7:根据UI分层设计思路,生成测试用例,完成测试用例的编写生成,并执行校验结果,最后生成测试报告。
进一步方案为,所述步骤1中,标准化为对设计稿的按钮、文字、图标、列表、背景色、线条之类的设计元素,以及自身属性做出规范要求。
进一步方案为,所述步骤2中,干预处理包括:首先,图层没有合并,通过工具将冗余的图层进行合并,或者删除处理;其次,图层位置重叠,利用检测工具统一修复;最后,复杂背景的问题,采取边干预边生成的手动方式进行操作修改。
进一步方案为,所述步骤3中,创建测试设计稿基础素材库,并按照业务页面进行分类,将经过可视化干预的设计稿分别导入对应的素材库中,以便后续对设计稿组件的识别使用提取。
进一步方案为,所述步骤4中,将图层识别为文字或者图片,采用识别组件的方法;从测试素材库中,提取业务页面,根据设计稿约定的相关规范等,将图层中的组件、组件属性等显性标记出来;
识别组件,进行自动化的特征提取,目标检测找到组件的信息,包括类别、位置、大小等,或使用深度学习目标检测手段来自动化解决识别组件;找到组件中的属性,利用标准工具,在可视化页面,调整组件标记。
进一步方案为,所述步骤6中,组件层,将UI元素模板导入组件层,封装元素的定位以及操作方式,将页面的定位方式抽象出来,后续页面元素的交互只需要通过调用组件层的函数;
逻辑层,针对高频率使用以及复杂的业务流程,操作组件层把业务逻辑进行封装,也方便测试人员将自己的模块逻辑封装好了给他人使用;
用例层,即编写测试用例,通过调用业务逻辑层来进行编写,或调用组件层进行实现。
进一步方案为,所述步骤7中,把测试期望的业务流程作为基准线,在测试流程中添加检查点,每一次的测试用例执行与基准线中的检查点进行对比,最终做出通过或失败的断言;
将所有测试用例的执行结果汇总,统计成功和失败率,失败原因等,自动生成测试报告,并通知相关人员。
本发明的有益效果在于:
本发明的一种基于UI设计稿自动生成测试用例的方法,通过采取一种统一定位的方式进行UI元素的准确定位,解决了UI控件元素需要采取多种定位模式的问题,减少了测试工程师开发工作量,提高了自动化测试效率,保证了产品的质量。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要实用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明UI设计稿自动生成测试用例流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。
在任一实施例中,如图1所示,本发明的一种基于UI设计稿自动生成测试用例的方法,包括:
步骤1:制定设计稿规范计划,来达到设计稿的统一标准化。设计稿作为输入源是设计稿自动转用例的基础,这对设计稿的设计规范要求较高,标准的设计稿,可以极大地提升算法的准确率;
在实际项目中,为实现描述一个组件的视觉效果,往往会出现叠加图层、冗余图层,图片嵌套文本图层等,会干扰后续对组件的识别。因此需要制定一套设计稿规范计划,来尽量使设计图满足一定的规范标准。对设计稿的按钮、文字、图标、列表、背景色、线条等设计元素,以及自身属性做出规范要求。
步骤二:进行设计稿可视化干预,可视化干预是一个重要的环节,将部分不标准的设计稿转化成规范的设计稿图层后,再输入组件识别算法,能够提高算法的精确度;
对设计稿按尺寸分类,删除不规范的图片,利用图片相似度检测工具对图片去重,然后归档保存;
对归档后部分不标准设计稿图层没有合并、图层位置重叠、复杂背景图层等,对设计稿进行可视化干预处理。具体如下采取不同的干预处理:首先,图层没有合并,通过工具将冗余的图层进行一个迅速的合并,或者删除处理。对于工具不能识别的部分,仍然需要靠人工进行图层删除、合并等。其次,图层位置重叠,利用相关检测工具,对设计稿中这类问题进行一个统一修复。最后,针对复杂背景的问题,采取边干预边生成的手动方式进行操作修改即可。
步骤三:设计稿经过可视化干预后,将干预后的设计稿按业务页面导入事先创建的测试素材基础库;
创建测试设计稿基础素材库,并按照业务页面进行分类,将经过可视化干预的设计稿分别导入对应的素材库中,以便后续对设计稿组件的识别使用提取。
步骤四:对测试素材进行组件识别。图层中包含有图片、文字、矩形等基本类型,在组件识别这一步中,需将图层转化为文字、图片、进度条、评分组件、价格组件、角标等日常开发使用的组件类型;
将图层识别为文字或者图片等,采用识别组件的方法;从测试素材库中,提取业务页面,根据设计稿约定的相关规范等,例如根据图层命名规范,将图层中的组件、组件属性等显性标记出来;
识别组件,进行自动化的特征提取,目标检测找到组件的信息,包括类别、位置、大小等,亦可使用深度学习目标检测手段来自动化解决识别组件。最后,找到组件中的属性,比如button按钮里的文本为“登录”,只需要根据json树来解析组件的子元素即可。针对一些识别不友好的组件,通过人工进行标注,利用标准工具,在可视化页面,调整组件标记。
步骤五:组件识别完成后,对组件进行分类,根据分类,生成页面UI元素模板,以便于后续快速查找调用;
组件识别工作完成后,对识别的组件进行分类,具体包括button、text、searchbar、image、message等,然后根据分类,生成对应的页面UI元素模板,以备后续执行测试使用,提高效率。
步骤六:测试UI分层设计,设计包含组件层、逻辑层、用例层3个,相较于传统的页面层和用例层,执行效率更高;
组件层,将UI元素模板导入组件层,封装元素的定位以及操作方式,尽量将页面的定位方式抽象出来,后续页面元素的交互只需要通过调用组件层的函数即可,加快了定位速度;
逻辑层,针对高频率使用以及复杂的业务流程,操作组件层把业务逻辑进行封装,也方便测试人员将自己的模块逻辑封装好了给他人使用;
用例层,即编写测试用例,大部分情况下通过调用业务逻辑层来进行编写,小部分情况调用组件层进行实现。
步骤七:根据UI分层设计思路,生成测试用例,完成测试用例的编写生成,并执行校验结果,最后生成测试报告;
把测试期望的业务流程作为基准线,在测试流程中添加检查点,每一次的测试用例执行与基准线中的检查点进行对比,最终做出通过或失败的断言;
将所有测试用例的执行结果汇总,统计成功和失败率,失败原因等,自动生成测试报告,并通知相关人员。
在按照以上步骤方法执行后,解决了UI控件元素采取多种定位模式的问题。减少测试工程师维护自动化代码工作量,提高了测试执行效率,产品质量得到保证。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明的思想,其同样应当视为本发明所公开的内容。
Claims (7)
1.一种基于UI设计稿自动生成测试用例的方法,其特征在于,包括以下步骤:
步骤1,制定设计稿规范计划,将设计稿的标准化;
步骤2,进行设计稿可视化干预,将不标准的设计稿转化成规范的设计稿图层后,再输入组件识别算法,提高算法的精确度;
步骤3,设计稿经过可视化干预后,将干预后的设计稿按业务页面导入事先创建的测试素材基础库;
步骤4,对测试素材进行组件识别;将图层转化为文字、图片、进度条、评分组件、价格组件、角标等组件类型;
步骤5,组件识别完成后,对组件进行分类,根据分类,生成页面UI元素模板;
组件识别工作完成后,对识别的组件进行分类,包括button、text、search bar、image、message,然后根据分类,生成对应的页面UI元素模板,以备后续执行测试使用;
步骤6,测试UI分层设计,包括组件层、逻辑层、用例层;
步骤7:根据UI分层设计结果,生成测试用例,完成测试用例的编写生成,并执行校验结果,最后生成测试报告。
2.如权利要求1所述的一种基于UI设计稿自动生成测试用例的方法,其特征在于,所述步骤1中,标准化为对设计稿的按钮、文字、图标、列表、背景色、线条之类的设计元素,以及自身属性做出规范要求。
3.如权利要求1所述的一种基于UI设计稿自动生成测试用例的方法,其特征在于,所述步骤2中,干预处理包括:首先,图层没有合并,通过工具将冗余的图层进行合并,或者删除处理;其次,图层位置重叠,利用检测工具统一修复;最后,复杂背景的问题,采取边干预边生成的手动方式进行操作修改。
4.如权利要求1所述的一种基于UI设计稿自动生成测试用例的方法,其特征在于,所述步骤3中,创建测试设计稿基础素材库,并按照业务页面进行分类,将经过可视化干预的设计稿分别导入对应的素材库中,以便后续对设计稿组件的识别使用提取。
5.如权利要求1所述的一种基于UI设计稿自动生成测试用例的方法,其特征在于,所述步骤4中,将图层识别为文字或者图片,采用识别组件的方法;从测试素材库中,提取业务页面,根据设计稿约定的相关规范,将图层中的组件、组件属性等显性标记出来;
识别组件,进行自动化的特征提取,目标检测找到组件的信息,包括类别、位置、大小等,或使用深度学习目标检测手段来自动化解决识别组件;找到组件中的属性,利用标准工具,在可视化页面,调整组件标记。
6.如权利要求1所述的一种基于UI设计稿自动生成测试用例的方法,其特征在于,所述步骤6中,组件层,将UI元素模板导入组件层,封装元素的定位以及操作方式,将页面的定位方式抽象出来,后续页面元素的交互只需要通过调用组件层的函数;
逻辑层,针对高频率使用以及复杂的业务流程,操作组件层把业务逻辑进行封装;
用例层,即编写测试用例,通过调用业务逻辑层来进行编写,或调用组件层进行实现。
7.如权利要求1所述的一种基于UI设计稿自动生成测试用例的方法,其特征在于,所述步骤7中,把测试期望的业务流程作为基准线,在测试流程中添加检查点,每一次的测试用例执行与基准线中的检查点进行对比,最终做出通过或失败的断言;
将所有测试用例的执行结果汇总,统计成功和失败率,失败原因等,自动生成测试报告,并通知相关人员。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211345305.7A CN115543847A (zh) | 2022-10-31 | 2022-10-31 | 一种基于ui设计稿自动生成测试用例的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211345305.7A CN115543847A (zh) | 2022-10-31 | 2022-10-31 | 一种基于ui设计稿自动生成测试用例的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115543847A true CN115543847A (zh) | 2022-12-30 |
Family
ID=84718941
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211345305.7A Pending CN115543847A (zh) | 2022-10-31 | 2022-10-31 | 一种基于ui设计稿自动生成测试用例的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115543847A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117591438A (zh) * | 2024-01-19 | 2024-02-23 | 易方信息科技股份有限公司 | 一种ui组件原子化的自动化测试方法及相关装置 |
-
2022
- 2022-10-31 CN CN202211345305.7A patent/CN115543847A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117591438A (zh) * | 2024-01-19 | 2024-02-23 | 易方信息科技股份有限公司 | 一种ui组件原子化的自动化测试方法及相关装置 |
CN117591438B (zh) * | 2024-01-19 | 2024-05-14 | 易方信息科技股份有限公司 | 一种ui组件原子化的自动化测试方法及相关装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108763068B (zh) | 一种基于机器学习的自动化测试方法及终端 | |
JP6710483B2 (ja) | 損害賠償請求書類の文字認識方法、装置、サーバ及び記憶媒体 | |
CN110275834B (zh) | 用户界面自动化测试系统及方法 | |
JP2022514155A (ja) | ソフトウェアテスト | |
CN109684803B (zh) | 基于手势滑动的人机验证方法 | |
CN113255614A (zh) | 一种基于视频分析的rpa流程自动生成方法与系统 | |
CN110309073B (zh) | 移动应用程序用户界面错误自动化检测方法、系统及终端 | |
CN107862327B (zh) | 一种基于多特征的安全缺陷识别系统和方法 | |
CN110765639A (zh) | 一种电气仿真建模方法、装置及可读存储介质 | |
CN109446689A (zh) | 直流换流站二次系统图纸识别方法及系统 | |
CN106919612A (zh) | 一种上线结构化查询语言脚本的处理方法及装置 | |
CN110543422B (zh) | 一种用于fpr的软件包代码缺陷数据处理方法、系统及介质 | |
CN110427487A (zh) | 一种数据标注方法、装置及存储介质 | |
CN109857645A (zh) | 一种针对应用程序的自动化测试方法及装置 | |
CN115543847A (zh) | 一种基于ui设计稿自动生成测试用例的方法 | |
CN113485160A (zh) | 一种基于图形匹配识别的仿真建模方法及装置 | |
CN106845467A (zh) | 基于光学字符识别技术的航空维修工卡工作内容识别方法 | |
CN109086985B (zh) | 面向航天器总装的专业测试信息管理系统 | |
CN112084103B (zh) | 界面测试方法、装置、设备和介质 | |
CN116820996A (zh) | 基于人工智能的集成测试用例自动生成方法和装置 | |
WO2022110578A1 (zh) | 一种片上仿真信息实时提取方法 | |
CN113918165A (zh) | 文字描述式流程说明编译为应用自动操作脚本方法及系统 | |
CN117573006B (zh) | 用于rpa屏幕界面元素批量拾取的方法及系统 | |
Cheng et al. | Research on recognition method of interface elements based on machine learning | |
CN111353335A (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 |