CN109254912A - 一种自动化测试的方法及装置 - Google Patents
一种自动化测试的方法及装置 Download PDFInfo
- Publication number
- CN109254912A CN109254912A CN201810917776.8A CN201810917776A CN109254912A CN 109254912 A CN109254912 A CN 109254912A CN 201810917776 A CN201810917776 A CN 201810917776A CN 109254912 A CN109254912 A CN 109254912A
- Authority
- CN
- China
- Prior art keywords
- test
- tested
- data
- function point
- preset function
- 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
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
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)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明的实施例公开了一种自动化测试的方法及装置,该方法在对待测试系统的预设功能点进行测试时,只需用户输入测试信息,测试信息包括了每次对该预设功能点进行测试的数据的限定条件。每次对该预设功能点进行测试时,自动根据限定条件查找本次测试的目标数据,由查找的目标数据和用户生成的测试信息生成测试脚本文件,实现对预设功能点的测试。该方法仅需要用户输入用于测试的数据的限定条件,每次对预设功能点进行测试时,自动根据限定条件生成目标数据完成测试,不需要用户每次输入测试的数据,节省了人力资源,提高了测试效率。
Description
技术领域
本发明实施例涉及功能测试技术领域,尤其是涉及一种自动化测试的方法及装置。
背景技术
目前对系统的各个功能点进行测试时,每次测试均需通过人工输入测试的数据,测试效率低下,且人工输入的测试数据很可能只是输入一些该功能点常处理的数据,因而无法对功能点进行全面的测试。例如,数据实时同步系统是在数据被抓取并清洗之后,将数据实时更新到数据库中的系统,在数据量成倍增长的情况下能够保证数据的准确性,在大数据技术中应用较为广泛。目前出于功能性的考虑,对于数据实时同步系统的自动化测试主要依靠两种测试技术——录制回放技术和自动化测试脚本化技术。
录制回放技术通过使用自动化测试工具录制并记录测试数据和操作过程,最终形成测试脚本,即测试脚本中是包含测试数据和测试动作的。自动化测试脚本化技术采用结构化的自动化测试脚本,将命令行界面与应用程序接口相结合,即使界面或者功能发生变化,仍然可以使用现有脚本文件。录制回放技术更适合完成功能简单、数据量少的自动化测试,该技术的测试脚本和测试用例是一一对应关系,这就造成脚本没有可重复性,即使简单的数据变化也需要重新录制脚本,造成维护成本过高。自动化测试脚本化技术虽是当前主流的自动化测试技术,该技术也能够满足功能较多、数据量技较大的测试需要。但是该技术的问题在于测试脚本需要人工录入,不能够根据目标数据自动生成,并且在数据发生变化的情况下该技术也需要对脚本进行手动修改,所以这种术在数据实时更新(例如海量企业数据更新)的情况下,其测试效率会明显下降。
在实现本发明实施例的过程中,发明人发现现有的对系统的某个功能进行测试时,需要人工更新每次测试的数据,测试效率低。
发明内容
本发明要解决现有的对系统的某个功能进行测试时,需要人工更新每次测试的数据,测试效率低的问题。
针对以上技术问题,本发明的实施例提供了一种自动化测试的方法,包括:
接收对待测试系统的预设功能点进行测试的测试信息;其中,所述测试信息中包括对所述预设功能点进行测试的测试操作和预期结果,以及每次对所述预设功能点进行测试的数据满足的限定条件;
每次根据所述测试操作对所述预设功能点进行测试时,根据所述限定条件确定本次对所述预设功能点进行测试的目标数据,并根据所述测试信息和所述目标数据生成以预设语言编写的测试脚本文件;
通过所述测试脚本文件对所述预设功能点进行测试,得到测试结果,并根据所述测试结果和所述预测结果生成对所述预设功能点进行测试的测试报告。
本实施例提供了一种自动化测试的装置,包括:
接收模块,用于接收对待测试系统的预设功能点进行测试的测试信息;其中,所述测试信息中包括对所述预设功能点进行测试的测试操作和预期结果,以及每次对所述预设功能点进行测试的数据满足的限定条件;
生成模块,用于每次根据所述测试操作对所述预设功能点进行测试时,根据所述限定条件确定本次对所述预设功能点进行测试的目标数据,并根据所述测试信息和所述目标数据生成以预设语言编写的测试脚本文件;
测试模块,用于通过所述测试脚本文件对所述预设功能点进行测试,得到测试结果,并根据所述测试结果和所述预测结果生成对所述预设功能点进行测试的测试报告。
本实施例提供了一种电子设备,包括:
至少一个处理器、至少一个存储器、通信接口和总线;其中,
所述处理器、存储器、通信接口通过所述总线完成相互间的通信;
所述通信接口用于该电子设备和被测试设备的通信设备之间的信息传输;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行对应于监管设备的任一所述的方法。
本实施例提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行对应于监管设备的任一项所述的方法。
本发明的实施例提供了一种自动化测试的方法及装置,该方法在对待测试系统的预设功能点进行测试时,只需用户输入测试信息,测试信息包括了每次对该预设功能点进行测试的数据的限定条件。每次对该预设功能点进行测试时,自动根据限定条件查找本次测试的目标数据,由查找的目标数据和用户生成的测试信息生成测试脚本文件,实现对预设功能点的测试。该方法仅需要用户输入用于测试的数据的限定条件,每次对预设功能点进行测试时,自动根据限定条件生成目标数据完成测试,不需要用户每次输入测试的数据,节省了人力资源,提高了测试效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的一种自动化测试的方法的流程示意图;
图2是本发明另一个实施例提供的接收测试信息到生成测试脚本文件的过程示意图;
图3是本发明另一个实施例提供的执行器对待测试系统的预设功能点进行测试的示意图;
图4是本发明另一个实施例提供的自动化测试的装置的结构框图;
图5是本发明另一个实施例提供的电子设备的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本实施例提供的一种自动化测试的方法的流程示意图,参见图1,该方法包括:
101:接收对待测试系统的预设功能点进行测试的测试信息;其中,所述测试信息中包括对所述预设功能点进行测试的测试操作和预期结果,以及每次对所述预设功能点进行测试的数据满足的限定条件;
102:每次根据所述测试操作对所述预设功能点进行测试时,根据所述限定条件确定本次对所述预设功能点进行测试的目标数据,并根据所述测试信息和所述目标数据生成以预设语言编写的测试脚本文件;
103:通过所述测试脚本文件对所述预设功能点进行测试,得到测试结果,并根据所述测试结果和所述预测结果生成对所述预设功能点进行测试的测试报告。
本实施例提供的方法由对系统的各功能点进行测试的测试设备执行,例如,用于对系统的各功能点进行测试的服务器或者终端,本实施例对此不做具体限制。对某一系统,例如,数据实时同步系统,的各个功能点进行测试时,通常每一功能点需要进行很多次测试,如果每次均需要用户手动输入用于测试的数据,工作量大,测试效率低。通过本实施例提供的方法只需要针对各功能点输入每次测试的数据满足限定条件,测试设备每次测试时根据该限定条件即可自动获取到测试用的数据,实现对各功能点的测试。相比于每次手动输入测试用的数据的方法,本实施例提供的方法节省了人力资源,大大提高了测试效率。
待测试系统通常为支持业务运行的系统,例如,数据实时同步系统、支持某一社交软件运行的系统或者对某一类数据进行管理的系统,本实施例对此不做具体限制。待测试系统具有各种各样的功能,在待测试系统运行过程中,需要对待测试系统的各功能进行测试,以确定待测试系统的各功能是否正常。例如,预设功能点是数据实时同步系统中的数据同步功能。
测试设备接收到的测试信息至少应包括测试操作、预期结果和每次对预设功能点进行测试的数据满足的限定条件,可理解的是,测试信息还包括所述待测试系统的设备信息。测试操作通常规定了如何执行测试过程,例如,测试操作规定了测试频率和测试总次数。为了简化测试过程,该方法生成的测试脚本文件通过同一的语言编写,例如,XML语言,本实施例对此不做具体限制。
本实施例提供了一种自动化测试的方法,该方法在对待测试系统的预设功能点进行测试时,只需用户输入测试信息,测试信息包括了每次对该预设功能点进行测试的数据的限定条件。每次对该预设功能点进行测试时,自动根据限定条件查找本次测试的目标数据,由查找的目标数据和用户生成的测试信息生成测试脚本文件,实现对预设功能点的测试。该方法仅需要用户输入用于测试的数据的限定条件,每次对预设功能点进行测试时,自动根据限定条件生成目标数据完成测试,不需要用户每次输入测试的数据,节省了人力资源,提高了测试效率。
为了更清楚的阐述上述实施例中的自动化测试方法,本实施例提供了一种具体的自动化测试的方法,该方法包括:
S1:接收测试人员输入的信息并保存;
S2:将脚本生成规则与输入信息结合,生成自动化测试脚本文件,且文件格式为XML;
S3:将生成好的XML自动化脚本传输到执行器模块中,在执行器操作结束后生成测试报告。
其中,脚本生成规则包含待测试系统中的每一个功能点对应的规则。功能点的具体内容根据待测试系统的具体功能确定。例如:待测试系统具有每30分钟数据自动更新功能,则测试脚本的生成规则中应包含这一功能点。即脚本每30分钟自动执行一次,相应地XML脚本中表现为包含字段<AVG_TIME>1800000</AVG_TIME>。其中,字段中的信息取毫秒值。
在本实施例中,预设语言为XML,每次测试时,结合脚本生成规则和输入信息生成自动化测试脚本文件,通过生成的自动化测试脚本文件进行测试。本实施例提供的方法不需要每次手动输入测试的数据,且使用XML作为测试脚本文件的语言,XML语言简洁高效,提高了测试效率。例如,对于数据实时同步系统,由于每天更新的企业数据的数据量大且数据量的增长速度快,通过本实施例提供的自动生成自动化测试脚本的方法,不需要人工处理大量的数据,提高了测试效率。
进一步地,在上述实施例的基础上,所述接收对待测试系统的预设功能点进行测试的测试信息之前,还包括:
获取用于对所述预设功能点进行测试的数据库中的数据对应的至少一个数据维度,在每一数据维度下,将对所述数据库中的数据划分为不同的类别,并将属于不同类别的数据映射为不同的数值,所述限定条件包括每次对所述预设功能点进行测试的数据在各数据维度下对应的数值或者数值范围。
进一步地,在上述各实施例的基础上,所述数据纬度包括企业类型、企业评分和企业资金状态。
为了实现测试过程中自动生成用于测试的数据,本实施例预先将数据库中的数据数值化,将数值作为限定条件,在自动化测试的过程中,根据限定条件中的数据即可定位到用于对预设功能点进行测试的测试数据。
例如,用于对企业数据进行同步的数据实时同步系统,在对该数据实时同步系统自动测试前,需要通过本实施例提供的方法对企业数据进行数值化。举例来说,数据库中数据为与各企业相关的信息,选取企业类型和企业评分这两个数据纬度,在企业类型这个数据纬度下,将企业划分为上市企业(对应的数值为0)、创业公司(对应的数值为1)、国有企业(对应的数值为2)、外资企业(对应的数值为3)、中外合资企业(对应的数值为4)等。在企业评分这个数据纬度下,各企业的评分均在[0,100]之间。当要测试是否对外资企业的企业数据进行了同步更新,可以将限定条件设定为:企业类型对应的数值为3,企业评分对应的范围为[0,100]。
在对企业的数据进行数值化时,还可以通过以下三种方法确定数据纬度对数据进行数值化。
(1)根据反馈情况对数据进行数值化
将用户的反馈情况作为数据纬度,在该数据纬度下,将反馈的问题划分类别映射为不同数值。设定反馈次数和反馈的问题作为限定条件后,查询用户问题反馈表中反馈次数符合限定条件的反馈次数且反馈的问题也符合限定条件的公司名称,该公司名称对应的公司即为进行测试的目标数据。
(2)根据各类型公司的特点对数据进行数值化
在企业类型这一数据纬度下,例如律所的代理案件更新比较多,则在企业类型为律所时,选取“代理客户”、“开庭公告”这些类型的数据作为进行测试的数据;上市企业的股东变化比较频繁,则在企业类型为上市企业时,将“股东信息”作为进行测试的数据;创业公司的融资事件较多,则在企业类型为创业公司时,将“融资事件”作为进行测试的数据。不同类型的公司都会有其特有的类型的数据更新规律,可以根据不同公司类型整理出其变化比较频繁的数据进行数值化。
(3)根据企业在不同时间的数据变化根据
除了特定类型企业外,对一段时间T(例如三个月、六个月,一年)内所有企业的所有数据维度的变化进行统计,其中记录数据维度变化次数最多的前N个,去重后,对这N各数据纬度的数据进行数值化,设定限定条件,确定用于进行测试的数据。
本实施例提供了一种自动化测试的方法,预先对数据库中的数据进行数值化,利用数值与数据的对应关系生成限定条件,使得在测试过程中能够限定条件快速确定进行测试的数据。
进一步地,在上述各实施例的基础上,所述每次根据所述测试操作对所述预设功能点进行测试时,根据所述限定条件确定本次对所述预设功能点进行测试的目标数据,包括:
每次根据所述测试操作中规定的测试时间对所述预设功能点进行测试时,获取所述限定条件中规定的本次对所述预设功能点进行测试的数据在各数据维度上对应的数值或者数值范围,从所述数据库中查找在各数据维度上均满足所述限定条件中规定的数值或者数值范围的数据,作为所述目标数据。
本实施例提供了一种自动化测试的方法,通过限定条件中的数值或者数值范围快速定位出每次进行测试的数据,保证了测试过程的自动化进行。
为了对自动化测试过程中测试数据的确定进行进一步地说明,本实施例对上述步骤“S2:将脚本生成规则与输入信息结合,生成自动化测试脚本文件,且文件格式为XML”进行更为详细的阐述。上述步骤S2包括:
S21语义分析:根据被测试系统的功能点,对输入的信息进行分析,如果符合一般规则,则继续S22;否则,提示测试人员重新输入;
S22数据生成:按照等价值划分和/或临界值划分方法,生成测试数据;
S23步骤解释:根据测试人员输入的先后顺序以及S22中生成的数据,生成脚本中的具体用例信息;
S24脚本生成:将上面信息转换为XML文件,将用例信息填入对应标签之中,由此生成测试脚本文件。
举例来说,对上述步骤S22,输入的限定条件为SQL语句update TABLE1 set NAME=(A)where STATE=(B)and GRADE=(C),(A)位置的数据是从根据(B)和(C)的值从数据库中获取的。待测试系统通过自动同步更新功能更新其数据库中的数据,在对待测试系统进行测试时,通过(A)从待测试系统中获取数据,将从待测试系统中获取的数据和预期结果(预期结果为最新更新的(A)的数据)进行对比,以检验待测试系统是否对(A)进行了数据更新,通过多次测试确定待测试系统的自动同步更新功能是否正常。
其中,(B)和(C)位置的数据类型是int类型,在接收到(B)和(C)位置的数据时,需要检验(B)和(C)位置的数据是否符合int类型数据的特点。STATE是一条信息的状态码,可通过不同的数值表示不同的状态,其数据是根据等价值划分法在一定范围内生成的随机数值。例如,将范围设定在0-5,则代表该条信息具有6种状态。该随机数的生成方式是通过调用random函数,由系统在一定范围内自动生成随机数,这些随机数之间是等价的。例如,STATE表示公司类型,0-5这6个数值分别表示不同的企业类型,企业类型包括上市企业、创业公司、国有企业、外资企业、中外合资企业等。
GRADE指的是评分,通常数值在[0,100]之间,该数据采用临界值划分法生成数据,临界值即在一定范围内的最大值、最小值、0、1等特殊数值。
需要说明的是,限定条件可以是用户直接输入的数值,也可以是通过某种方式生成的数值。例如,在本实施例中,仅规定了(B)为0-5中的数值,(C)为[0,100]的数值或者数值范围。在对待测试系统进行测试时,调用random函数,分别生成(B)的数值和(C)的数值,得到限定条件,即STATE和GRADE的数值均确定下来。然后再根据STATE和GRADE的数值从数据库中找到符合限定条件的(A),将(A)填充到测试信息的(A)位置。
由此,本实施例提供的方法通过限定条件实现了每次测试时测试数据的自动生成,不需要通过人工每次输入测试数据,提高了测试效率。
进一步地,在上述各实施例的基础上,所述接收对待测试系统的预设功能点进行测试的测试信息,包括:
每次接收到对待测试系统的预设功能点进行测试的测试信息时,判断当前接收到的测试信息是否符合预设顺序,且接收到的测试信息是否符合预设格式,若是,则存储接收到的测试信息,否则,发出重新输入测试信息的第一提示信息;
其中,所述预设顺序规定了接收所述测试操作、所述预期结果和所述限定条件的先后顺序,所述预设格式分别规定了接收所述测试操作、所述预期结果和所述限定条件对应的数据类型和语法规则。
进一步,所述第一提示信息包括在当前接收到的测试信息不符合预设顺序时,发出测试信息不符合所述预设顺序,重新输入测试信息的信息,以及在接收到的测试信息不符合预设格式时,发出测试信息不符合所述预设格式,重新输入测试信息的信息。第一提示信息可以通过在测试设备上弹出浮窗的形式发出或者通过向用户发出邮件或者短信的方式发出,本实施例对此不做具体限制。
本实施例提供了一种自动化测试的方法,对接收到的测试信息在输入顺序和输入的格式上进行检查,避免了后续将输入的测试信息转换为预设语言的测试脚本文件时出现错误。
举例来说,上述步骤S1和步骤S21均是为了对输入的测试信息进行检查,若规定输入的信息只能是int类型,那么测试人员输入string类型的信息时应该提示报错。当然,可以通过正则校验对测试人员输入的信息进行校验,正则匹配规则定义在脚本生成规则中。
此外,测试人员在输入测试信息时,需要根据测试要求按顺序输入。测试待测试数据同步更新的功能时,输入的测试信息遵循如下顺序:服务器的IP和端口号;数据库的更新次数和每次更新的时间间隔;执行的SQL语句;测试的预期结果。在接收到测试人员输入的测试信息时,需要根据上述顺序检测输入的信息是否满足预设顺序。步骤S21中的一般规则指计算机某一技术领域的通用规则,如SQL语句、Java语言的语法规则等。对测试人员输入的信息进行校验分析的过程中,如果对输入的SQL语义进行分析,则需确定其符合SQL语句的一般规则。比如测试人员输入的是update TABLE1 set NAME=(A)where STATE=(B)andGRADE=(C),则对该SQL语句中的关键字update及其语法规则进行校验。
进一步地,在上述各实施例的基础上,所述根据所述测试信息和所述目标数据生成以预设语言编写的测试脚本文件:
将所述目标数据补充到所述测试信息中,分别将所述测试信息中的测试操作、预期结果和限定条件转换为以所述预设语言编写的代码;
在以所述预设语言编写的测试脚本框架中,根据所述预设顺序分别确定所述测试脚本框架中对应于测试操作、预期结果和限定条件的标签;
根据对应于测试操作的标签将以所述预设语言编写的测试操作填入所述测试脚本框架,根据对应于预期结果的标签将以所述预设语言编写的预期结果填入所述测试脚本框架,根据对应于限定条件的标签将以所述预设语言编写的限定条件填入所述测试脚本框架,得到以预设语言编写的测试脚本文件;
其中,所述限定条件中包括用于将所述目标数据补充到所述测试信息中的语句。
例如,在上述步骤S22中,限定条件对应的语句update TABLE1 set NAME=(A)where STATE=(B)and GRADE=(C)中,(A)即为目标数据的位置。在根据(B)和(C)查找到符合限定条件的(A)后,将(A)补充到该语句中,得到完整的测试信息,再进行XML转换,得到测试脚本文件。
本实施例提供了一种自动化测试的方法,通过输入顺序和标签的对应关系将测试信息转换为以预设语言编写的测试脚本文件,实现了测试信息向统一的脚本格式的转换。
举例来说,上述步骤S23和步骤S24阐述了将测试信息转换为XML语言的测试脚本文件的过程,具体包括:
由于根据测试人员输入的测试信息的先后顺序能够确定出某一段测试信息的内容是什么,因此,在向预设语言编写的测试脚本框架中填入测试信息时,可以参照输入测试信息的先后顺序。
例如,在XML的测试脚本框架中,<DMHSTEST>标签对应了待测试系统基本信息、功能描述、测试用例集合;<CASE>标签对应了预期结果、测试需要执行的操作,即测试操作;<SQL>标签对应了具体的操作语句,即限定条件;<EXPRESULT>标签对应了预期结果,经过以上转换后最终得到XML自动化测试脚本文件。
如下为XML编写的测试脚本文件的示例:
<?xml version=″1.0″encoding=″utf-8″>
<DMHSTEST>
<SOURCEDB>127.0.0.1:6325</SOURCEDB>
<DESC>测试用例功能描述</DESC>
<CASE>
<COUNT>10</COUNT>
<AVG_TIME>1800000</AVG_TIME>
<SQL>update TABLE1set NAME=’a’where STATE=1 and GRADE=97</SQL>
<EXPRESULT>EXECUTE_SUCCESS</EXPRESULT>
</CASE>
</DMHSTEST>
图2是接收测试信息到生成测试脚本文件的过程示意图,参见图2和上述步骤S1和S2可知,测试设备结合测试人员输入的测试信息和针对每一功能点的脚本生成规则,对输入的测试信息进行语义分析、数据生成、步骤解释、测试用例文件生成,最终得到以XML语言编写的测试脚本。
进一步地,在上述各实施例的基础上,所述通过所述测试脚本文件对所述预设功能点进行测试,得到测试结果,并根据所述测试结果和所述预测结果生成对所述预设功能点进行测试的测试报告,包括:
根据所述测试脚本文件中的目标数据对所述预设功能点进行测试,接收对所述预设功能点进行测试的测试结果,将接收到的测试结果和所述测试脚本文件中的预期结果进行对比,根据对比的结果生成所述测试报告,并根据对比的结果在所述测试报告中标记出存在异常的测试结果,显示所述测试报告。
进一步地,在上述各实施例的基础上,所述预设语言为XML。
在测试设备中,通常设置了专门对预设功能点进行测试的功能模块(例如,执行器),当测试设备生成以预设语言编写的测试脚本文件后,通过该模块实现对预设功能点的测试,得到测试报告。
图3为执行器对待测试系统的预设功能点进行测试的示意图,参见图3,上述步骤S3的执行过程具体为:
加载脚本:执行器在读取脚本之前,会校验脚本文件后缀名。本实施例中的执行器只能读取XML格式的脚本文件。
用户可以指定文件读取路径,当指定读取路径中没有XML脚本文件时,会读取默认路径中的XML脚本文件。
解析脚本:对脚本的解析是按照读取顺序进行的,解析出来的数据为下一步执行脚本的操作做准备。例如:解析SQL标记,则该标记主要作用就是执行数据库操作。
执行脚本:执行测试用例是执行器按读取顺序逐一执行操作命令。在用例执行过程中需要记录测试工具运行状况、定位异常出现的位置、确保执行器与待测试系统之间通信正常。在执行器操作结束后生成测试报告。
测试结果:本实施例中测试结果以测试报告的形式呈现。
测试报告中对于通过测试的测试用例,要记录测试执行的详细信息;未通过测试的测试用例,要记录下异常发生的具体位置方便测试人员定位。
此外,在测试报告的最后要进行统计分析,计算出测试用例执行成功的个数和失败的个数。
本实施例在根据限定条件确定测试的目标数据后,将完整的测试信息输入到XML脚本生成器中,自动生成测试脚本文件。通过该方法将测试脚本的生成由手工录入转变为自动生成,测试过程中不需要测试人员再去选择执行,使待测系统能够更高效地完成自动化测试,减少了事前准备时间,提升了测试工作效率。
另一方面,本实施例提供的自动化测试的方法中,根据企业数据不同数据维度(例如,企业类型)上的数据特点,在近百个数据维度中重点提取少量维度,自动生成用于测试的目标数据,使得自动测试的针对性更强,更容易发现可能的错误。
图4示出了本发明的实施例提供的一种自动化测试的装置的结构框图,参见图4,本实施例提供的自动化测试的装置包括接收模块401、生成模块402和测试模块403,其中,
接收模块401,用于接收对待测试系统的预设功能点进行测试的测试信息;其中,所述测试信息中包括对所述预设功能点进行测试的测试操作和预期结果,以及每次对所述预设功能点进行测试的数据满足的限定条件;
生成模块402,用于每次根据所述测试操作对所述预设功能点进行测试时,根据所述限定条件确定本次对所述预设功能点进行测试的目标数据,并根据所述测试信息和所述目标数据生成以预设语言编写的测试脚本文件;
测试模块403,用于通过所述测试脚本文件对所述预设功能点进行测试,得到测试结果,并根据所述测试结果和所述预测结果生成对所述预设功能点进行测试的测试报告。
本实施例提供的自动化测试的装置适用于上述实施例中提供的自动化测试的方法,在此不再赘述。
本发明的实施例提供了一种自动化测试的装置,该装置在对待测试系统的预设功能点进行测试时,只需用户输入测试信息,测试信息包括了每次对该预设功能点进行测试的数据的限定条件。每次对该预设功能点进行测试时,自动根据限定条件查找本次测试的目标数据,由查找的目标数据和用户生成的测试信息生成测试脚本文件,实现对预设功能点的测试。该装置仅需要用户输入用于测试的数据的限定条件,每次对预设功能点进行测试时,自动根据限定条件生成目标数据完成测试,不需要用户每次输入测试的数据,节省了人力资源,提高了测试效率。
图5是示出本实施例提供的电子设备的结构框图。
参照图5,所述电子设备包括:处理器(processor)501、存储器(memory)502、通信接口(Communications Interface)503和总线504;
其中,
所述处理器501、存储器502、通信接口503通过所述总线504完成相互间的通信;
所述通信接口503用于该电子设备和被测试设备的通信设备之间的信息传输;
所述处理器501用于调用所述存储器502中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:接收对待测试系统的预设功能点进行测试的测试信息;其中,所述测试信息中包括对所述预设功能点进行测试的测试操作和预期结果,以及每次对所述预设功能点进行测试的数据满足的限定条件;每次根据所述测试操作对所述预设功能点进行测试时,根据所述限定条件确定本次对所述预设功能点进行测试的目标数据,并根据所述测试信息和所述目标数据生成以预设语言编写的测试脚本文件;通过所述测试脚本文件对所述预设功能点进行测试,得到测试结果,并根据所述测试结果和所述预测结果生成对所述预设功能点进行测试的测试报告。
本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:接收对待测试系统的预设功能点进行测试的测试信息;其中,所述测试信息中包括对所述预设功能点进行测试的测试操作和预期结果,以及每次对所述预设功能点进行测试的数据满足的限定条件;每次根据所述测试操作对所述预设功能点进行测试时,根据所述限定条件确定本次对所述预设功能点进行测试的目标数据,并根据所述测试信息和所述目标数据生成以预设语言编写的测试脚本文件;通过所述测试脚本文件对所述预设功能点进行测试,得到测试结果,并根据所述测试结果和所述预测结果生成对所述预设功能点进行测试的测试报告。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如,包括:接收对待测试系统的预设功能点进行测试的测试信息;其中,所述测试信息中包括对所述预设功能点进行测试的测试操作和预期结果,以及每次对所述预设功能点进行测试的数据满足的限定条件;每次根据所述测试操作对所述预设功能点进行测试时,根据所述限定条件确定本次对所述预设功能点进行测试的目标数据,并根据所述测试信息和所述目标数据生成以预设语言编写的测试脚本文件;通过所述测试脚本文件对所述预设功能点进行测试,得到测试结果,并根据所述测试结果和所述预测结果生成对所述预设功能点进行测试的测试报告。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的电子设备等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上各实施例仅用以说明本发明的实施例的技术方案,而非对其限制;尽管参照前述各实施例对本发明的实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明的实施例各实施例技术方案的范围。
Claims (10)
1.一种自动化测试的方法,其特征在于,包括:
接收对待测试系统的预设功能点进行测试的测试信息;其中,所述测试信息中包括对所述预设功能点进行测试的测试操作和预期结果,以及每次对所述预设功能点进行测试的数据满足的限定条件;
每次根据所述测试操作对所述预设功能点进行测试时,根据所述限定条件确定本次对所述预设功能点进行测试的目标数据,并根据所述测试信息和所述目标数据生成以预设语言编写的测试脚本文件;
通过所述测试脚本文件对所述预设功能点进行测试,得到测试结果,并根据所述测试结果和所述预测结果生成对所述预设功能点进行测试的测试报告。
2.根据权利要求1所述的方法,其特征在于,所述接收对待测试系统的预设功能点进行测试的测试信息之前,还包括:
获取用于对所述预设功能点进行测试的数据库中的数据对应的至少一个数据维度,在每一数据维度下,将对所述数据库中的数据划分为不同的类别,并将属于不同类别的数据映射为不同的数值,所述限定条件包括每次对所述预设功能点进行测试的数据在各数据维度下对应的数值或者数值范围。
3.根据权利要求2所述的方法,其特征在于,所述每次根据所述测试操作对所述预设功能点进行测试时,根据所述限定条件确定本次对所述预设功能点进行测试的目标数据,包括:
每次根据所述测试操作中规定的测试时间对所述预设功能点进行测试时,获取所述限定条件中规定的本次对所述预设功能点进行测试的数据在各数据维度上对应的数值或者数值范围,从所述数据库中查找在各数据维度上均满足所述限定条件中规定的数值或者数值范围的数据,作为所述目标数据。
4.根据权利要求2所述的方法,其特征在于,所述接收对待测试系统的预设功能点进行测试的测试信息,包括:
每次接收到对待测试系统的预设功能点进行测试的测试信息时,判断当前接收到的测试信息是否符合预设顺序,且接收到的测试信息是否符合预设格式,若是,则存储接收到的测试信息,否则,发出重新输入测试信息的第一提示信息;
其中,所述预设顺序规定了接收所述测试操作、所述预期结果和所述限定条件的先后顺序,所述预设格式分别规定了接收所述测试操作、所述预期结果和所述限定条件对应的数据类型和语法规则。
5.根据权利要求4所述的方法,其特征在于,所述根据所述测试信息和所述目标数据生成以预设语言编写的测试脚本文件:
将所述目标数据补充到所述测试信息中,分别将所述测试信息中的测试操作、预期结果和限定条件转换为以所述预设语言编写的代码;
在以所述预设语言编写的测试脚本框架中,根据所述预设顺序分别确定所述测试脚本框架中对应于测试操作、预期结果和限定条件的标签;
根据对应于测试操作的标签将以所述预设语言编写的测试操作填入所述测试脚本框架,根据对应于预期结果的标签将以所述预设语言编写的预期结果填入所述测试脚本框架,根据对应于限定条件的标签将以所述预设语言编写的限定条件填入所述测试脚本框架,得到以预设语言编写的测试脚本文件;
其中,所述限定条件中包括用于将所述目标数据补充到所述测试信息中的语句。
6.根据权利要求1所述的方法,其特征在于,所述通过所述测试脚本文件对所述预设功能点进行测试,得到测试结果,并根据所述测试结果和所述预测结果生成对所述预设功能点进行测试的测试报告,包括:
根据所述测试脚本文件中的目标数据对所述预设功能点进行测试,接收对所述预设功能点进行测试的测试结果,将接收到的测试结果和所述测试脚本文件中的预期结果进行对比,根据对比的结果生成所述测试报告,并根据对比的结果在所述测试报告中标记出存在异常的测试结果,显示所述测试报告。
7.根据权利要求2所述的方法,其特征在于,所述数据纬度包括企业类型、企业评分和企业资金状态。
8.一种自动化测试的装置,其特征在于,包括:
接收模块,用于接收对待测试系统的预设功能点进行测试的测试信息;其中,所述测试信息中包括对所述预设功能点进行测试的测试操作和预期结果,以及每次对所述预设功能点进行测试的数据满足的限定条件;
生成模块,用于每次根据所述测试操作对所述预设功能点进行测试时,根据所述限定条件确定本次对所述预设功能点进行测试的目标数据,并根据所述测试信息和所述目标数据生成以预设语言编写的测试脚本文件;
测试模块,用于通过所述测试脚本文件对所述预设功能点进行测试,得到测试结果,并根据所述测试结果和所述预测结果生成对所述预设功能点进行测试的测试报告。
9.一种电子设备,其特征在于,包括:
至少一个处理器、至少一个存储器、通信接口和总线;其中,
所述处理器、存储器、通信接口通过所述总线完成相互间的通信;
所述通信接口用于该电子设备和被测试设备的通信设备之间的信息传输;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至7中任一项所述的方法。
10.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810917776.8A CN109254912A (zh) | 2018-08-13 | 2018-08-13 | 一种自动化测试的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810917776.8A CN109254912A (zh) | 2018-08-13 | 2018-08-13 | 一种自动化测试的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109254912A true CN109254912A (zh) | 2019-01-22 |
Family
ID=65050146
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810917776.8A Pending CN109254912A (zh) | 2018-08-13 | 2018-08-13 | 一种自动化测试的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109254912A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110071848A (zh) * | 2019-03-27 | 2019-07-30 | 武汉思普崚技术有限公司 | 自动化测试命令行命令的方法及设备 |
CN110162465A (zh) * | 2019-04-19 | 2019-08-23 | 平安普惠企业管理有限公司 | 一种银行软件系统测试方法、装置、电子设备及存储介质 |
CN111008150A (zh) * | 2019-12-23 | 2020-04-14 | 杭州迪普科技股份有限公司 | 一种测试报告生成方法、装置及设备 |
CN111464552A (zh) * | 2020-04-11 | 2020-07-28 | 北京天地和兴科技有限公司 | 一种基于包过滤规则的防火墙自动化测试系统 |
CN111865437A (zh) * | 2020-06-24 | 2020-10-30 | 紫光展讯通信(惠州)有限公司 | 一种数字化转换方法及装置 |
CN112559323A (zh) * | 2020-11-26 | 2021-03-26 | 成都市吉祥锐意科技有限公司 | 一种测试服务器告警信息的测试方法 |
CN113433921A (zh) * | 2020-03-23 | 2021-09-24 | 北京新能源汽车股份有限公司 | 一种实车功能的测试方法、装置及控制设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105681126A (zh) * | 2015-12-30 | 2016-06-15 | 合一网络技术(北京)有限公司 | 一种基于协议接口的自动化测试方法及系统 |
CN105912460A (zh) * | 2016-04-05 | 2016-08-31 | 浪潮电子信息产业股份有限公司 | 一种基于qtp的软件测试方法及系统 |
CN107508720A (zh) * | 2017-07-25 | 2017-12-22 | 中国银联股份有限公司 | 一种自动化测试方法及装置 |
-
2018
- 2018-08-13 CN CN201810917776.8A patent/CN109254912A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105681126A (zh) * | 2015-12-30 | 2016-06-15 | 合一网络技术(北京)有限公司 | 一种基于协议接口的自动化测试方法及系统 |
CN105912460A (zh) * | 2016-04-05 | 2016-08-31 | 浪潮电子信息产业股份有限公司 | 一种基于qtp的软件测试方法及系统 |
CN107508720A (zh) * | 2017-07-25 | 2017-12-22 | 中国银联股份有限公司 | 一种自动化测试方法及装置 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110071848A (zh) * | 2019-03-27 | 2019-07-30 | 武汉思普崚技术有限公司 | 自动化测试命令行命令的方法及设备 |
CN110162465A (zh) * | 2019-04-19 | 2019-08-23 | 平安普惠企业管理有限公司 | 一种银行软件系统测试方法、装置、电子设备及存储介质 |
CN111008150A (zh) * | 2019-12-23 | 2020-04-14 | 杭州迪普科技股份有限公司 | 一种测试报告生成方法、装置及设备 |
CN111008150B (zh) * | 2019-12-23 | 2024-03-22 | 杭州迪普科技股份有限公司 | 一种测试报告生成方法、装置及设备 |
CN113433921A (zh) * | 2020-03-23 | 2021-09-24 | 北京新能源汽车股份有限公司 | 一种实车功能的测试方法、装置及控制设备 |
CN111464552A (zh) * | 2020-04-11 | 2020-07-28 | 北京天地和兴科技有限公司 | 一种基于包过滤规则的防火墙自动化测试系统 |
CN111865437A (zh) * | 2020-06-24 | 2020-10-30 | 紫光展讯通信(惠州)有限公司 | 一种数字化转换方法及装置 |
CN111865437B (zh) * | 2020-06-24 | 2022-07-19 | 紫光展讯通信(惠州)有限公司 | 一种数字化转换方法及装置 |
CN112559323A (zh) * | 2020-11-26 | 2021-03-26 | 成都市吉祥锐意科技有限公司 | 一种测试服务器告警信息的测试方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109254912A (zh) | 一种自动化测试的方法及装置 | |
CN105426292B (zh) | 一种游戏日志实时处理系统及方法 | |
CN106095673B (zh) | 基于web接口的自动化测试方法及系统 | |
EP4195112A1 (en) | Systems and methods for enriching modeling tools and infrastructure with semantics | |
US20170109657A1 (en) | Machine Learning-Based Model for Identifying Executions of a Business Process | |
US20170109676A1 (en) | Generation of Candidate Sequences Using Links Between Nonconsecutively Performed Steps of a Business Process | |
US20170109668A1 (en) | Model for Linking Between Nonconsecutively Performed Steps in a Business Process | |
CN107506451A (zh) | 用于数据交互的异常信息监控方法及装置 | |
US20170109667A1 (en) | Automaton-Based Identification of Executions of a Business Process | |
US20190325323A1 (en) | Knowledge management | |
US20090271351A1 (en) | Rules engine test harness | |
US20170109636A1 (en) | Crowd-Based Model for Identifying Executions of a Business Process | |
US20230129123A1 (en) | Monitoring and Management System for Automatically Generating an Issue Prediction for a Trouble Ticket | |
US20170109639A1 (en) | General Model for Linking Between Nonconsecutively Performed Steps in Business Processes | |
CN108108445A (zh) | 一种智能数据处理方法和系统 | |
US20170109638A1 (en) | Ensemble-Based Identification of Executions of a Business Process | |
CN108369675A (zh) | 用于案例分配的技术 | |
CN110471652A (zh) | 任务编排方法、编排器、设备及可读存储介质 | |
CN106708965A (zh) | 一种数据的处理方法和装置 | |
CN111199469A (zh) | 用户还款模型生成方法、装置及电子设备 | |
CN108733712A (zh) | 一种问答系统评价方法和装置 | |
US20170109640A1 (en) | Generation of Candidate Sequences Using Crowd-Based Seeds of Commonly-Performed Steps of a Business Process | |
US20170109637A1 (en) | Crowd-Based Model for Identifying Nonconsecutive Executions of a Business Process | |
US20170109670A1 (en) | Crowd-Based Patterns for Identifying Executions of Business Processes | |
He et al. | Using software dependency to bug prediction |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190122 |
|
RJ01 | Rejection of invention patent application after publication |