CN110287095A - 一种自动化测试方法、装置及存储介质 - Google Patents
一种自动化测试方法、装置及存储介质 Download PDFInfo
- Publication number
- CN110287095A CN110287095A CN201910419914.4A CN201910419914A CN110287095A CN 110287095 A CN110287095 A CN 110287095A CN 201910419914 A CN201910419914 A CN 201910419914A CN 110287095 A CN110287095 A CN 110287095A
- Authority
- CN
- China
- Prior art keywords
- test
- user
- result
- test case
- 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.)
- Pending
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 325
- 238000000034 method Methods 0.000 claims abstract description 59
- 230000008569 process Effects 0.000 claims description 27
- 230000015654 memory Effects 0.000 claims description 18
- 230000006399 behavior Effects 0.000 claims description 12
- 238000012986 modification Methods 0.000 claims description 8
- 230000004048 modification Effects 0.000 claims description 8
- 238000013100 final test Methods 0.000 claims description 7
- 238000010998 test method Methods 0.000 claims description 3
- 238000013497 data interchange Methods 0.000 description 6
- 238000007726 management method Methods 0.000 description 6
- 238000013507 mapping Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000000926 separation method Methods 0.000 description 3
- 235000013399 edible fruits Nutrition 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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/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/3688—Test management for test execution, e.g. scheduling of test suites
-
- 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)
- Debugging And Monitoring (AREA)
Abstract
本发明提出了一种自动化测试方法、电子装置及存储介质。该方法包括:从预设的数据平台获取用户数据,根据用户数据中的用户信息和历史投资行为对用户进行分类及分配标签,并为所述用户数据配置测试用例,所述用户数据包括用户编号、用户标签和用户分类信息;利用预先确定的编程语言描述所述测试用例的执行过程以生成测试模版,编译所述测试模版生成测试脚本;执行所述测试脚本以得到测试结果,所述测试结果包括用户申请购买所述金融产品的申请结果及产品推荐结果,将所述测试结果与预期结果进行比对,将对比结果生成测试报告。利用本发明可以提高软件的测试效率。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种自动化测试方法、装置及存储介质。
背景技术
目前贷款流程都是基于H5页面进行开发,该类产品的应用场景多变。现有针对该类产品的测试方法比较少。在测试该类产品时,通常需要测试人员手动测试,这样就无法保证测试的有效性,而且测试效率低下,容易造成时间的浪费。
发明内容
本发明提供一种自动化测试方法、装置及存储介质,其主要目的是提高软件的测试效率。
为实现上述目的,本发明提供一种自动化测试方法,该方法包括:
获取步骤:从预设的数据平台获取用户数据,根据用户数据中的用户信息和历史投资行为对用户进行分类及分配标签,并为所述用户数据配置测试用例,所述用户数据包括用户编号、用户标签和用户分类信息,所述测试用例包括用户申请购买的产品数量、产品类别、预期结果、判断用户的购买申请是否符合购买条件的判断逻辑;
编译步骤:利用预先确定的编程语言描述所述测试用例的执行过程以生成测试模版,编译所述测试模版生成测试脚本;及
执行步骤:执行所述测试脚本以得到测试结果,所述测试结果包括用户申请购买所述金融产品的申请结果及产品推荐结果,将所述测试结果与预期结果进行比对,将对比结果生成测试报告。
优选地,每个测试用例被唯一且确定的号码标识。
优选地,利用预先确定的编程语言描述所述测试用例的执行过程包括:读取所述测试用例的内容,执行测试用例中的判断逻辑。
优选地,所述编译步骤还包括:验证所述测试脚本是否存在语法和编写方面的错误,若验证不通过,则将错误信息记录到日志表中,并弹出修改提示框,提示用户修改所述测试脚本,若验证通过,则生成最终的测试脚本。
优选地,执行所述测试脚本以得到测试结果的过程包括:采用多线程技术执行测试脚本需要的测试用例,每个线程解析一个测试用例,将所述测试用例的测试结果存储到数据库中。
此外,本发明还提供一种电子装置,该电子装置包括存储器和处理器,所述存储器中包括自动化测试程序,该自动化测试程序被所述处理器执行时实现如下步骤:
获取步骤:从预设的数据平台获取用户数据,根据用户数据中的用户信息和历史投资行为对用户进行分类及分配标签,并为所述用户数据配置测试用例,所述用户数据包括用户编号、用户标签和用户分类信息,所述测试用例包括用户申请购买的产品数量、产品类别、预期结果、判断用户的购买申请是否符合购买条件的判断逻辑;
编译步骤:利用预先确定的编程语言描述所述测试用例的执行过程以生成测试模版,编译所述测试模版生成测试脚本;及
执行步骤:执行所述测试脚本以得到测试结果,所述测试结果包括用户申请购买所述金融产品的申请结果及产品推荐结果,将所述测试结果与预期结果进行比对,将对比结果生成测试报告。
优选地,每个测试用例被唯一且确定的号码标识。
优选地,利用预先确定的编程语言描述所述测试用例的执行过程包括:读取所述测试用例的内容,执行测试用例中的判断逻辑。
优选地,所述编译步骤还包括:验证所述测试脚本是否存在语法和编写方面的错误,若验证不通过,则将错误信息记录到日志表中,并弹出修改提示框,提示用户修改所述测试脚本,若验证通过,则生成最终的测试脚本。
优选地,执行所述测试脚本以得到测试结果的过程包括:采用多线程技术执行测试脚本需要的测试用例,每个线程解析一个测试用例,将所述测试用例的测试结果存储在数据库中。
本发明提出了一种自动化测试方法、电子装置及存储介质,从预设的数据平台获取用户数据,根据用户数据中的用户信息和历史投资行为对用户进行分类及分配标签,并为所述用户数据配置测试用例,利用测试脚本同时执行多个测试用例,得到每个测试用例的测试结果,将测试用例的测试结果与预期结果进行比对,将对比结果生成测试报告。利用本发明,可以提高软件的测试效率。
附图说明
图1为本发明自动化测试方法一实施例的流程图;
图2为本发明电子装置一实施例的示意图;
图3为图2中自动化测试程序一实施例的程序模块图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种自动化测试方法。参照图1所示,为本发明一实施例提供的自动化测试方法的流程示意图。该方法可以由一个电子装置执行,该电子装置可以由软件和/或硬件实现。
在本实施例中,自动化测试方法包括:
步骤S10,从预设的数据平台获取用户数据,根据用户数据中的用户信息和历史投资行为对用户进行分类及分配标签,并为所述用户数据配置测试用例,所述用户数据包括用户编号、用户标签和用户分类信息,所述测试用例包括用户申请购买的产品数量、产品类别、预期结果、判断用户的购买申请是否符合购买条件的判断逻辑。
在本实施例中,所述预设的数据平台可以是企业的客户关系管理(CustomerRelationship Management,CRM)平台,也可以是Wind、Style Intelligence等商业智能(Business Intelligence,BI)平台。
在同一实施例中,所述用户标签包括但不限于性别、年龄、地域、教育水平、出生日期、职业、星座、收入状况、是否购买保险、是否有车、是否有房等。每个测试用例都有一个测试编号,测试编号用于对所述测试用例进行标识,且所述测试编号为唯一确定的。
常见的用户分类和用户标签示例如下:
本实施例将以用户贷款为例进行说明,当用户申请贷款时,所述测试用例包含为每个用户分配申请贷款产品的产品编号(ProductID)、申请结果Stauts(申请流程失败、申请额度失败等)以及预期结果(向用户推荐其他贷款产品或不推荐任何贷款产品)等数据。测试用例可以采用预定的文件格式,例如标准的XML格式的文件,或者自定义的XML格式的文件等。采用自定义XML格式的测试用例示例如下:
<CaseId>Case1</CaseId>
<CaseName>产品1-年龄大于50岁贷款申请失败场景</CaseName>
<UserId>用户1</UserId>
<UserInfo>年龄>50岁用户,无房产,月薪低于10000</UserInfo>
<ProductId>100001</ProductId>
<Status>01</Status>//申请流程失败
<Expected>100002</Expected>
步骤S20,利用预先确定的编程语言描述所述测试用例的执行过程以生成测试模版,编译所述测试模版生成测试脚本。
在本实施例中,所述预先确定的编程语言可以是Python语言,也可以是Java语言,本发明对此不做进一步的限定。
所述执行过程包括:读取所述测试用例的内容,执行测试用例中的判断逻辑。例如,用户的职业是学生,该用户对应的标签为在校,无固定收入。根据该用户的职业和标签,判断逻辑为,该用户最高只能申请3万人民币贷款的产品。对用户进行初步判断后,给该用户推荐的贷款产品还需考虑用户的历史投资行为(包括年消费账单,个人信用等数据)。
在本实施例中,所述测试脚本(Testing script),一般指的是一个特定测试的一系列指令,这些指令可以被自动化测试工具执行。为了提高测试脚本的可维护性和可复用性,必须在执行测试脚本之前对它们进行构建。测试脚本是自动执行测试过程(或部分测试过程)的计算机可读指令。测试脚本可以被创建(记录)或使用测试自动化工具自动生成,或用编程语言编程来完成。通俗理解为,测试用例是为实施测试而向被测试系统提供的输入数据、操作或各种环境设置以及期望结果的一个特定的集合。测试脚本是为了进行自动化测试而编写的脚本。测试脚本的编写必须对应相应的测试用例。
在本实施例根据所述测试用例(用户数据)与测试模板(用于描述测试执行过程的变量)之间联系,建立测试用例与测试模板的映射关系。在执行测试模板过程中,将测试模板的变量代替为相应的具体用户的标签和用户分类信息等数据即可,根据所述映射关系可以将测试模板编译成测试脚本。所述测试脚本生成后还需验证所述测试脚本是否存在语法和编写方面的错误,若验证不通过,则将错误信息记录到日志表中,并弹出修改提示框,提示用户修改所述测试脚本,若验证通过,则生成最终的测试脚本。
在本实施例中,通过引入测试模版,可以实现测试脚本的自动生成。利用测试模板,还可以实现测试用例、测试脚本和测试执行过程的分离,便于测试用例的单独维护。
步骤S30,执行所述测试脚本以得到测试结果,所述测试结果包括用户申请购买所述金融产品的申请结果及产品推荐结果,将所述测试结果与预期结果进行比对,将对比结果生成测试报告。
在本实施例中,执行所述测试脚本以得到测试结果的过程中包括:利用多线程并发执行所述测试脚本需要的测试用例,每个线程解析一个测试用例,将测试用例的测试结果保存到数据库中。
XML是一种固有的分层数据格式,最自然的表示方法是使用树。ElementTree表示整个XML文档为树,元素表示此树中的单个节点。与整个文档的交互(读取和写入文件)通常是在ElementTree级别上完成的。
在本实施例中,测试脚本解析测试用例的示例如下:
采用python中用xml.etree.ElementTree来解析person.xml文件。
1)调用parse()方法,返回解析树。在解析树里,根节点为一级节点,实施例配置在二级节点(二级节点可以有多个子节点)内,多个并列的二级节点配置有对应的实时例。
2)根据得到的解析树,可以得到解析树的根节点,通过遍历解析树的根节点即可得到每个子节点的信息(实施例的内容)。
3)将该节点信息封装成Json格式进行输出。
依照上述例子,封装成Json格式,示例如下:
本实施例采用的json是一种轻量级的数据交换格式。它基于ECMAScript(欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
本发明还提出一种电子装置。参照图2所示,为本发明一实施例提供的电子装置的内部结构示意图。
在本实施例中,电子装置1可以是PC(Personal Computer,个人电脑),也可以是智能手机、平板电脑、便携计算机等终端设备。该电子装置1至少包括存储器11、处理器12,网络接口13,以及通信总线。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是电子装置1的内部存储单元,例如该电子装置1的硬盘。存储器11在另一些实施例中也可以是电子装置1的外部存储设备,例如电子装置1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括电子装置1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于电子装置1的应用软件及各类数据,例如自动化测试程序10的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行自动化测试程序10等。
网络接口13可选的可以包括标准的有线接口、无线接口(如WI-FI接口),通常用于在该电子装置1与其他电子设备之间建立通信连接。
通信总线用于实现这些组件之间的连接通信。
可选地,该电子装置1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子装置1中处理的信息以及用于显示可视化的用户界面。
图2仅示出了具有组件11-13以及自动化测试程序10的电子装置1,本领域技术人员可以理解的是,图1示出的结构并不构成对电子装置1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
在图2所示的电子装置1实施例中,存储器11中存储有自动化测试程序10;处理器12执行存储器11中存储的自动化测试程序10时实现如下步骤:
获取步骤:从预设的数据平台获取用户数据,根据用户数据中的用户信息和历史投资行为对用户进行分类及分配标签,并为所述用户数据配置测试用例,所述用户数据包括用户编号、用户标签和用户分类信息,所述测试用例包括用户申请购买的产品数量、产品类别、预期结果、判断用户的购买申请是否符合购买条件的判断逻辑。
在本实施例中,所述预设的数据平台可以是企业的客户关系管理(CustomerRelationship Management,CRM)平台,也可以是Wind、Style Intelligence等商业智能(Business Intelligence,BI)平台。
在同一实施例中,所述用户标签包括但不限于性别、年龄、地域、教育水平、出生日期、职业、星座、收入状况、是否购买保险、是否有车、是否有房等。每个测试用例都有一个测试编号,测试编号用于对所述测试用例进行标识,且所述测试编号为唯一确定的。
常见的用户分类和用户标签示例如下:
本实施例将以用户贷款为例进行说明,当用户申请贷款时,所述测试用例包含为每个用户分配申请贷款产品的产品编号(ProductID)、申请结果Stauts(申请流程失败、申请额度失败等)以及预期结果(向用户推荐其他贷款产品或不推荐任何贷款产品)等数据。测试用例可以采用预定的文件格式,例如标准的XML格式的文件,或者自定义的XML格式的文件等。采用自定义XML格式的测试用例示例如下:
<CaseId>Case1</CaseId>
<CaseName>产品1-年龄大于50岁贷款申请失败场景</CaseName>
<UserId>用户1</UserId>
<UserInfo>年龄>50岁用户,无房产,月薪低于10000</UserInfo>
<ProductId>100001</ProductId>
<Status>01</Status>//申请流程失败
<Expected>100002</Expected>
编译步骤:利用预先确定的编程语言描述所述测试用例的执行过程以生成测试模版,编译所述测试模版生成测试脚本。
在本实施例中,所述预先确定的编程语言可以是Python语言,也可以是Java语言,本发明对此不做进一步的限定。
所述执行过程包括:读取所述测试用例的内容,执行测试用例中的判断逻辑。例如,用户的职业是学生,该用户对应的标签为在校,无固定收入。根据该用户的职业和标签,判断逻辑为,该用户最高只能申请3万人民币贷款的产品。对用户进行初步判断后,给该用户推荐的贷款产品还需考虑用户的历史投资行为(包括年消费账单,个人信用等数据)。
在本实施例中,所述测试脚本(Testing script),一般指的是一个特定测试的一系列指令,这些指令可以被自动化测试工具执行。为了提高测试脚本的可维护性和可复用性,必须在执行测试脚本之前对它们进行构建。测试脚本是自动执行测试过程(或部分测试过程)的计算机可读指令。测试脚本可以被创建(记录)或使用测试自动化工具自动生成,或用编程语言编程来完成。通俗理解为,测试用例是为实施测试而向被测试系统提供的输入数据、操作或各种环境设置以及期望结果的一个特定的集合。测试脚本是为了进行自动化测试而编写的脚本。测试脚本的编写必须对应相应的测试用例。
在本实施例根据所述测试用例(用户数据)与测试模板(用于描述测试执行过程的变量)之间联系,建立测试用例与测试模板的映射关系。在执行测试模板过程中,将测试模板的变量代替为相应的具体用户的标签和用户分类信息等数据即可,根据所述映射关系可以将测试模板编译成测试脚本。所述测试脚本生成后还需验证所述测试脚本是否存在语法和编写方面的错误,若验证不通过,则将错误信息记录到日志表中,并弹出修改提示框,提示用户修改所述测试脚本,若验证通过,则生成最终的测试脚本。
在本实施例中,通过引入测试模版,可以实现测试脚本的自动生成。利用测试模板,还可以实现测试用例、测试脚本和测试执行过程的分离,便于测试用例的单独维护。
执行步骤:执行所述测试脚本以得到测试结果,所述测试结果包括用户申请购买所述金融产品的申请结果及产品推荐结果,将所述测试结果与预期结果进行比对,将对比结果生成测试报告。
在本实施例中,执行所述测试脚本以得到测试结果的过程包括:利用多线程并发执行所述测试脚本需要的测试用例,每个线程解析一个测试用例,将测试用例的测试结果保存到数据库中。
XML是一种固有的分层数据格式,最自然的表示方法是使用树。ElementTree表示整个XML文档为树,元素表示此树中的单个节点。与整个文档的交互(读取和写入文件)通常是在ElementTree级别上完成的。
在本实施例中,测试脚本解析测试用例的示例如下:
采用python中用xml.etree.ElementTree来解析person.xml文件。
1)调用parse()方法,返回解析树。在解析树里,根节点为一级节点,实施例配置在二级节点(二级节点可以有多个子节点)内,多个并列的二级节点配置有对应的实时例。
2)根据得到的解析树,可以得到解析树的根节点,通过遍历解析树的根节点即可得到每个子节点的信息(实施例的内容)。
3)将该节点信息封装成Json格式进行输出。
依照上述例子,封装成Json格式,示例如下:
本实施例采用的json是一种轻量级的数据交换格式。它基于ECMAScript(欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
可选地,在其他的实施例中,自动化测试程序还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器11中,并由一个或多个处理器(本实施例为处理器12)所执行以完成本发明,本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段,用于描述自动化测试程序在电子装置中的执行过程。
例如,参照图3所示,为本发明提供的电子装置1一实施例中的自动化测试程序的程序模块示意图,该实施例中,自动化测试程序10可以被分割为获取模块110、编译模块120、执行模块130,示例性地:
获取模块110:从预设的数据平台获取用户数据,根据用户数据中的用户信息和历史投资行为对用户进行分类及分配标签,并为所述用户数据配置测试用例,所述用户数据包括用户编号、用户标签和用户分类信息,所述测试用例包括用户申请购买的产品数量、产品类别、预期结果、判断用户的购买申请是否符合购买条件的判断逻辑。
在本实施例中,所述预设的数据平台可以是企业的客户关系管理(CustomerRelationship Management,CRM)平台,也可以是Wind、Style Intelligence等商业智能(Business Intelligence,BI)平台。
在同一实施例中,所述用户标签包括但不限于性别、年龄、地域、教育水平、出生日期、职业、星座、收入状况、是否购买保险、是否有车、是否有房等。每个测试用例都有一个测试编号,测试编号用于对所述测试用例进行标识,且所述测试编号为唯一确定的。
常见的用户分类和用户标签示例如下:
本实施例将以用户贷款为例进行说明,当用户申请贷款时,所述测试用例包含为每个用户分配申请贷款产品的产品编号(ProductID)、申请结果Stauts(申请流程失败、申请额度失败等)以及预期结果(向用户推荐其他贷款产品或不推荐任何贷款产品)等数据。测试用例可以采用预定的文件格式,例如标准的XML格式的文件,或者自定义的XML格式的文件等。采用自定义XML格式的测试用例示例如下:
<CaseId>Case1</CaseId>
<CaseName>产品1-年龄大于50岁贷款申请失败场景</CaseName>
<UserId>用户1</UserId>
<UserInfo>年龄>50岁用户,无房产,月薪低于10000</UserInfo>
<ProductId>100001</ProductId>
<Status>01</Status>//申请流程失败
<Expected>100002</Expected>
编译模块120:利用预先确定的编程语言描述所述测试用例的执行过程以生成测试模版,编译所述测试模版生成测试脚本。
在本实施例中,所述预先确定的编程语言可以是Python语言,也可以是Java语言,本发明对此不做进一步的限定。
所述执行过程包括:读取所述测试用例的内容,执行测试用例中的判断逻辑。例如,用户的职业是学生,该用户对应的标签为在校,无固定收入。根据该用户的职业和标签,判断逻辑为,该用户最高只能申请3万人民币贷款的产品。对用户进行初步判断后,给该用户推荐的贷款产品还需考虑用户的历史投资行为(包括年消费账单,个人信用等数据)。
在本实施例中,所述测试脚本(Testing script),一般指的是一个特定测试的一系列指令,这些指令可以被自动化测试工具执行。为了提高测试脚本的可维护性和可复用性,必须在执行测试脚本之前对它们进行构建。测试脚本是自动执行测试过程(或部分测试过程)的计算机可读指令。测试脚本可以被创建(记录)或使用测试自动化工具自动生成,或用编程语言编程来完成。通俗理解为,测试用例是为实施测试而向被测试系统提供的输入数据、操作或各种环境设置以及期望结果的一个特定的集合。测试脚本是为了进行自动化测试而编写的脚本。测试脚本的编写必须对应相应的测试用例。
在本实施例根据所述测试用例(用户数据)与测试模板(用于描述测试执行过程的变量)之间联系,建立测试用例与测试模板的映射关系。在执行测试模板过程中,将测试模板的变量代替为相应的具体用户的标签和用户分类信息等数据即可,根据所述映射关系可以将测试模板编译成测试脚本。所述测试脚本生成后还需验证所述测试脚本是否存在语法和编写方面的错误,若验证不通过,则将错误信息记录到日志表中,并弹出修改提示框,提示用户修改所述测试脚本,若验证通过,则生成最终的测试脚本。
在本实施例中,通过引入测试模版,可以实现测试脚本的自动生成。利用测试模板,还可以实现测试用例、测试脚本和测试执行过程的分离,便于测试用例的单独维护。
执行模块130:执行所述测试脚本以得到测试结果,所述测试结果包括用户申请购买所述金融产品的申请结果及产品推荐结果,将所述测试结果与预期结果进行比对,将对比结果生成测试报告。
在本实施例中,执行所述测试脚本以得到测试结果的过程包括:利用多线程并发执行所述测试脚本需要的测试用例,每个线程解析一个测试用例,将测试用例的测试结果保存到数据库中。
XML是一种固有的分层数据格式,最自然的表示方法是使用树。ElementTree表示整个XML文档为树,元素表示此树中的单个节点。与整个文档的交互(读取和写入文件)通常是在ElementTree级别上完成的。
在本实施例中,测试脚本解析测试用例的示例如下:
采用python中用xml.etree.ElementTree来解析person.xml文件。
1)调用parse()方法,返回解析树。在解析树里,根节点为一级节点,实施例配置在二级节点(二级节点可以有多个子节点)内,多个并列的二级节点配置有对应的实时例。
2)根据得到的解析树,可以得到解析树的根节点,通过遍历解析树的根节点即可得到每个子节点的信息(实施例的内容)。
3)将该节点信息封装成Json格式进行输出。
依照上述例子,封装成Json格式,示例如下:
本实施例采用的json是一种轻量级的数据交换格式。它基于ECMAScript(欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有自动化测试程序,所述自动化测试程序可被一个或多个处理器执行,以实现如下步骤:
获取步骤:从预设的数据平台获取用户数据,根据用户数据中的用户信息和历史投资行为对用户进行分类及分配标签,并为所述用户数据配置测试用例,所述用户数据包括用户编号、用户标签和用户分类信息,所述测试用例包括用户申请购买的产品数量、产品类别、预期结果、判断用户的购买申请是否符合购买条件的判断逻辑;
编译步骤:利用预先确定的编程语言描述所述测试用例的执行过程以生成测试模版,编译所述测试模版生成测试脚本;及
执行步骤:执行所述测试脚本以得到测试结果,所述测试结果包括用户申请购买所述金融产品的申请结果及产品推荐结果,将所述测试结果与预期结果进行比对,将对比结果生成测试报告。
本发明存储介质具体实施方式与上述电子装置1和方法各实施例基本相同,在此不作累述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种自动化测试方法,应用于电子装置,其特征在于,所述方法包括:
获取步骤:从预设的数据平台获取用户数据,根据用户数据中的用户信息和历史投资行为对用户进行分类及分配标签,并为所述用户数据配置测试用例,所述用户数据包括用户编号、用户标签和用户分类信息,所述测试用例包括用户申请购买的产品数量、产品类别、预期结果、判断用户的购买申请是否符合购买条件的判断逻辑;
编译步骤:利用预先确定的编程语言描述所述测试用例的执行过程以生成测试模版,编译所述测试模版生成测试脚本;及
执行步骤:执行所述测试脚本以得到测试结果,所述测试结果包括用户申请购买所述金融产品的申请结果及产品推荐结果,将所述测试结果与预期结果进行比对,将对比结果生成测试报告。
2.如权利要求1所述的自动化测试方法,其特征在于,每个测试用例被唯一且确定的号码标识。
3.如权利要求1所述的自动化测试方法,其特征在于,利用预先确定的编程语言描述所述测试用例的执行过程包括:读取所述测试用例的内容,执行测试用例中的判断逻辑。
4.如权利要求1所述的自动化测试方法,其特征在于,所述编译步骤还包括:验证所述测试脚本是否存在语法和编写方面的错误,若验证不通过,则将错误信息记录到日志表中,并弹出修改提示框,提示用户修改所述测试脚本,若验证通过,则生成最终的测试脚本。
5.如权利要求1至4任意一项所述的自动化测试方法,其特征在于,执行所述测试脚本以得到测试结果的过程包括:采用多线程技术执行测试脚本需要的测试用例,每个线程解析一个测试用例,将所述测试用例的测试结果存储在数据库中。
6.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中包括自动化测试程序,该自动化测试程序被所述处理器执行时实现如下步骤:
获取步骤:从预设的数据平台获取用户数据,根据用户数据中的用户信息和历史投资行为对用户进行分类及分配标签,并为所述用户数据配置测试用例,所述用户数据包括用户编号、用户标签和用户分类信息,所述测试用例包括用户申请购买的产品数量、产品类别、预期结果、判断用户的购买申请是否符合购买条件的判断逻辑;
编译步骤:利用预先确定的编程语言描述所述测试用例的执行过程以生成测试模版,编译所述测试模版生成测试脚本;及
执行步骤:执行所述测试脚本以得到测试结果,所述测试结果包括用户申请购买所述金融产品的申请结果及产品推荐结果,将所述测试结果与预期结果进行比对,将对比结果生成测试报告。
7.如权利要求6所述的电子装置,其特征在于,每个测试用例被唯一且确定的号码标识。
8.如权利要求6所述的电子装置,其特征在于,所述编译步骤还包括:验证所述测试脚本是否存在语法和编写方面的错误,若验证不通过,则将错误信息记录到日志表中,并弹出修改提示框,提示用户修改所述测试脚本,若验证通过,则生成最终的测试脚本。
9.如权利要求6至9任意一项所述的电子装置,其特征在于,执行所述测试脚本以得到测试结果的过程包括:采用多线程技术执行测试脚本需要的测试用例,每个线程解析一个测试用例,将所述测试用例的测试结果存储在数据库中。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中包括自动化测试程序,所述自动化测试程序被处理器执行时,实现如权利要求1至5中任一项所述的自动化测试方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910419914.4A CN110287095A (zh) | 2019-05-20 | 2019-05-20 | 一种自动化测试方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910419914.4A CN110287095A (zh) | 2019-05-20 | 2019-05-20 | 一种自动化测试方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110287095A true CN110287095A (zh) | 2019-09-27 |
Family
ID=68002223
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910419914.4A Pending CN110287095A (zh) | 2019-05-20 | 2019-05-20 | 一种自动化测试方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110287095A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110874326A (zh) * | 2019-11-21 | 2020-03-10 | 望海康信(北京)科技股份公司 | 测试用例生成方法、装置、计算机设备及存储介质 |
CN111427778A (zh) * | 2020-03-18 | 2020-07-17 | 中国平安人寿保险股份有限公司 | 一种测试方法、装置、终端设备及存储介质 |
CN111552634A (zh) * | 2020-03-30 | 2020-08-18 | 深圳壹账通智能科技有限公司 | 前端系统的测试方法、装置及存储介质 |
CN111858333A (zh) * | 2020-07-17 | 2020-10-30 | 视若飞信息科技(上海)有限公司 | 基于真实数据的版权管理系统接口测试方法和装置 |
CN111858324A (zh) * | 2020-07-13 | 2020-10-30 | 中国工商银行股份有限公司 | 一种测试案例的自动生成方法及装置 |
CN112363948A (zh) * | 2020-11-30 | 2021-02-12 | 深圳市六度人和科技有限公司 | 接口测试方法、装置、电子设备及存储介质 |
CN112597028A (zh) * | 2020-12-25 | 2021-04-02 | 北京知因智慧科技有限公司 | 一种用例测试结果的展示方法、装置及可读存储介质 |
CN113238945A (zh) * | 2021-05-17 | 2021-08-10 | 上海中通吉网络技术有限公司 | 一种bi系统图表查询自动化测试方法 |
CN113590493A (zh) * | 2021-08-23 | 2021-11-02 | 中国银行股份有限公司 | 一种基于moa模型的产品测试方法、装置及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120266142A1 (en) * | 2011-04-12 | 2012-10-18 | Enver Bokhari | System and Method for Automating Testing of Computers |
WO2018010552A1 (zh) * | 2016-07-12 | 2018-01-18 | 博彦科技股份有限公司 | 测试方法和装置 |
CN107832208A (zh) * | 2017-10-20 | 2018-03-23 | 深圳怡化电脑股份有限公司 | 软件的自动测试方法及终端设备 |
CN109614313A (zh) * | 2018-10-25 | 2019-04-12 | 平安科技(深圳)有限公司 | 自动化测试方法、装置及计算机可读存储介质 |
-
2019
- 2019-05-20 CN CN201910419914.4A patent/CN110287095A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120266142A1 (en) * | 2011-04-12 | 2012-10-18 | Enver Bokhari | System and Method for Automating Testing of Computers |
WO2018010552A1 (zh) * | 2016-07-12 | 2018-01-18 | 博彦科技股份有限公司 | 测试方法和装置 |
CN107832208A (zh) * | 2017-10-20 | 2018-03-23 | 深圳怡化电脑股份有限公司 | 软件的自动测试方法及终端设备 |
CN109614313A (zh) * | 2018-10-25 | 2019-04-12 | 平安科技(深圳)有限公司 | 自动化测试方法、装置及计算机可读存储介质 |
Non-Patent Citations (2)
Title |
---|
李真辉;陈闻宇;徐彦之;: "基于CI的Web自动化测试平台设计", 科技导报, no. 09 * |
柳晓华;李劲华;: "基于BDD的数据驱动自动化测试方法", 青岛大学学报(自然科学版), no. 03 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110874326A (zh) * | 2019-11-21 | 2020-03-10 | 望海康信(北京)科技股份公司 | 测试用例生成方法、装置、计算机设备及存储介质 |
CN110874326B (zh) * | 2019-11-21 | 2023-10-27 | 望海康信(北京)科技股份公司 | 测试用例生成方法、装置、计算机设备及存储介质 |
CN111427778A (zh) * | 2020-03-18 | 2020-07-17 | 中国平安人寿保险股份有限公司 | 一种测试方法、装置、终端设备及存储介质 |
CN111552634A (zh) * | 2020-03-30 | 2020-08-18 | 深圳壹账通智能科技有限公司 | 前端系统的测试方法、装置及存储介质 |
CN111858324A (zh) * | 2020-07-13 | 2020-10-30 | 中国工商银行股份有限公司 | 一种测试案例的自动生成方法及装置 |
CN111858324B (zh) * | 2020-07-13 | 2023-08-25 | 中国工商银行股份有限公司 | 一种测试案例的自动生成方法及装置 |
CN111858333A (zh) * | 2020-07-17 | 2020-10-30 | 视若飞信息科技(上海)有限公司 | 基于真实数据的版权管理系统接口测试方法和装置 |
CN112363948A (zh) * | 2020-11-30 | 2021-02-12 | 深圳市六度人和科技有限公司 | 接口测试方法、装置、电子设备及存储介质 |
CN112363948B (zh) * | 2020-11-30 | 2024-04-09 | 深圳市六度人和科技有限公司 | 接口测试方法、装置、电子设备及存储介质 |
CN112597028A (zh) * | 2020-12-25 | 2021-04-02 | 北京知因智慧科技有限公司 | 一种用例测试结果的展示方法、装置及可读存储介质 |
CN113238945A (zh) * | 2021-05-17 | 2021-08-10 | 上海中通吉网络技术有限公司 | 一种bi系统图表查询自动化测试方法 |
CN113590493A (zh) * | 2021-08-23 | 2021-11-02 | 中国银行股份有限公司 | 一种基于moa模型的产品测试方法、装置及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110287095A (zh) | 一种自动化测试方法、装置及存储介质 | |
Geiger et al. | BPMN 2.0: The state of support and implementation | |
US9354904B2 (en) | Applying packages to configure software stacks | |
US9037549B2 (en) | System and method for testing data at a data warehouse | |
US8234692B2 (en) | System and method for processing an upload of a program with export compliance information | |
US20090271351A1 (en) | Rules engine test harness | |
WO2021109928A1 (zh) | 机器学习方案模板的创建方法、使用方法及装置 | |
US20090019427A1 (en) | Method and Apparatus for Providing Requirement Driven Static Analysis of Test Coverage for Web-Based, Distributed Processes | |
Erdogan et al. | Approaches for the combined use of risk analysis and testing: a systematic literature review | |
Kumar | Reviewing software testing models and optimization techniques: an analysis of efficiency and advancement needs | |
US20070250812A1 (en) | Process Encoding | |
CN106959921A (zh) | 自动测试方法、终端、平台及系统 | |
CN114462556B (zh) | 企业关联产业链分类方法、训练方法、装置、设备和介质 | |
CN113672520B (zh) | 测试案例的生成方法、装置、电子设备及存储介质 | |
CN106681854A (zh) | 一种信息校验方法、装置及系统 | |
CN110766460A (zh) | 一种用户画像的方法、装置、存储介质及计算机设备 | |
Frantz et al. | Institutional grammar 2.0 codebook | |
US7975259B2 (en) | Verification of customization results | |
US11055477B2 (en) | Evaluation device, evaluation method, and recording medium evaluating a line as a start line of a table | |
CN110544467A (zh) | 语音数据的审核方法、装置、设备及存储介质 | |
US10838714B2 (en) | Applying packages to configure software stacks | |
Barbosa | Feature-Trace: an approach to generate operational profile and to support regression testing from BDD features | |
CN110378217A (zh) | 基于光学字符识别的申请验证方法、装置及电子设备 | |
CN109582412A (zh) | 产品展示方法、装置及计算机存储介质 | |
CN110659501A (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 | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20240621 |
|
AD01 | Patent right deemed abandoned |