CN113934638A - 一种自动化测试方法 - Google Patents

一种自动化测试方法 Download PDF

Info

Publication number
CN113934638A
CN113934638A CN202111257922.7A CN202111257922A CN113934638A CN 113934638 A CN113934638 A CN 113934638A CN 202111257922 A CN202111257922 A CN 202111257922A CN 113934638 A CN113934638 A CN 113934638A
Authority
CN
China
Prior art keywords
field value
service
variable
data type
memory
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
Application number
CN202111257922.7A
Other languages
English (en)
Inventor
张友璇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Pinwei Software Co Ltd
Original Assignee
Guangzhou Pinwei Software Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangzhou Pinwei Software Co Ltd filed Critical Guangzhou Pinwei Software Co Ltd
Priority to CN202111257922.7A priority Critical patent/CN113934638A/zh
Publication of CN113934638A publication Critical patent/CN113934638A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test 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)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请公开了一种自动化测试方法,包括:响应用户向表格中写入数据的操作,生成随机数,所写入的数据包括第一数据类型、各第一数据类型对应的字段值及第二数据类型,该表格与被测服务对应;将该表格转换为bean对象,将该随机数作为该第二数据类型的字段值,将该第一数据类型、该第二数据类型及各自对应的字段值写入该表格中;根据该bean对象,将各个字段值转换为变量,将该变量写入内存中;调用该被测服务,由该被测服务在内存中对目标变量执行测试;接收该被测服务返回的测试结果。可见,本申请在写入数据时,不需要逐个将数据写入表格中,减少了代码量,提高了自动化测试的效率。且通过随机数和bean对象,可以减少脏数据的产生。

Description

