CN114297057A - 一种自动化测试用例的设计及使用方法 - Google Patents
一种自动化测试用例的设计及使用方法 Download PDFInfo
- Publication number
- CN114297057A CN114297057A CN202111584886.5A CN202111584886A CN114297057A CN 114297057 A CN114297057 A CN 114297057A CN 202111584886 A CN202111584886 A CN 202111584886A CN 114297057 A CN114297057 A CN 114297057A
- Authority
- CN
- China
- Prior art keywords
- test case
- case
- automatic test
- test
- fragment
- 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
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种自动化测试用例的设计及使用方法,设计方法包括获取用户的输入信息,比对关键字库,确定与所述输入信息对应的关键字;查找与所述关键字关联的用例片段,将所述用例片段进行拼接,形成待执行测试用例。本发明通过描述性自然语言设计出的自动化测试用例,基于关键字驱动自动化测试,实施人员无需代码功底,根据被测系统界面显示文字或图片即可实现自动化测试用例开发,通过拼接用例片段设计生成自动化测试用例,降低自动化测试用例维护工作量投入,UI发生变化时只需要在最原始用例片段中优化即可达到在案例级别的生效,极大节省了自动化测试用例维护工作量。
Description
技术领域
本发明涉及全栈自动化测试技术领域,尤其是一种自动化测试用例的设计及使用方法。
背景技术
UI(界面设计)自动化测试实施门槛较高,不仅要求实施人员熟练掌握业务还需要学习自动化测试脚本开发,由于被测产品UI会随着不同版本而变化,这将导致已实施的自动化测试用例适配修改工作量较大,大量工作量投入到测试用例维护上就失去了自动化测试原本的意义,设计自动化测试用例时很难排查哪一步骤由于设计问题导致失败。
目前采用基于固定算法、按相似度等规则自动生成用例片段形式,这种方式不能够根据被测系统业务规则和流程自由设计片段拼装成测试用例,使得现有技术较为僵硬,不够灵活,在进行实际检测的时候需要繁琐的进行多次式测试,极大的浪费了人力资源和时间,使用较为不便。
发明内容
本发明提供了一种自动化测试用例的设计及使用方法,用于解决现有测试用例的设计方式浪费资源且使用不便的问题。
为实现上述目的,本发明采用下述技术方案:
本发明第一方面提供了一种自动化测试用例的设计方法,所述设计方法包括以下步骤:
获取用户的输入信息,比对关键字库,确定与所述输入信息对应的关键字;
查找与所述关键字关联的用例片段,将所述用例片段进行拼接,形成待执行测试用例。
进一步地,所述关键字包括操作类型、被操作元素和数据。
进一步地,所述操作类型包括元素点击、坐标点击、普通输入、密码键盘输入、鼠标悬浮、输出、结果验证、条件分支、循环操作、手势滑动和执行SQL。
进一步地,所述被操作元素为操作类型对应的属性值,所述属性值通过用户输入的被操作元素显示的文本值或元素截图获取。
进一步地,所述数据根据业务类型,划分为多个数据池,测试用例使用的数据通过对应的数据池获取。
进一步地,所述用例片段中包括当前片段下对应的测试步骤。
进一步地,所述用例片段为可编辑片段,在业务流程发生变化时,对所述用例片段进行修改。
本发明第二方面提供了一种自动化测试用例的使用方法,基于形成的所述待执行测试用例,所述使用方法包括以下步骤:
将所述待执行测试用例拼接测试数据发送至执行机;
响应于执行机端的选择,对所述待执行测试用例进行执行操作或调试操作。
进一步地,所述执行操作具体为:
按照测试用例中预设顺序执行,将执行结果返回服务端。
进一步地,所述调试操作的具体过程为:
获取用户选择的测试步骤,执行测试用例至该步骤后停止执行,并等待调试指令;
执行所述调试指令指定的步骤,基于用户的选择,将测试结果及日志文件回传服务器。
发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:
1、本发明通过描述性自然语言设计出的自动化测试用例,基于关键字驱动自动化测试,实施人员无需代码功底,根据被测系统界面显示文字或图片即可实现自动化测试用例开发,通过拼接用例片段设计生成自动化测试用例,降低自动化测试用例维护工作量投入,UI发生变化时只需要在最原始用例片段中优化即可达到在案例级别的生效,极大节省了自动化测试用例维护工作量。
2、对于生成的测试用例,其用例片段可编辑,能够实现测试案例级别单步骤调试功能,可以在任一步骤节点执行启停,并且可以显示详细执行日志及报错信息,便于非研发人员快速定位案例设计缺陷。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明所述设计方法的流程示意图;
图2是本发明所述使用方法的流程示意图;
图3是本发明所述使用方法其一实现方式的流程示意图。
具体实施方式
为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
如图1所示,本发明实施例提供了一种自动化测试用例的设计方法,包括以下步骤:
S11,获取用户的输入信息,比对关键字库,确定与所述输入信息对应的关键字;
S12,查找与所述关键字关联的用例片段,将所述用例片段进行拼接,形成待执行测试用例。
步骤S1中,所述关键字包括操作类型、被操作元素和数据。在步骤S1的操作之前生成关键字库,封装关键字对应到自然语言。
操作类型模拟常见Windows端和MacOS端鼠标键盘操作以及手机端手势操作;如下为常见操作类型:
(1)元素点击:对应代码层Click、DoubleClick操作;
(2)坐标点击:对应代码层PositionClick操作;
(3)普通输入:对应代码层Input操作,适用于普通键盘;
(4)密码键盘输入:对应代码层InputSecurityKeyboard,针对特殊密码键盘进行处理;
(5)鼠标悬浮:对应代码层MouseHover操作;
(6)输出,对应代码层Output,主要针对页面输出显示信息;
(7)结果验证:对应代码层ResultVerification,包括页面信息验证和后台数据库验证;
(8)条件分支,对应代码层If-Else、If-ElseIf-Else操作;
(9)循环操作,对应代码层While、For循环操作;
(10)手势操作:对应代码层GestureOperation操作,针对手机端手势连续操作;
(11)手势滑动:对应代码层GestureSlide操作,针对手机端手势滑动操作;
(12)执行SQL:配置SQL语句与对应数据库执行相应SQL并返回结果;
上述操作类型,是基于人工测试轨迹,尽可能全面覆盖操作类型,选取出的常用且兼容性较强的操作类型集,实施人员在设计界面模糊输入操作类型即可关联出最佳操作类型,经过大量数据探索与操作类型检验其有效性和便捷性,最终形成常用操作类型库。
根据自动化测试对被操作元素识别方式总结归纳有以下常用方式:ID、Name、Class、Xpath、List、iOS-Predictate等,为避免用户需要跟页面代码拼写被操作元素的各种识别属性值,降低案例实施难度,用户只需在自动化测试用例设计界面输入被操作元素显示的文本值或者元素截图,代码层会根据页面显示文本、截图反推其可识别的属性值;
测试数据是保证自动化测试案例顺利实施必不可少的部分,根据业务不同划分多个数据集,以数据池形式展示,支持通过后台SQL查询数据库存量数据、调取业务接口创建全新数据等方式获得所需测试数据,通过Elasticsearch非关系型数据库存储复杂测试数据,采用Restful API标准通过http接口使用JSON格式进行操作数据,实现更高效的实时数据分析的全文搜索。
步骤S2中,以登录-退出测试用例为例,进行说明:
步骤1:打开APP;
步骤2:点击按钮[用户登录];
步骤3:输入[手机号];
步骤4:输入[登录密码];
步骤5:点击按钮[登录];
步骤6:点击按钮[个人信息];
步骤7:点击按钮[退出登录];
步骤8:点击按钮[确定];
将步骤2-步骤5设计为片段P1-登录,将步骤P6-步骤8设计为片段P2-退出,所述用例片段中包括当前片段下对应的测试步骤在片段P1-登录中增加对应的步骤:步骤1下拉框选中步骤类型点击,被操作对象输入[用户登录],步骤2下拉框选中步骤类型输入,被操作对象输入[手机号]且配置登录时需要的手机号所在的数据池信息,步骤3下拉框选中步骤类型输入,被操作对象输入[登录密码]且配置登录时需要的登录密码所在的数据池信息,步骤4下拉框选中步骤类型点击,被操作对象输入[登录],片段P2-退出设计过程同P1-登录;在测试用例中分别引入片段P1与片段P2,测试用例执行。
在获取到用户输入的自然语言(如输入[手机号])后,对比关键字库,筛选出关联的字段,如上P1、P2,将P1与P2进行拼接,即得到上文所述的登录-退出测试用例。
所述用例片段为可编辑片段,在业务流程发生变化时,对所述用例片段进行修改。
如图2所示,本发明实施例还提供了一种自动化测试用例的使用方法,基于上述实施例形成的所述待执行测试用例,所述使用方法包括以下步骤:
S21,将所述待执行测试用例拼接测试数据发送至执行机;
S22,响应于执行机端的选择,对所述待执行测试用例进行执行操作或调试操作。
如图3所示,执行机的执行方式包括执行模式和调试模式,响应于用户的选择,分别进行执行操作和调试操作。
当用户选择执行模式时,对应的执行操作具体为:按照测试用例中预设顺序执行,将执行结果(测试执行任务完成或执行失败)返回服务端。
当用户选择调试模式时,响应于用户通过电机按钮选择的步骤,执行测试用例至该步骤后停止执行,并等待调试指令;响应于用户通过点击按钮选择执行步骤(上一步或下一步)执行所述调试指令指定的步骤,在测试执行完成或执行失败后,基于用户的选择,将测试结果及日志文件回传服务器。
向执行机发送待执行测试用例的步骤中通过任务调度管理平台进行分布式调度。从而能够实时监控各执行机类型与状态智能化调度执行自动化测试用例,可以根据业务需要串连不同平台之间自动化测试用例,使得测试设备得到高效利用。
向执行机发送待执行测试用例的步骤中通过http、https和TCP协议使得Android、IOS、Windows、MacOS之间能够进行跨平台通讯。
通过以JSON报文形式传输,对于敏感信息(例如密码、数据库连接信息等)需要密文传输,报文头是整个报文的描述,通常包括包起始标志、协议版本号、包大小、加密选项、验证码等;报文体是具体传输的内容;报文尾是可选项,将每种协议编制成一个动态链接库,编制协议解析框架时,规范统一的接口,动态链接库实现这些接口,从而将跨平台的多种协议转换成一种协议。
向执行机发送待执行用例的步骤中自动记录自动化测试用例执行过程。
通过自动化测试平台可以将自动记录的自动化测试用例执行过程实时展示各执行机执行界面。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
Claims (10)
1.一种自动化测试用例的设计方法,其特征是,所述设计方法包括以下步骤:
获取用户的输入信息,比对关键字库,确定与所述输入信息对应的关键字;
查找与所述关键字关联的用例片段,将所述用例片段进行拼接,形成待执行测试用例。
2.根据权利要求1所述自动化测试用例的设计方法,其特征是,所述关键字包括操作类型、被操作元素和数据。
3.根据权利要求2所述自动化测试用例的设计方法,其特征是,所述操作类型包括元素点击、坐标点击、普通输入、密码键盘输入、鼠标悬浮、输出、结果验证、条件分支、循环操作、手势滑动和执行SQL。
4.根据权利要求2所述自动化测试用例的设计方法,其特征是,所述被操作元素为操作类型对应的属性值,所述属性值通过用户输入的被操作元素显示的文本值或元素截图获取。
5.根据权利要求2所述自动化测试用例的设计方法,其特征是,所述数据根据业务类型,划分为多个数据池,测试用例使用的数据通过对应的数据池获取。
6.根据权利要求1所述自动化测试用例的设计方法,其特征是,所述用例片段中包括当前片段下对应的测试步骤。
7.根据权利要求6所述自动化测试用例的设计方法,其特征是,所述用例片段为可编辑片段,在业务流程发生变化时,对所述用例片段进行修改。
8.一种自动化测试用例的使用方法,基于权利要求1-7任一项形成的所述待执行测试用例,其特征是,所述使用方法包括以下步骤:
将所述待执行测试用例拼接测试数据发送至执行机;
响应于执行机端的选择,对所述待执行测试用例进行执行操作或调试操作。
9.根据权利要求8所述自动化测试用例的使用方法,其特征是,所述执行操作具体为:
按照测试用例中预设顺序执行,将执行结果返回服务端。
10.根据权利要求8所述自动化测试用例的使用方法,其特征是,所述调试操作的具体过程为:
获取用户选择的测试步骤,执行测试用例至该步骤后停止执行,并等待调试指令;
执行所述调试指令指定的步骤,基于用户的选择,将测试结果及日志文件回传服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111584886.5A CN114297057A (zh) | 2021-12-22 | 2021-12-22 | 一种自动化测试用例的设计及使用方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111584886.5A CN114297057A (zh) | 2021-12-22 | 2021-12-22 | 一种自动化测试用例的设计及使用方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114297057A true CN114297057A (zh) | 2022-04-08 |
Family
ID=80970427
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111584886.5A Pending CN114297057A (zh) | 2021-12-22 | 2021-12-22 | 一种自动化测试用例的设计及使用方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114297057A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115145464A (zh) * | 2022-07-28 | 2022-10-04 | 重庆长安汽车股份有限公司 | 一种页面测试方法、装置、电子设备及存储介质 |
-
2021
- 2021-12-22 CN CN202111584886.5A patent/CN114297057A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115145464A (zh) * | 2022-07-28 | 2022-10-04 | 重庆长安汽车股份有限公司 | 一种页面测试方法、装置、电子设备及存储介质 |
CN115145464B (zh) * | 2022-07-28 | 2023-07-18 | 重庆长安汽车股份有限公司 | 一种页面测试方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110764753B (zh) | 一种业务逻辑代码生成方法、装置、设备及存储介质 | |
CN110018955B (zh) | 通过转换手动测试用例来生成自动化测试脚本 | |
CN108108297B (zh) | 自动化测试的方法和装置 | |
US20090271351A1 (en) | Rules engine test harness | |
US10789049B2 (en) | Recipe program code generation method and recipe compiling cloud platform system | |
CN110389896A (zh) | 代码自动化分析和测试方法、装置及计算机可读存储介质 | |
CN106227654B (zh) | 一种测试平台 | |
US20170220613A1 (en) | Systems and methods for database orientation transformation | |
CN109408763B (zh) | 一种对不同模板的简历进行管理的方法及系统 | |
WO2017044069A1 (en) | Automatic regression identification | |
CN108062276A (zh) | 测试用例的生成方法及装置和测试报告的生成方法及装置 | |
CN113590454A (zh) | 测试方法、装置、计算机设备和存储介质 | |
WO2017023299A1 (en) | Composing future tests | |
CN113064811B (zh) | 基于工作流的自动化测试方法、装置以及电子设备 | |
CN114297057A (zh) | 一种自动化测试用例的设计及使用方法 | |
CN118113271A (zh) | 基于大模型的代码生成方法、系统、终端及介质 | |
CN113157554A (zh) | 一种软件自动化做题测试方法以及相关设备 | |
CN116088846A (zh) | 一种持续集成代码格式的处理方法、相关装置及设备 | |
CN117632710A (zh) | 测试代码的生成方法、装置、设备及存储介质 | |
CN117033249A (zh) | 一种测试用例生成方法、装置、计算机设备及存储介质 | |
CN109684207B (zh) | 操作序列封装的方法、装置、电子设备及存储介质 | |
CN116610558A (zh) | 代码检测方法、装置、电子设备及计算机可读存储介质 | |
US11544179B2 (en) | Source traceability-based impact analysis | |
CN115469860A (zh) | 基于指令集的需求到软件领域模型的自动生成方法及系统 | |
US9996799B2 (en) | Migrating a legacy system by inferring context-sensitive business rules from legacy source code |
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 |