CN102567193B - 测试用例转化为自动化测试脚本的方法及*** - Google Patents
测试用例转化为自动化测试脚本的方法及*** Download PDFInfo
- Publication number
- CN102567193B CN102567193B CN201010593948.4A CN201010593948A CN102567193B CN 102567193 B CN102567193 B CN 102567193B CN 201010593948 A CN201010593948 A CN 201010593948A CN 102567193 B CN102567193 B CN 102567193B
- Authority
- CN
- China
- Prior art keywords
- code
- test case
- test
- script
- test script
- 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.)
- Active
Links
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明公开了一种测试用例转化为自动化测试脚本的方法,包括:S1:读取用户编写的测试用例,所述测试用例中的操作命令以关键字与代码映射表中关键字命名;S2:根据测试用例中的关键字在关键字与代码映射表中查找对应的测试脚本代码,并生成自动化测试脚本;S3:验证所述自动化测试脚本的代码完整性,使自动化测试脚本的代码符合自动化测试工具代码规范的代码。本发明实现了测试用例到自动化测试脚本的自动转化,提高了自动化测试的效率,降低了资源消耗和维护复杂度。
Description
技术领域
本发明涉及自动化测试技术领域,特别涉及一种测试用例转化为自动化测试脚本的方法及***。
背景技术
在自动化测试领域中,自动化测试脚本的开发一般有两种方法,一种是通过手工运行一次测试,同时使用自动化测试工具的录制功能,把所进行的操作记录下来,生成测试脚本。这种技术生成的脚本回放成功率比较低,后期维护也比较困难。第二种方法是编写测试框架,对测试需要的基础操作提供接口供调用,测试人员根据用例操作需求,手工编写调用接口的自动化测试脚本,这种方法对测试人员的代码水平要求很高。
目前自动化测试中,测试人员编写完用例以后,还需要脚本开发人员单独编写一条针对此用例的自动化测试脚本,然后使用自动化测试工具运行脚本进行测试。当测试用例变更后,还需要重新编写这条测试脚本,资源耗费比较大。测试用例和测试脚本之间的维护比较复杂。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何将测试用例自动地转化为自动化测试脚本,以减小资源消耗及测试用例和测试脚本之间的维护。
(二)技术方案
为解决上述技术问题,本发明提供了一种测试用例转化为自动化测试脚本的方法,包括以下步骤:
S1:读取用户编写的测试用例,所述测试用例中的操作命令以关 键字与代码映射表中关键字命名;
S2:根据测试用例中的关键字在关键字与代码映射表中查找对应的测试脚本代码,并生成自动化测试脚本;
S3:验证所述自动化测试脚本的代码完整性,使自动化测试脚本的代码符合自动化测试工具代码规范的代码。
其中,所述步骤S3具体包括:
S3.1:添加测试用例信息,包括:测试用例名称和ID;
S3.2:在所述自动化测试脚本的外层添加异常处理代码;
S3.3:验证步骤S3.2之后的自动化测试脚本是否有语法和编写错误,若验证不通过,则进行修改,若通过,则生成最终的自动化测试脚本。
其中,所述步骤异常处理代码为try-catch代码。
其中,所述步骤S1之前还包括:
连接测试用例管理工具,所述测试用例管理工具中存储有用户编写的测试用例。
本发明还提供了一种测试用例转化为自动化测试脚本的***,包括:
测试用例获取模块,用于读取用户编写的测试用例,所述测试用例中的操作命令以关键字与代码映射表中关键字命名;
测试脚本生成模块,用于根据测试用例中的关键字在关键字与代码映射表中查找对应的测试脚本代码,并生成自动化测试脚本;
完整性验证模块,用于验证所述自动化测试脚本的代码完整性,使自动化测试脚本的代码符合自动化测试工具代码规范的代码。
其中,所述完整性验证模块包括:
测试用例信息添加模块,用于添加测试用例信息,包括:测试用例名称和ID;
异常处理代码添加模块,用于在所述自动化测试脚本的外层添加 异常处理代码;
错误验证模块,用于验证异常处理代码添加模块处理后的自动化测试脚本是否有语法和编写错误,若验证不通过,则进行修改,若通过,则生成最终的自动化测试脚本。
(三)有益效果
本发明通过关键字与代码映射表中的映射关系,实现了测试用例到自动化测试脚本的自动转化,提高了自动化测试的效率,降低了资源消耗和维护复杂度。
附图说明
图1是本发明实施例的一种测试用例转化为自动化测试脚本的方法流程图;
图2是图1方法中关键字与代码映射表中存储着关键字与脚本代码的对应关系图;
图3是本发明实施例的一种测试用例转化为自动化测试脚本的***结构示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
本发明的方法和***可以连接测试用例管理工具,读取测试用例,根据测试用例中的关键字,自动生成与之相关的自动化测试工具所识别的脚本操作代码,然后对脚本进行完整性验证和填补,保证代码的正确与完整性。生成的代码可以直接提供给自动化测试工具运行。具体步骤如图1所示,包括:
步骤101:读取用户编写的测试用例,可以连接测试用例管理工具,从存储有用户编写测试用例的测试用例管理工具中读取。测试用例中的操作命令以关键字与代码映射表中关键字命名。关键字与代码映射表中存储着关键字与脚本代码的对应关系,如图2所示,示出了几个关键字与对应的脚本代码,箭头左边为关键字,右边为对应的脚本代码。
步骤S102:根据测试用例中的关键字在关键字与代码映射表中查找对应的测试脚本代码,并生成自动化测试脚本。该自动化测试脚本的具体格式依赖自动化测试工具,常见的自动化测试工具如:Quicktest Professional(QTP)和IBM Rational Functional Tester(RFT)等,本实施例中的脚本默认是生成针对RFT这个自动化测试工具的java代码。如:操作->登录用户A,如图2所示,则生成脚本代码:
LoginForm login=new LoginForm(ProcessA);
login.LoginByUserName(UserA.getName);
其中,“登录”为关键字,其后的用户A会自动替换脚本代码中的参数ProcessA和UserA。
如:验证->用户A登录成功获取到数据,则生成脚本代码:
Assert(UserA.Online&&UserA.Info)。
其中,“登录成功”和“获取到数据”为关键字,用户A会自动替换脚本代码中的参数UserA。
步骤S103:验证所述自动化测试脚本的代码完整性,使自动化测试脚本的代码符合自动化测试工具代码规范的代码。完整性检查主要是对用户操作的上下文维护,验证完整性的具体步骤为:
(1)添加测试用例信息,包括:测试用例名称和ID等,如:
TestCase case=new TestCase(CaseName,CaseID)。
根据实际测试方案有不同的会添加不同的信息。主要根据前后顺序依赖的操作代码添加相应的信息,例如:如果有发送消息操作时,检查之前是否有登陆代码,如果没有则会自动添加上。
(2)在所述自动化测试脚本的外层添加异常处理代码,常用的异常处理代码为try-catch代码。
(3)验证步骤(2)之后的自动化测试脚本是否有语法和编写错误,若验证不通过,则进行修改,若通过,则生成最终的自动化测试脚本,即符合自动化测试工具代码规范的脚本代码。自动化测试工具 读取该脚本后完成自动化测试。
使用本发明的方法,即使当测试用例变更后,测试人员只需按照关键字规范,手工修改一次测试用例即可。测试时,转化装置重新读取用例生成新的测试脚本,供运行自动化测试。
本发明还提供了一种测试用例转化为自动化测试脚本的***,其结构示意图如图3所示,包括:测试用例获取模块,用于读取用户编写的测试用例,具体从测试用例管理工具中读取测试用例,所述测试用例中的操作命令以关键字与代码映射表中关键字命名;测试脚本生成模块,用于根据测试用例中的关键字在关键字与代码映射表中查找对应的测试脚本代码,并生成自动化测试脚本;完整性验证模块,用于验证所述自动化测试脚本的代码完整性,使自动化测试脚本的代码符合自动化测试工具代码规范的代码。
其中,所述完整性验证模块包括:测试用例信息添加模块,用于添加测试用例信息,包括:测试用例名称和ID;异常处理代码添加模块,用于在所述自动化测试脚本的外层添加异常处理代码;错误验证模块,用于验证异常处理代码添加模块处理后的自动化测试脚本是否有语法和编写错误,若验证不通过,则进行修改,若通过,则生成最终的自动化测试脚本。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
Claims (3)
1.一种测试用例转化为自动化测试脚本的方法,其特征在于,包括以下步骤:
S1:读取用户编写的测试用例,所述测试用例中的操作命令以关键字与代码映射表中关键字命名;
S2:根据测试用例中的关键字在关键字与代码映射表中查找对应的测试脚本代码,并生成自动化测试脚本;
S3:验证所述自动化测试脚本的代码完整性,使自动化测试脚本的代码符合自动化测试工具的代码规范;
所述步骤S3具体包括:
S3.1:添加测试用例信息,包括:测试用例名称和ID;
S3.2:在所述自动化测试脚本的外层添加异常处理代码;
S3.3:验证步骤S3.2之后的自动化测试脚本是否有语法和编写错误,若验证不通过,则进行修改,若通过,则生成最终的自动化测试脚本;
所述步骤S1之前还包括:
连接测试用例管理工具,所述测试用例管理工具中存储有用户编写的测试用例。
2.如权利要求1所述的测试用例转化为自动化测试脚本的方法,其特征在于,所述步骤S3.2中的异常处理代码为try-catch代码。
3.一种测试用例转化为自动化测试脚本的***,其特征在于,包括:
连接模块,连接测试用例管理工具,所述测试用例管理工具中存储有用户编写的测试用例;
测试用例获取模块,用于读取用户编写的测试用例,所述测试用例中的操作命令以关键字与代码映射表中关键字命名;
测试脚本生成模块,用于根据测试用例中的关键字在关键字与代码映射表中查找对应的测试脚本代码,并生成自动化测试脚本;
完整性验证模块,用于验证所述自动化测试脚本的代码完整性,使自动化测试脚本的代码符合自动化测试工具的代码规范;
所述完整性验证模块包括:
测试用例信息添加模块,用于添加测试用例信息,包括:测试用例名称和ID;
异常处理代码添加模块,用于在所述自动化测试脚本的外层添加异常处理代码;
错误验证模块,用于验证异常处理代码添加模块处理后的自动化测试脚本是否有语法和编写错误,若验证不通过,则进行修改,若通过,则生成最终的自动化测试脚本。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010593948.4A CN102567193B (zh) | 2010-12-09 | 2010-12-09 | 测试用例转化为自动化测试脚本的方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010593948.4A CN102567193B (zh) | 2010-12-09 | 2010-12-09 | 测试用例转化为自动化测试脚本的方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102567193A CN102567193A (zh) | 2012-07-11 |
CN102567193B true CN102567193B (zh) | 2015-02-11 |
Family
ID=46412661
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010593948.4A Active CN102567193B (zh) | 2010-12-09 | 2010-12-09 | 测试用例转化为自动化测试脚本的方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102567193B (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103353857B (zh) * | 2013-05-31 | 2016-04-20 | 国家电网公司 | 一种变电站综合监测单元的通信测试方法 |
CN104615536B (zh) * | 2015-01-29 | 2018-01-23 | 北京搜狗科技发展有限公司 | 一种测试用例控制方法及电子设备 |
CN105373478B (zh) * | 2015-12-14 | 2018-06-08 | 广州华多网络科技有限公司 | 自动化测试方法和*** |
CN106341684A (zh) * | 2016-09-05 | 2017-01-18 | Tcl集团股份有限公司 | 一种自动生成安卓电视测试脚本的方法及*** |
CN106598869A (zh) * | 2016-12-26 | 2017-04-26 | 北京京东金融科技控股有限公司 | 实现软件自动测试的方法、装置及电子设备 |
CN108459953A (zh) * | 2017-02-22 | 2018-08-28 | 北京京东尚科信息技术有限公司 | 测试方法和装置 |
CN107016189A (zh) * | 2017-04-05 | 2017-08-04 | 广东浪潮大数据研究有限公司 | 一种基于perl实现断言自动***RTL的方法 |
CN107703773A (zh) * | 2017-07-27 | 2018-02-16 | 北京长城华冠汽车科技股份有限公司 | 一种基于硬件在环仿真***的软件测试方法及装置 |
CN109308254B (zh) * | 2017-07-28 | 2022-06-03 | 阿里巴巴集团控股有限公司 | 一种测试方法、装置及测试设备 |
CN107526685A (zh) * | 2017-09-11 | 2017-12-29 | 杭州迪普科技股份有限公司 | 一种测试命令行的方法及装置 |
CN108268373A (zh) * | 2017-09-21 | 2018-07-10 | 平安科技(深圳)有限公司 | 自动化测试用例管理方法、装置、设备及存储介质 |
CN108255702A (zh) * | 2017-09-21 | 2018-07-06 | 平安科技(深圳)有限公司 | 一种测试用例创建方法、装置、设备及存储介质 |
CN108459957A (zh) * | 2017-11-29 | 2018-08-28 | 平安科技(深圳)有限公司 | 基金***测试用例的测试方法、装置、设备及存储介质 |
CN109086199B (zh) * | 2018-06-22 | 2022-06-07 | 网宿科技股份有限公司 | 一种自动化生成测试脚本的方法、终端和可存储介质 |
CN109542780B (zh) * | 2018-11-13 | 2022-02-15 | 东软集团股份有限公司 | 自然语言处理应用的测试方法、测试设备及存储介质 |
CN109656543B (zh) * | 2018-12-21 | 2022-03-29 | 苏州绿控传动科技股份有限公司 | 一种基于文件关键字替换的自动代码生成方法 |
CN109815127B (zh) * | 2018-12-21 | 2022-11-15 | 浙江数链科技有限公司 | 自动化脚本转换方法、装置、计算机设备和存储介质 |
CN109766271B (zh) * | 2018-12-22 | 2022-03-11 | 中国平安人寿保险股份有限公司 | 混合应用自动化测试方法、装置、电子设备及存储介质 |
CN112286814A (zh) * | 2020-10-30 | 2021-01-29 | 上海纳恩汽车技术有限公司 | 一种测试用例脚本的自动化生成***及方法 |
CN112527655B (zh) * | 2020-12-16 | 2024-06-25 | 平安银行股份有限公司 | 软件版本质量异常检测方法、装置、电子设备及存储介质 |
CN113392031A (zh) * | 2021-07-30 | 2021-09-14 | 重庆长安新能源汽车科技有限公司 | 一种基于Doors***的测试用例自动生成测试脚本的方法 |
CN117724988B (zh) * | 2024-02-18 | 2024-05-10 | 杭州玳数科技有限公司 | 一种基于Testing Library的UI组件库测试方法、存储介质及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1841328A (zh) * | 2005-04-02 | 2006-10-04 | 华为技术有限公司 | 脚本语言的自动机方法 |
CN101706753A (zh) * | 2009-12-11 | 2010-05-12 | 武汉虹信通信技术有限责任公司 | 一种基于Perl的单元测试框架及方法 |
-
2010
- 2010-12-09 CN CN201010593948.4A patent/CN102567193B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1841328A (zh) * | 2005-04-02 | 2006-10-04 | 华为技术有限公司 | 脚本语言的自动机方法 |
CN101706753A (zh) * | 2009-12-11 | 2010-05-12 | 武汉虹信通信技术有限责任公司 | 一种基于Perl的单元测试框架及方法 |
Non-Patent Citations (3)
Title |
---|
关键字驱动测试框架的研究与实现;王君等;《计算机工程与设计》;20100528;第31卷(第10期);全文 * |
关键字驱动自动化测试的原理与实现;冯玉才等;《计算机应用》;20040831;第24卷(第8期);140-142 * |
关键字驱动自动化测试***的研究;侯勇;《中国优秀硕士学位论文全文数据库 信息科技辑》;20070228(第2期);I140-240页 * |
Also Published As
Publication number | Publication date |
---|---|
CN102567193A (zh) | 2012-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102567193B (zh) | 测试用例转化为自动化测试脚本的方法及*** | |
CN102831052B (zh) | 测试用例自动化生成装置及方法 | |
CN101339534B (zh) | 一种软件测试的方法及装置 | |
Baker et al. | Model-driven engineering in a large industrial context—Motorola case study | |
US7673292B2 (en) | Auto conversion of tests between different functional testing tools | |
CN103164328B (zh) | 一种业务功能的回归测试方法、装置及*** | |
CN103186460B (zh) | 一种生成测试用例脚本的方法、装置及*** | |
CN101482817B (zh) | 基于黑盒的大粒度Java构件组装方法 | |
CN109933521A (zh) | 基于bdd的自动化测试方法、装置、计算机设备及存储介质 | |
CN104572463A (zh) | 测试接口信息的方法及装置 | |
CN102567201A (zh) | 跨模型的图形用户界面测试脚本自动修复方法 | |
KR101770292B1 (ko) | 컴퓨터 수행 가능한 모델 역공학 방법 및 장치 | |
CN112181854B (zh) | 一种生成流程自动化脚本的方法、装置、设备及存储介质 | |
CN115080398A (zh) | 一种接口自动化测试***及方法 | |
CN104375934A (zh) | 一种Android手机软件可靠性测试方法 | |
CN110321292A (zh) | 芯片测试方法、装置、电子设备及计算机可读存储介质 | |
CN114912391A (zh) | 寄存器设计和验证模型自动生成方法、装置、设备及介质 | |
CN101770388A (zh) | 获取芯片代码信息的方法和装置 | |
CN101673200B (zh) | 用户输入模型的检测方法及装置 | |
CN117648257A (zh) | 一种Linux操作***下的Web自动化测试方法及*** | |
CN102255674A (zh) | 基于lua脚本的无线模块自动测试方法 | |
CN114201396A (zh) | 测试用例与测试数据分离***、方法、计算机设备和计算机可读存储介质 | |
Min | Traceability guideline for software requirements and UML design | |
CN112540744A (zh) | 一种构建工业自动化仪器仪表嵌入式软件***的方法 | |
CN112380142A (zh) | 接口文档管理方法、装置和测试设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder |
Address after: Room 810, 8 / F, 34 Haidian Street, Haidian District, Beijing 100080 Patentee after: BEIJING D-MEDIA COMMUNICATION TECHNOLOGY Co.,Ltd. Address before: 100089 Beijing city Haidian District wanquanzhuang Road No. 28 Wanliu new building A block 5 layer Patentee before: BEIJING D-MEDIA COMMUNICATION TECHNOLOGY Co.,Ltd. |
|
CP02 | Change in the address of a patent holder |