一种自动化测试方法
技术领域
本申请涉及自动化测试领域,更具体地说,涉及一种自动化测试方法。
背景技术
测试是整个研发过程中不可或缺的一部分,一个研发项目会经过快速迭代最终走向以维护为主的状态,在合理的时机以合理的方式引入自动化测试能有效减少人工维护成本。
在现有的自动化测试过程中,需要使用结构化查询语言(Structured QueryLanguage,SQL)往数据库中写入数据进行测试。其中,数据库模式定义语言(DataDefinition Language,DDL),使用十分广泛,但使用SQL语句进行自动化检测时,往数据库中写入一个数据,就需要编写与该数据对应的SQL语句,故在测试用例时,需要编写的代码量较大,以至于现有的自动化检测技术效率较低。
基于上述情况,亟需一种自动化测试方法,用于解决现有自动化测试效率较低的问题。
发明内容
有鉴于此,本申请提供了一种自动化测试方法,用于解决现有自动化测试效率较低的缺点。
为了实现上述目的,现提出的方案如下:
一种自动化测试方法,包括:
响应用户向表格中写入数据的操作,生成随机数,用户操作所写入的数据包括至少一个第一数据类型、各第一数据类型对应的字段值及第二数据类型,所述表格与被测服务对应;
将所述表格转换为bean对象,将所述随机数作为所述第二数据类型的字段值,并将所述第一数据类型、所述第二数据类型及各自对应的字段值写入所述表格中;
根据所述bean对象,将各个字段值转换为变量,并将所述变量写入内存中;
调用所述被测服务,由所述被测服务在内存中对目标变量执行测试;
接收所述被测服务返回的测试结果。
可选的,所述生成随机数,包括:
根据被测环境的标识和当前纳米级时间戳,生成随机数。
可选的,在根据所述bean对象,将各个字段值转换为变量之前,还包括:
确定字段值和表格中的序号之间的对应关系,并将字段值和表格中的序号之间的对应关系写入内存中;
将各字段值与数据类型之间的对应关系写入内存中;
确定各字段值与bean对象的标识之间的对应关系,并将各字段值与bean对象的标识之间的对应关系写入内存中。
可选的,所述根据所述bean对象,将所述各个字段值转换为变量,包括:
将每一字段值对应的序号、数据类型及bean对象的标识进行组合,得到各个字段值对应的组合;
根据所述bean对象,将各个字段值转换为与各个组合对应的变量。
可选的,所述被测服务在内存中对目标变量执行测试,包括:
所述被测服务根据目标变量的目标序号、目标数据类型及bean对象的标识,在内存中对所述目标变量执行测试。
可选的,在根据所述bean对象,将所述各个字段值转换为变量,并将所述变量写入内存中之后,还包括:
响应用户修改指定变量的操作,将所述指定变量中的字段值修改为用户定义的数值,并将修改后的指定变量存入内存中。
可选的,所述被测服务在内存中对目标变量执行测试,包括:
被测服务对目标变量的字段值进行修改;
在接收所述被测服务返回的测试结果之后,该方法还包括:
对所述目标变量进行断言预判,以得到所述被测服务返回的测试结果的准确性。
可选的,所述调用所述被测服务,由被测服务在内存中对目标变量执行测试,包括:
调用所述被测服务并模拟第三方服务发送所需变量给所述被测服务;
由所述被测服务根据所需变量,确定目标变量;
由所述被测服务,在内存中对目标变量执行测试。
可选的,在接收被测服务返回的测试结果之后,还包括:
删除表格中写入的数据。
可选的,还包括:
响应用户对代码的调用操作,显示调用的代码,以供用户进行修改;
执行修改后的代码。
从上述的技术方案可以看出,本申请实施例提供的自动化检测方法,通过响应用户向表格中写入数据的操作,生成随机数,用户操作所写入的数据包括至少一个第一数据类型、各第一数据类型对应的字段值及第二数据类型,所述表格与被测服务对应;将所述表格转换为bean对象,将所述随机数作为所述第二数据类型的字段值,并将所述第一数据类型、所述第二数据类型及各自对应的字段值写入所述表格中,所述表格与被测服务对应;根据所述bean对象,将各个字段值转换为变量,并将所述变量写入内存中;调用所述被测服务,由所述被测服务在内存中对目标变量执行测试;接收所述被测服务返回的测试结果。由此可知,通过本申请通过响应用户写入数据的操作,可以将与被测服务对应的表格转换为bean对象,然后往表格中写入第一数据类型及其对应的字段值,以及第二数据类型及其对应的随机数,如此,因为一个第一数据类型就仅有一个对应的字段值,本申请在写入数据时,就不需要像现有技术一样使用SQL语句将数据一个一个地写入表格中,减少了代码量,基于此,本申请提高了自动化测试的效率。
除此之外,本申请还根据bean对象,将各个字段值转换为变量并存入内存中,当调用的被测服务需要在内存中对目标变量执行测试时,被测服务直接就能在内存中,对所述目标变量执行测试,本申请会接收所述被测服务返回的测试结果。在此过程中,因为随机数也存入了bean对象中,在根据bean对象将各个字段值转换为变量时,就已经将各个变量与所述表格中的其他数据区分开,所以在调用目标变量时,不会对其他数据进行调用,更不会对其他数据进行修改,减少了自动化测试过程中脏数据的产生。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种自动化测试方法的流程示意图;
图2为本申请实施例提供的一种根据bean对象将各个字段值转换为变量并写入内存的流程示意图;
图3为本申请实施例提供的又一种自动化测试方法的流程示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请提供的自动化测试方法,可以应用于自动化测试领域,接下来结合图1对本申请的自动化测试方法进行详细介绍,包括如下步骤:
步骤S110、响应用户向表格中写入数据的操作,生成随机数,用户操作所写入的数据包括至少一个第一数据类型、各第一数据类型对应的字段值及第二数据类型,所述表格与被测服务对应。
具体地,本申请的第一数据类型及第二数据类型皆是用户定义的数据类型。
在本申请中,所述各第一数据类型对应的字段值为用户定义的数值。
本申请中的第一数据类型可以有多种类型,示例如,学生的年龄、学生的成绩、学生的班级等。
本申请中的第二数据类型可以有多种类型,示例如,学生的学号和学生的电话号码等。
步骤S120、将所述表格转换为bean对象,将所述随机数作为所述第二数据类型的字段值,并将所述第一数据类型、所述第二数据类型及各自对应的字段值写入所述表格中。
具体地,bean对象是指一种可复用的类。
该第一数据类型对应的字段值为用户定义的数值,同一个数据类型所对应的字段值可以是一样的,也可以是不一样的。
若想要将同一个数据类型所对应的字段值设为同一个数值,则可以直接定义数据类型的字段值为一个数值,如此,该数据类型的字段值都是相同。
在本申请中,可以将数据类型及其对应的字段值写入所述表格中,具体步骤如下:
S210、可以将表格转换为bean对象,在表格中,生成具体的bean对象。
S220、可以将用户定义的各数据类型输入表格中。
其中,各数据类型包括第一数据类型和第二数据类型。
S230、可以将各具体的bean对象与各数据类型进行组合,得到组合块;
S240、确定各字段值与组合块之间的对应关系;
S250、按照各个对应关系,给bean对象的各个字段写入字段值。
具体地,本申请中所写入的字段值包括第二数据类型所对应的随机数,因为随机数与其他存在于表格中的数据不同,如此,通过随机数可以将本申请所写入的数据与表格中的其他数据区分开。
步骤S130、根据所述bean对象,将各个字段值转换为变量,并将所述变量写入内存中。
具体地,可以根据所述bean对象,在与所述被测服务对应的表格中,将步骤S120中所写入的字段值转换为变量,以供被测服务进行测试。
步骤S140、调用所述被测服务,由所述被测服务在内存中对目标变量执行测试。
具体地,本申请可以调用所述被测服务,可以由被测服务对在步骤S130中所转换的目标变量执行测试。
在本申请中,由所述被测服务对目标变量执行的测试可以有多种,示例如,对目标变量的字段值进行修改,对目标变量的字段值进行调用等。
步骤S150、接收所述被测服务返回的测试结果。
具体地,由所述被测服务执行的测试完成后,由被测服务返回测试结果给本申请,本申请可以接收所述被测服务返回的测试结果。
从上述的技术方案可以看出,本申请实施例提供的自动化测试方法通过响应用户向表格中写入数据的操作,生成随机数,用户操作所写入的数据包括至少一个第一数据类型、各第一数据类型对应的字段值及第二数据类型,所述表格与被测服务对应;将所述表格转换为bean对象,将所述随机数作为所述第二数据类型的字段值,并将所述第一数据类型、所述第二数据类型及各自对应的字段值写入所述表格中,所述表格与被测服务对应;根据所述bean对象,将各个字段值转换为变量,并将所述变量写入内存中;调用所述被测服务,由所述被测服务在内存中对目标变量执行测试;接收所述被测服务返回的测试结果。由此可知,通过本申请通过响应用户写入数据的操作,可以将与被测服务对应的表格转换为bean对象,然后往表格中写入第一数据类型及其对应的字段值,以及第二数据类型及其对应的随机数,如此,因为一个第一数据类型就仅有一个对应的字段值,本申请在写入数据时,就不需要像现有技术一样使用SQL语句将数据一个一个地写入表格中,减少了代码量,基于此,本申请提高了自动化测试的效率。
除此之外,本申请还根据bean对象,将各个字段值转换为变量并存入内存中,当调用的被测服务需要在内存中对目标变量执行测试时,被测服务直接就能在内存中,对所述目标变量执行测试,本申请会接收所述被测服务返回的测试结果。在此过程中,因为随机数也存入了bean对象中,在根据bean对象将各个字段值转换为变量时,就已经将各个变量与所述表格中的其他数据区分开,所以在调用目标变量时,不会对其他数据进行调用,更不会对其他数据进行修改,减少了自动化测试过程中脏数据的产生。
下面将在一个具体的实现场景下,对本申请进行介绍。
若被测服务的功能为修改学生的年龄。则与被测服务对应的表格为学生的基础信息表。
本申请可以执行如下步骤,对该被测服务进行自动化测试。
S310、可以响应用户向学生的基础信息表中写入数据的操作,生成随机数,用户操作所写入的数据包括第一数据类型,如学生的姓名、学生的成绩、学生的年龄,以及,各第一数据类型对应的字段值。在此基础上,用户操作所写入的数据还包括第二数据类型,如学生的学号。
S320、可以将所述学生的基础信息表转换为一个可复用的类bean对象,换言之,可将所述学生的基础信息表转换为一个可被设备复用的bean对象。
S330、可以将数据类型如学生的姓名、学生的成绩、学生的年龄、学生的学号写入所述学生的基础信息表中。
S340、可以给bean对象的各个字段赋值。
具体地,可以将所述随机数作为第二数据类型如学生的学号所对应的字段值写入学生的基础信息表中,可以将第一数据类型如学生的姓名所对应的字段值、学生的成绩所对应的字段值及学生的年龄所对应的字段值皆写入学生的基础信息表中。
S350、根据所述bean对象,将各学生的学号所对应的字段值、学生的姓名所对应的字段值、学生的成绩所对应的字段值及学生的年龄所对应的字段值皆转换为变量写入内存中。
S360、可以调用所述被测服务,由所述被测服务在内存中对目标变量执行测试。
因为所述被测服务的功能为修改学生的年龄,则学生的年龄所对应的字段值为目标变量。
在内存中,由被测服务执行测试,对学生的年龄进行修改。
S370、由于所述被测服务修改年龄后,会返回测试结果,故本申请可以接收所述被测服务返回的测试结果。
由上述的具体实施方式可以发现,本申请实施例提供的自动化测试方法通过响应用户向表格中写入数据的操作,生成随机数,用户操作所写入的数据包括学生的姓名、学生的成绩、学生的年龄、学生的学号以及学生的姓名所对应的字段值、学生的成绩所对应的字段值、学生的年龄所对应的字段值,所述表格为学生与被测服务对应的学生的基础信息表;将所述表格转换为bean对象,将所述随机数作为所述学生的学号的字段值并写入学生的基础信息表中,并将所述学生的姓名及其所对应的字段值、学生的成绩及其所对应的字段值、学生的年龄及其所对应的字段值写入所述表格中;根据所述bean对象,将各个字段值转换为变量,并将所述变量写入内存中;调用所述被测服务,由所述被测服务在内存中对学生的年龄进行修改;接收所述被测服务返回的测试结果。由此可知,通过本申请通过响应用户写入数据的操作,可以将与被测服务对应的学生的基础信息表转换为bean对象,然后往表格中写入数据类型及其对应的字段值如此,因为一个数据类型就仅有一个对应的字段值,本申请在写入数据时,就不需要像现有技术一样使用SQL语句将数据一个一个地写入表格中,减少了代码量,基于此,本申请提高了自动化测试的效率。
除此之外,本申请还根据bean对象,将各个字段值转换为变量并存入内存中,当调用的被测服务需要在内存中对目标变量即学生的年龄所对应的字段值进行修改时,被测服务直接就能在内存中,对所述目标变量进行修改,本申请会接收所述被测服务返回的测试结果。在此过程中,因为随机数也存入了bean对象中,在根据bean对象将各个字段值转换为变量时,就已经将各个变量与所述表格中的其他数据区分开,所以在调用目标变量时,不会对其他数据进行调用,更不会对其他数据进行修改,减少了自动化测试过程中脏数据的产生。
进一步地,在本申请的一些实施例中,对于上述步骤S110生成随机数的过程,其可以是根据被测环境的标识和当前纳米级时间戳生成。
具体地,所述随机数可由被测环境的标识和当前纳米级时间戳构造。
由上述的技术方案可以看出,当将随机数写入表格中时,因为已经将所述表格转换为了bean对象,故随机数是bean对象的一部分。而当随机数根据被测环境的标识和当前纳米级时间戳生成时,能够很好地将本申请中的bean对象与表格中的其他数据区分开,如此就能够很好地将本申请在所述表格中所写入的数据与表格中的其他数据区分开,进一步的,减少了脏数据的产生。
参照图2,在本申请的一些实施例中,对上述步骤S130、根据所述bean对象,将各个字段值转换为变量,并将所述变量写入内存中的过程进行详细说明,步骤如下:
步骤S410、确定字段值和表格中的序号之间的对应关系,并将字段值和表格中的序号之间的对应关系写入内存中。
具体地,将所述字段值,写入所述表格中时,各字段值就有了其所对应的序号。位于表格中同一行的字段值,其序号可以是相同的。不同行的序号依次累加。
步骤S420、将各字段值与数据类型之间的对应关系写入内存中。
具体地,各字段值与数据类型之间的对应关系,在上述步骤S110和S120中已经确定了,此处可以将各字段值与数据类型之间的对应关系写入内存中。
步骤S430、确定各字段值与bean对象的标识之间的对应关系,并将各字段值与bean对象的标识之间的对应关系写入内存中。
具体地,该bean对象包含了各字段值,故所述bean对象的标识可以与各字段值之间都存在对应关系。
步骤S440、将每一字段值对应的序号、数据类型及bean对象的标识进行组合,得到各个字段值对应的组合。
具体地,在前述步骤中,已经确定每一字段值对应的序号、数据类型及bean对象的标识,在此基础上,本步骤中可以xx。
步骤S450、根据所述bean对象,将各个字段值转换为与各个组合对应的变量。
可以根据bean对象,将各个字段值转换为与序号、数据类型及bean对象的标识之间都存在对应关系的变量,以供被测服务进行测试。
步骤S460、所述被测服务根据目标变量的目标序号、目标数据类型及bean对象的标识,在内存中对所述目标变量执行测试。
被测服务可以根据目标变量的目标序号、目标数据类型及bean对象的标识,在内存中查找到所述目标变量,以对所述目标变量执行测试。
由上述的技术方案可以看出,相比于上一个实施例,本实施例增加了将每一字段值对应的序号、数据类型及bean对象的标识进行组合,得到各个字段值对应的组合,然后将各个字段值转换为与各个组合对应的变量。如此,就可以在内存中通过每一字段值对应的序号、数据类型及bean对象的标识对目标变量进行处理,也可以通过每一字段值对应的序号、数据类型及bean对象的标识直接调用目标变量。如此,进一步地,提高了自动化测试的效率。
在本申请的一些实施例中,还可以对表格中第一数据类型及第二数据类型对应的字段值进行修改。
具体地,在根据所述bean对象,将所述各个字段值转换为变量,并将所述变量写入内存中之后,还可以响应用户修改指定变量的操作,将所述指定变量中的字段值修改为用户定义的数值,并将修改后的指定变量存入内存中。
由于前述步骤S120中写入数据时,同一个数据类型下,字段值可以是一样的,因此,若用户仅想对该同一个数据类型下的部分字段值进行修改,本申请可以将用户指定变量中的字段值修改为用户定义的数值,并将修改后的指定变量存入内存中。
由上述的技术方案可以看出,本实施例与上述实施例相比,增加了可以对用户指定变量中的字段值进行修改,将其修改为用户指定的数值,并将修改后的指定变量存储于内存中,如此,可以在内存中,由被测服务对修改后的指定变量执行测试,进一步地,提高了自动化测试的效率。
参照图3,在本申请的一些实施例中,对上述步骤S140、调用所述被测服务,由所述被测服务在内存中对目标变量执行测试的过程进行详细说明,步骤如下:
步骤S510、响应用户向表格中写入数据的操作,生成随机数,用户操作所写入的数据包括至少一个第一数据类型、各第一数据类型对应的字段值及第二数据类型,所述表格与被测服务对应。
步骤S520、将所述表格转换为bean对象,将所述随机数作为所述第二数据类型的字段值,并将所述第一数据类型、所述第二数据类型及各自对应的字段值写入所述表格中。
步骤S530、根据所述bean对象,将各个字段值转换为变量,并将所述变量写入内存中。
步骤S540、调用所述被测服务,由所述被测服务在内存中对目标变量执行测试。
步骤S550、接收所述被测服务返回的测试结果。
上述步骤S510-S550与前述实施例中步骤S110-S150一一对应,详细参照前述介绍,此处不再赘述。
步骤S560、由被测服务对目标变量的字段值进行修改。
具体地,一些被测服务的功能可为对目标变量的字段值进行修改。
步骤S570、在接收所述被测服务返回的测试结果之后,对所述目标变量进行断言预判,以得到所述被测服务返回的测试结果的准确性。
具体地,所述断言预判指的是判断经所述被测服务修改后的目标变量是否符合预期,即,判断修改后的目标变量中的字段值是否和预期一致,从而可以得知所述被测服务的测试结果的准确性。
该被测服务在修改目标变量的成功后,可以发送测试结果给本申请,本申请在接收到该测试结果后,分析可知,所述被测服务的测试结果可表明其修改成功了,则本申请可以对修改后的目标变量进行断言预判,以确定所述被测服务的测试结果的准确性。
从上述技术方案可以看出,与上一实施例相比,本实施例增加了对经所述被测服务修改后的目标变量进行断言预判的过程,如此,能够得到所述被测服务的测试结果的准确性。
下面将以一个具体的例子,对图3的步骤进行详细说明。
若被测服务的功能为修改学生的年龄。则与被测服务对应的表格为学生的基础信息表。
本申请可以执行如下步骤,对该被测服务进行自动化测试。
S610、可以响应用户向学生的基础信息表中写入数据的操作,生成随机数。
S620、可以将所述学生的基础信息表转换为一个可复用的类bean对象,换言之,可将所述学生的基础信息表转换为一个可被设备复用的bean对象。
S630、可以将数据类型如学生的姓名、学生的成绩、学生的年龄、学生的学号写入所述学生的基础信息表中。
S640、可以给bean对象的各个字段赋值。
具体地,可以将所述随机数作为学生的学号所对应的字段值写入学生的基础信息表中,可以将学生的姓名所对应的字段值、学生的成绩所对应的字段值及学生的年龄所对应的字段值皆写入学生的基础信息表中。
S650、可以根据所述bean对象,将各学生的学号所对应的字段值、学生的姓名所对应的字段值、学生的成绩所对应的字段值及学生的年龄所对应的字段值皆转换为变量写入内存中。
上述步骤S610-S650与前述实施例中步骤S310-S350一一对应,详细参照前述介绍,此处不再赘述。
S660、可以由所述被测服务修改学生的年龄,将学生的年龄由18改为19。
S670、可以接收所述被测服务返回的测试结果,可分析测试结果,得到被测服务测试成功的信息。
S680、通过断言预判的方式,判断学生的年龄是否为19,即,判断被测服务返回的测试结果的准确性,若是,则被测服务的测试结果是准确的,若否,则被测服务的测试结果是错误的。
如此,通过断言预判的方式,确定了被测服务测试结果的准确性。
在本申请的一些实施例中,对上述步骤S140、调用所述被测服务,由所述被测服务在内存中对目标变量执行测试的过程,进行详细说明。
具体地,被测服务需要接收第三方服务提供的信息,才能对目标变量执行测试,故本申请可以模拟mock外部接口返回信息给被测服务。下面将对这一过程进行详细说明,步骤如下:
S610、调用所述被测服务并模拟第三方服务发送所需变量给所述被测服务;
具体地,本申请在调用被测服务后,还通过mock外部接口,将所述被测服务执行测试所需的变量,返回给所述被测服务,以供所述被测服务进行分析。
S620、由所述被测服务根据所需变量,确定目标变量;
具体地,可以由所述被测服务,接收mock外部接口返回的所需变量,对所需变量进行分析,以确定所述目标变量。
S630、由所述被测服务,在内存中对目标变量执行测试。
具体地,S630与前述步骤S140是对应的,详细情况可参考前述步骤,此处不再赘叙。
由上述技术方案可以看出,相比之下,本实施例比前述实施例增加了一个mock外部接口,通过mock外部接口,本申请将被测服务所需变量提供给被测服务。如此,在自动化测试过程中,测试所述被测服务时,就不需要依赖第三方服务,能够更充分地测试所述被测服务的行为。
此外,在本申请的一些实施例中,还可以由用户直接对代码进行修改,下面将对此过程进行详细说明,步骤如下:
S710、响应用户对代码的调用操作,显示调用的代码,以供用户进行修改。
具体地,可以响应用户点击代码的操作,显示用户调用的代码,以供用户进行修改。
S710、执行修改后的代码。
具体地,可以执行用户修改后的代码。
由上述技术方案可以看出,相比之下,本实施例比前述实施例增加了由用户调用所需代码,并对其进行修改,本申请执行修改后的代码的过程。如此,通过本申请,用户可以通过修改代码,不需要重复编写复杂的代码,就可以实现对其他被测服务的测试,进一步地,提高了自动化测试的效率。
除此之外,在本申请的一些实施例中,还可以删除表格中写入的数据。
如此,本申请删除了表格中所写入的数据后,则在测试过程所写入的数据就不会对被测服务再产生影响,减少了被测服务表格中的脏数据。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。本申请的各个实施例之间可以相互结合。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种自动化测试方法,其特征在于,包括:
响应用户向表格中写入数据的操作,生成随机数,用户操作所写入的数据包括至少一个第一数据类型、各第一数据类型对应的字段值及第二数据类型,所述表格与被测服务对应;
将所述表格转换为bean对象,将所述随机数作为所述第二数据类型的字段值,并将所述第一数据类型、所述第二数据类型及各自对应的字段值写入所述表格中;
根据所述bean对象,将各个字段值转换为变量,并将所述变量写入内存中;
调用所述被测服务,由所述被测服务在内存中对目标变量执行测试;
接收所述被测服务返回的测试结果。
2.根据权利要求1所述的方法,其特征在于,所述生成随机数,包括:
根据被测环境的标识和当前纳米级时间戳,生成随机数。
3.根据权利要求1所述的方法,其特征在于,在根据所述bean对象,将各个字段值转换为变量之前,还包括:
确定字段值和表格中的序号之间的对应关系,并将字段值和表格中的序号之间的对应关系写入内存中;
将各字段值与数据类型之间的对应关系写入内存中;
确定各字段值与bean对象的标识之间的对应关系,并将各字段值与bean对象的标识之间的对应关系写入内存中。
4.根据权利要求3所述的方法,其特征在于,所述根据所述bean对象,将所述各个字段值转换为变量,包括:
将每一字段值对应的序号、数据类型及bean对象的标识进行组合,得到各个字段值对应的组合;
根据所述bean对象,将各个字段值转换为与各个组合对应的变量。
5.根据权利要求4所述的方法,其特征在于,所述被测服务在内存中对目标变量执行测试,包括:
所述被测服务根据目标变量的目标序号、目标数据类型及bean对象的标识,在内存中对所述目标变量执行测试。
6.根据权利要求1所述的方法,其特征在于,在根据所述bean对象,将所述各个字段值转换为变量,并将所述变量写入内存中之后,还包括:
响应用户修改指定变量的操作,将所述指定变量中的字段值修改为用户定义的数值,并将修改后的指定变量存入内存中。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述被测服务在内存中对目标变量执行测试,包括:
被测服务对目标变量的字段值进行修改;
在接收所述被测服务返回的测试结果之后,该方法还包括:
对所述目标变量进行断言预判,以得到所述被测服务返回的测试结果的准确性。
8.根据权利要求1-6任一项所述的方法,其特征在于,所述调用所述被测服务,由被测服务在内存中对目标变量执行测试,包括:
调用所述被测服务并模拟第三方服务发送所需变量给所述被测服务;
由所述被测服务根据所需变量,确定目标变量;
由所述被测服务,在内存中对目标变量执行测试。
9.根据权利要求1-6任一项所述的方法,其特征在于,在接收被测服务返回的测试结果之后,还包括:
删除表格中写入的数据。
10.根据权利要求1-6任一项所述的方法,其特征在于,还包括:
响应用户对代码的调用操作,显示调用的代码,以供用户进行修改;
执行修改后的代码。
CN202111257922.7A 2021-10-27 2021-10-27 一种自动化测试方法 Pending CN113934638A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111257922.7A CN113934638A (zh) 2021-10-27 2021-10-27 一种自动化测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111257922.7A CN113934638A (zh) 2021-10-27 2021-10-27 一种自动化测试方法

Publications (1)

Publication Number Publication Date
CN113934638A true CN113934638A (zh) 2022-01-14

Family

ID=79284576

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111257922.7A Pending CN113934638A (zh) 2021-10-27 2021-10-27 一种自动化测试方法

Country Status (1)

Country Link
CN (1) CN113934638A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114826623A (zh) * 2022-06-28 2022-07-29 云账户技术(天津)有限公司 一种mock测试报文的处理方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114826623A (zh) * 2022-06-28 2022-07-29 云账户技术(天津)有限公司 一种mock测试报文的处理方法及装置

Similar Documents

Publication Publication Date Title
CN107562610B (zh) 获取页面加载时间的方法、装置、终端和介质
West et al. Model fit and model selection in structural equation modeling
CN111767057B (zh) 一种数据处理方法及装置
CN108304328B (zh) 一种众包测试报告的文本描述生成方法、系统及装置
KR101335912B1 (ko) 테스트 통합 관리 시스템 및 방법
Bianchi et al. An exploratory case study of the maintenance effectiveness of traceability models
CN112445197B (zh) 一种控制器版本信息校验的方法、处理器及整车测试系统
US20200310952A1 (en) Comparable user interface object identifications
CN112328499A (zh) 一种测试数据生成方法、装置、设备及介质
CN112148580A (zh) 测试方法、装置及电子设备
CN113934638A (zh) 一种自动化测试方法
CN112417002A (zh) 应用于教育信息化的信息素养数据挖掘方法及系统
CN109101414B (zh) 基于埋点数据的海量ui测试生成方法及其装置
CN110837471A (zh) 一种测试方法、装置、服务器及存储介质
CN116383155A (zh) 一种基于eda验证仿真器的日志查询系统
CN107741905B (zh) 测试用例及其解析模型、执行方法、存储介质和处理器
CN106599312B (zh) 知识库的检验方法、装置及终端
US8027764B2 (en) Method and system for automatic test data generation for lookup tables
CN113094277A (zh) 芯片测试用例管理方法及装置
CN107402882B (zh) Web页面测试方法和装置
CN109299381B (zh) 一种基于语义概念的软件缺陷检索和分析系统及方法
CN113806205A (zh) 软件性能测试方法、装置、电子设备及可读存储介质
CN114549249B (zh) 一种高校用在线教学资源库管理系统及方法
CN113343659B (zh) 分析报告生成方法、装置、设备及存储介质
Su et al. SoapOperaTG: A Tool for System Knowledge Graph Based Soap Opera Test Generation

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