自动测试方法、终端设备及计算机可读存储介质与流程



1.本技术涉及软件测试技术领域,特别是涉及自动测试方法、终端设备及计算机可读存储介质。


背景技术:



2.软件测试是指通过自动化或者手工的方式,对软件进行检测以发现程序错误,保证软件质量的过程。通常包括单元测试、接口测试、集成测试以及性能测试等不同级别的测试,其中,单元测试是对软件中的最小可测试单元进行检查和验证的测试。
3.软件代码分为业务层代码和数据层代码,数据层代码通常是软件程序的底层代码,因此,保证数据层的功能正确是保证软件程序能正确运行最重要的部分。然而,由于数据层难以构造或难以获取,现有的测试方法通常只对业务层进行单元测试,而不对数据层进行测试,使得底层代码的功能正确性得不到保证,软件业务代码存在错误风险。


技术实现要素:



4.为解决上述技术问题,本技术提供了一种自动测试方法、终端设备及计算机可读存储介质。
5.为解决上述问题,本技术提供一种自动测试方法,包括:获取待测项目的源代码文件;根据所述源代码文件以及所述待测项目的数据层的访问方法,生成对应的数据测试方法;通过所述数据测试方法对所述数据层进行测试,以获得第一测试结果。
6.其中,所述根据所述源代码文件以及所述待测项目的数据层的访问方法,生成对应的数据层测试方法的步骤,包括:在所述数据层的访问方法为数据增加方法时,根据所述源代码文件以及所述数据层的数据增加方法,生成第一测试方法,所述第一测试方法用于增加第一数据;将所述第一测试方法的调用封装在第一测试事物;将用于删除所述第一数据的第一恢复操作封装在第一测试事物,以在执行所述第一测试事物时,调用所述第一测试方法并执行所述第一恢复操作。
7.其中,所述根据所述源代码文件以及所述待测项目的数据层的访问方法,生成对应的数据层测试方法的步骤,包括:在所述数据层的访问方法为数据删除方法时,根据所述源代码文件以及所述数据层的数据删除方法,生成第二测试方法,所述第二测试方法用于删除第二数据;将所述第二测试方法的调用封装在第二测试事物;将用于增加所述第二数据的第二恢复操作封装在第二测试事物,以在执行所述第二测试事物时,调用所述第二测试方法并执行所述第二恢复操作。
8.其中,所述第二测试方法用于查询所述数据层,以获得所述第二数据在所述数据层的字段和字段值,所述第二测试方法还用于删除所述第二数据的字段和字段值;所述第二恢复操作用于将所述第二数据的字段和字段值添加至所述数据层中。
9.其中,所述根据所述源代码文件以及所述待测项目的数据层的访问方法,生成对应的数据层测试方法的步骤,包括:在所述数据层的访问方法为数据修改方法时,根据所述
源代码文件以及所述数据层的数据修改方法,生成第三测试方法,所述第三测试方法用于将第三数据的第一值修改为第二值;将所述第三测试方法的调用封装在第三测试事物;将第三恢复操作封装在第三测试事物,所述第三恢复操作用于将第三数据的第二值修改为第一值,以在执行所述第三测试事物时,调用所述第三测试方法并执行所述第三恢复操作。
10.其中,所述根据所述源代码文件以及所述待测项目的数据层的访问方法,生成对应的数据层测试方法的步骤,包括:在所述数据层的访问方法为数据查询方法时,根据所述源代码文件以及所述数据层的数据查询方法,生成第四测试方法,所述第四测试方法用于从所述数据层中查询第四数据;将所述第四测试方法的调用封装在第四测试事物。
11.其中,所述获取待测项目的源代码文件的步骤之后,所述自动测试方法包括:获取所述待测项目的测试用例;通过所述测试用例对所述待测项目的业务层进行单元测试,以获得第二测试结果。
12.其中,所述通过所述数据层测试方法对所述数据层进行测试,以获得第一测试结果的步骤之后,所述自动测试方法包括:根据所述第一测试结果和所述第二测试结果,生成所述待测项目的测试报告。
13.为解决上述问题,本技术提供一种终端设备,包括处理器以及与所述处理器连接的存储器,其中,所述存储器中存储有程序数据,所述处理器调取所述存储器存储的所述程序数据,以执行如上所述的自动测试方法。
14.为解决上述问题,本技术提供一种计算机可读存储介质,存储有程序指令,所述程序指令被执行以实现如上所述的自动测试方法。
15.区别于现有技术,本技术的自动测试方法可以根据待测项目的数据层访问方法生成对应的数据测试方法,以对数据层进行测试,使得数据层在真实测试环境中进行单元测试,从数据层的底层逻辑出发来保障整个软件业务逻辑功能的正确性,提高测试效果。
附图说明
16.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:
17.图1是本技术提供的自动测试方法的第一实施例的流程示意图;
18.图2是本技术提供的自动测试方法的第二实施例的流程示意图;
19.图3是本技术提供的自动测试方法的第三实施例的流程示意图;
20.图4是本技术提供的自动测试方法的第四实施例的流程示意图;
21.图5是本技术提供的自动测试方法的第五实施例的流程示意图
22.图6是本技术提供的终端设备的一实施例的框架示意图;
23.图7是本技术提供的终端设备的另一实施例的框架示意图;
24.图8是本技术提供的计算机可读存储介质的一实施例的框架示意图。
具体实施方式
25.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完
整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动情况下所获得的所有其他实施例,均属于本技术保护的范围。
26.需要说明,若本技术实施例中有涉及方向性指示(诸如上、下、左、右、前、后
……
),则该方向性指示仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
27.另外,若本技术实施例中有涉及“第一”、“第二”等的描述,则该“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本技术要求的保护范围之内。
28.单元测试是指对软件中的最小可测试单元进行检查和验证的测试方法。软件单元在质量保证中承担着非常重要的作用,通常软件代码分为业务层和数据层,单元测试也可以划分为业务层单元测试和数据层单元测试。
29.由于数据层是软件程序的底层,保证数据层的功能正确是保证软件程序能正确运行的关键,然而,由于数据层不稳定,测试人员难以构造,通常在进行单元测试时,只对业务层进行单元测试,而对数据层采用mock的方式引入依赖服务替身而直接跳过,这种方式会存在如下缺点:数据层作为软件代码的底层并没有得到真正的测试;没有从底层上保证业务层代码功能的正确性,软件业务代码会存在一定的安全风险。
30.有鉴于此,本技术提出了一种自动测试方法,该自动测试方法应用于终端设备,该终端设备用于对软件单元进行业务层测试和数据层测试,并根据数据层的访问方法生成对应的数据测试方法,使得数据层能够在真实测试环境中进行单元测试,以从数据层的底层逻辑出发来保障整个软件业务逻辑功能的正确性。
31.该终端设备可以应用于软件开发和软件测试过程。其中,该终端设备所测试的软件系统可以应用于金融科技,该软件系统可以用于电子商务、电子支付、证券、电子银行、税务交易、信用卡、网络购物、保险等业务场景中,在此不做具体限定。
32.其中,本技术的终端设备可以为服务器,也可以为由服务器和本地终端相互配合的系统。相应地,终端设备包括的各个部分,例如各个单元、子单元、模块、子模块可以全部设置于服务器中,也可以分别设置于服务器和本地终端中。
33.进一步地,上述服务器可以是硬件,也可以是软件。当服务器为硬件时,可以实现成多个服务器组成的分布式服务器集,也可以实现成单个服务器。当服务器为软件时,可以实现成多个软件或软件模块,例如用来提供分布式服务器的软件或软件模块,也可以实现成单个软件或软件模块,在此不做具体限定。在一些可能的实现方式中,本技术实施例的自动测试方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
34.请参见图1,图1是本技术提供的自动测试方法的第一实施例的流程示意图。如图1所示,在本实施例中,该自动测试方法包括以下步骤:
35.步骤s11:获取待测项目的源代码文件。
36.待测项目包括业务层和数据层,数据层用于读取数据和传递数据,并针对数据库
的数据进行增加、删除、修改、查询等恢复操作,以为业务层提供数据服务,业务层则是针对具体的业务问题进行恢复操作,可以理解地,数据层为对数据库的恢复操作,业务层为对数据层的恢复操作。
37.具体的,可以使用gitlab等项目代码管理平台获取待测项目的源代码文件,例如,在项目代码管理平台为gitlab时,可以通过gitlab的git clone命令获取源代码文件,本实施例的自动测试方法在源代码文件的基础上进行。
38.步骤s12:根据源代码文件以及待测项目的数据层的访问方法,生成对应的数据测试方法。
39.根据获取的源代码文件以及数据层的访问方法,生成对应的数据测试方法。具体的,数据层的访问方法包括但不局限于数据增加、数据删除、数据修改、数据查询等访问恢复操作,数据测试方法与数据层访问方法对应,例如,在数据层的访问方法为数据增加时,数据测试方法包括测试数据的增加恢复操作是否正确。其中,在可选的实施方式中,数据测试方法所使用的测试案例应根据源代码文件生成。
40.步骤s13:通过数据测试方法对数据层进行测试,以获得第一测试结果。
41.通过上述生成的数据测试方法对数据层进行测试,以获得第一测试结果。其中,源代码文件包括数据层与数据库的访问关系,例如包括访问接口、用于完成数据恢复操作的函数等,根据源代码文件可以获取数据层的访问关系,并根据数据层的访问关系生成对应的数据测试方法,保证数据测试方法的测试环境真实性。
42.在本实施例中,本技术的自动测试方法可以根据待测项目的数据层访问方法生成对应的数据测试方法,以对数据层进行测试,使得数据层在真实测试环境中进行单元测试,从数据层的底层逻辑出发来保障整个软件业务逻辑功能的正确性,提高测试效果。
43.在一实施例中,请参见图2,图2是本技术提供的自动测试方法的第二实施例的流程示意图。如图2所示,在本实施例中,步骤s13包括以下步骤:
44.步骤s21:在数据层的访问方法为数据增加方法时,根据源代码文件以及数据层的数据增加方法,生成第一测试方法,第一测试方法用于增加第一数据。
45.在数据层的访问方法为数据增加方法时,即数据层对数据库进行数据增加操作,此时,根据源代码文件指示的数据层与数据库的访问关系以及数据增加方法,生成第一测试方法,在执行第一测试方法时,数据层用于加第一数据增加至预设的数据库中。
46.步骤s22:将第一测试方法的调用封装在第一测试事物。
47.具体的,第一测试事物为数据层的一个管理单元,数据层通过执行第一测试事物完成数据层测试。
48.步骤s23:将用于删除第一数据的第一恢复操作封装在第一测试事物,以在执行第一测试事物时,调用第一测试方法并执行第一恢复操作。
49.具体的,将一个用于从预设的数据库中删除第一数据的恢复操作定义为第一恢复操作,第一恢复操作与第一测试方法对应,例如,第一测试方法在预设数据库中增加第一数据时,终端设备保存第一测试方法增加的第一数据,并在执行第一恢复操作时调用第一数据,以将第一数据从预设数据库中删除。
50.第一恢复操作和第一测试事物封装在第一测试事物中,第一测试事物(transaction)为将一系列数据恢复操作捆绑成为一个整体的管理单元,在第一测试事物
执行时,第一测试事物封装的所有数据更加均会提交,以成为数据库的组成部分。
51.由于第一测试事物封装的数据不可分割,第一封装事物的所有数据必须作为一个整体提交,使得第一测试事物的恢复操作具有原子性,保证数据层的函数功能的原子性,即使在数据层测试过程遇到错误需要回滚时,数据将全部恢复到恢复操作前的状态,不会产生测试脏数据,保证数据层的完整性。
52.在本实施例中,本技术的自动测试方法可以根据数据层的数据增加方法生成对应的数据测试方法,以对数据层进行测试,使得数据层在真实测试环境中进行单元测试,从数据层的底层逻辑出发来保障整个软件业务逻辑功能的正确性,提高测试效果。
53.在一实施例中,请参见图3,图3是本技术提供的自动测试方法的第三实施例的流程示意图。如图3所示,在本实施例中,步骤s13包括以下步骤:
54.步骤s31:在数据层的访问方法为数据删除方法时,根据源代码文件以及数据层的数据删除方法,生成第二测试方法,第二测试方法用于删除第二数据。
55.在数据层的访问方法为数据删除方法时,即数据层对数据库进行数据删除操作,此时,根据源代码文件指示的数据层与数据库的访问关系以及数据删除方法,生成第二测试方法,在执行第二测试方法时,数据层用于将第二数据删除至预设的数据库中。其中,第二数据和上述实施例的第一数据可以为相同的数据,也可以为不同的数据,可以根据源代码文件选取第一数据和第二数据的具体数值,在此不做具体限定。
56.步骤s32:将第二测试方法的调用封装在第二测试事物。
57.步骤s33:将用于增加第二数据的第二恢复操作封装在第二测试事物,以在执行第二测试事物时,调用第二测试方法并执行第二恢复操作。
58.步骤s32-s33与上述实施例的步骤s22-s23类似,在此不再赘述。
59.在本实施例中,本技术的自动测试方法可以根据数据层的数据删除方法生成对应的数据测试方法,以对数据层进行测试,使得数据层在真实测试环境中进行单元测试,从数据层的底层逻辑出发来保障整个软件业务逻辑功能的正确性,提高测试效果。
60.进一步地,第二测试方法用于查询数据层,以获得第二数据在数据层的字段和字段值,第二测试方法还用于删除第二数据的字段和字段值;第二恢复操作用于将第二数据的字段和字段值添加至数据层中。
61.可以理解的,第二数据具体可以包括字段和字段值,第二恢复操作与第二测试方法对应,在第二测试方法用于将预设数据库的第二数据删除时,第二恢复操作用于将第二数据增加至预设数据库,使得测试过程不产生测试脏数据,保证数据库的数据完整。
62.在一实施例中,请参见图4,图4是本技术提供的自动测试方法的第四实施例的流程示意图。如图4所示,在本实施例中,步骤s13包括以下步骤:
63.步骤s41:在数据层的访问方法为数据修改方法时,根据源代码文件以及数据层的数据修改方法,生成第三测试方法,第三测试方法用于将第三数据的第一值修改为第二值。
64.在数据层的访问方法为数据修改方法时,即数据层对数据库进行数据修改操作,此时,根据源代码文件指示的数据层与数据库的访问关系以及数据修改方法,生成第三测试方法,在执行第三测试方法时,数据层用于将第三数据的第一值修改为第二值。具体的,第一值和第二值可以是第三数据的字段和/或字段值,在此不做具体限定。
65.步骤s42:将第三测试方法的调用封装在第三测试事物。
66.步骤s43:将第三恢复操作封装在第三测试事物,第三恢复操作用于将第三数据的第二值修改为第一值,以在执行第三测试事物时,调用第三测试方法并执行第三恢复操作。
67.步骤s42-s43与上述实施例的步骤s22-s23类似,在此不再赘述。
68.可以理解的,第三恢复操作与第三测试方法对应,在第三测试方法用于将预设数据库的第三数据的第一值修改为第二值时,第三恢复操作用于将第二值修改为第一值,使得测试过程不产生测试脏数据,保证数据库的数据完整。
69.在本实施例中,本技术的自动测试方法可以根据数据层的数据修改方法生成对应的数据测试方法,以对数据层进行测试,使得数据层在真实测试环境中进行单元测试,从数据层的底层逻辑出发来保障整个软件业务逻辑功能的正确性,提高测试效果。
70.在一实施例中,步骤s13包括以下步骤:在数据层的访问方法为数据查询方法时,根据源代码文件以及数据层的数据查询方法,生成第四测试方法,第四测试方法用于从数据层中查询第四数据;将第四测试方法的调用封装在第四测试事物。
71.在数据层的访问方法为数据查询方法时,即数据层对数据库进行数据查询操作,此时,根据源代码文件指示的数据层与数据库的访问关系以及数据查询方法,生成第四测试方法,在执行第四测试方法时,数据层用于查询第四数据。由于数据查询操作不会对数据库的数据产生影响,因此该操作本身不会产生测试脏数据,因此无需再第四测试事物中封装相关的恢复操作。
72.在一实施例中,步骤s11之后,该自动测试方法还包括以下步骤:获取待测项目的测试用例;通过测试用例对待测项目的业务层进行单元测试,以获得业务层测试的第二测试结果。
73.在对数据层进行单元测试后,进一步地,该自动测试方法还用于对待测项目的业务层进行单元测试。其中,测试用例可以为测试人员根据待测项目编写的测试用例,也可以为测试平台根据源代码文件生成的测试用例,在此不做具体限定。
74.在具体的实施方式中,业务层单元测试的测试用例包括但不局限于条件测试用例、路径测试用例以及循环测试用例等,业务层单元测试用于测试业务层的函数功能是否正常,以及是否返回正确的输出。
75.在一实施例中,请参见图5,图5是本技术提供的自动测试方法的第五实施例的流程示意图。如图5所示,步骤s13包括以下步骤:获取生成的数据测试方法,该数据测试方法根据数据层的数据增加方法、数据删除方法、数据修改方法以及数据查询方法生成,至少包括第一测试事物、第二测试事物、第三测试事物以及第四测试事物,数据层通过执行第一测试事物、第二测试事物、第三测试事物以及第四测试事物进行单元测试,以获得数据层测试的第一测试结果。
76.进一步地,步骤s13之后,该自动测试方法还包括以下步骤:根据第一测试结果和第二测试结果,生成待测项目的测试报告。
77.具体的,第一测试结果和第二测试结果包括但不局限于测试覆盖率。在获取第一测试结果和第二测试结果后,根据数据层和业务层的测试覆盖率,计算待测项目的总测试覆盖率,以生成最终的测试报告,测试人员可以根据测试报告对单元测试的业务层和数据层进行分析,使得测试人员可以通过测试报告直观地对单元测试的全面性进行评价,提高测试的效率和可靠性。
78.请参见图6,图6是本技术提供的终端设备的一实施例的框架示意图。如图6所示,该终端设备100包括处理器101以及与处理器101连接的存储器102,其中,存储器102中存储有程序数据,处理器101调取存储器102存储的程序数据,以执行上述的自动测试方法。
79.可选地,在一实施例中,处理器101用于执行程序数据以实现如下方法:获取待测项目的源代码文件;根据源代码文件以及待测项目的数据层的访问方法,生成对应的数据测试方法;通过数据测试方法对数据层进行测试,以获得第一测试结果。
80.其中,处理器101还可以称为cpu(central processing unit,中央处理单元)。处理器101可能是一种电子芯片,具有信号的处理能力。处理器101还可以是通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
81.存储器102可以为内存条、tf卡等,可以存储终端设备100中的全部信息,包括输入的原始数据、计算机程序、中间运行结果和最终运行结果都保存在存储器102中。它根据处理器101指定的位置存入和取出信息。有了存储器102,终端设备100才有记忆功能,才能保证正常工作。终端设备100的存储器102按用途可分为主存储器(内存)和辅助存储器(外存),也有分为外部存储器和内部存储器的分类方法。外存通常是磁性介质或光盘等,能长期保存信息。内存指主板上的存储部件,用来存放当前正在执行的数据和程序,但仅用于暂时存放程序和数据,关闭电源或断电,数据会丢失。
82.请参见图7,图7是本技术提供的终端设备的另一实施例的框架示意图。如图7所示,本技术还提供了另一种终端设备100,该终端设备100包括获取模块103、生成模块104和测试模块105。
83.获取模块103用于获取待测项目的源代码文件;生成模块104用于根据源代码文件以及待测项目的数据层的访问方法,生成对应的数据测试方法;测试模块105用于通过数据测试方法对数据层进行测试,以获得第一测试结果。
84.其中,在本技术的一个实施例,终端设备100中的各个模块可以分别或全部合并为一个或若干个单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个子单元,可以实现同样的操作,而不影响本技术的实施例的技术效果的实现。上述模块是基于逻辑功能划分的,在实际应用中,一个模块的功能也可以由多个单元来实现,或者多个模块的功能由一个单元实现。
85.请参见图8,图8是本技术提供的计算机可读存储介质的一实施例的框架示意图。如图8所示,该计算机可读存储介质110中存储有能够实现上述所有方法的程序指令111。
86.在本技术各个实施例中的各功能单元集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在计算机可读存储介质110中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机可读存储介质110在一个程序指令111中,包括若干指令用以使得一台计算机设备(可以是个人计算机,系统服务器,或者网络设备等)、电子设备(例如mp3、mp4等,也可以是手机、平板电脑、可穿戴设备等移动终端,也可以是台式电脑等)或者处理器(processor)以执行本技术各个实施方式方法的全部或部分步骤。
87.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质110(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
88.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机可读存储介质110实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机可读存储介质110到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的程序指令111产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
89.这些计算机可读存储介质110也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储介质110中的程序指令111产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
90.这些计算机可读存储介质110也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的程序指令111提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
91.流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本技术的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本技术的实施例所属技术领域的技术人员所理解。
92.在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(可以是个人计算机,服务器,网络设备或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
93.以上所述仅为本技术的实施方式,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。

技术特征:


1.一种自动测试方法,其特征在于,包括:获取待测项目的源代码文件;根据所述源代码文件以及所述待测项目的数据层的访问方法,生成对应的数据测试方法;通过所述数据测试方法对所述数据层进行测试,以获得第一测试结果。2.根据权利要求1所述的自动测试方法,其特征在于,所述根据所述源代码文件以及所述待测项目的数据层的访问方法,生成对应的数据层测试方法的步骤,包括:在所述数据层的访问方法为数据增加方法时,根据所述源代码文件以及所述数据层的数据增加方法,生成第一测试方法,所述第一测试方法用于增加第一数据;将所述第一测试方法的调用封装在第一测试事物;将用于删除所述第一数据的第一恢复操作封装在第一测试事物,以在执行所述第一测试事物时,调用所述第一测试方法并执行所述第一恢复操作。3.根据权利要求1所述的自动测试方法,其特征在于,所述根据所述源代码文件以及所述待测项目的数据层的访问方法,生成对应的数据层测试方法的步骤,包括:在所述数据层的访问方法为数据删除方法时,根据所述源代码文件以及所述数据层的数据删除方法,生成第二测试方法,所述第二测试方法用于删除第二数据;将所述第二测试方法的调用封装在第二测试事物;将用于增加所述第二数据的第二恢复操作封装在第二测试事物,以在执行所述第二测试事物时,调用所述第二测试方法并执行所述第二恢复操作。4.根据权利要求3所述的自动测试方法,其特征在于,所述第二测试方法用于查询所述数据层,以获得所述第二数据在所述数据层的字段和字段值,所述第二测试方法还用于删除所述第二数据的字段和字段值;所述第二恢复操作用于将所述第二数据的字段和字段值添加至所述数据层中。5.根据权利要求1所述的自动测试方法,其特征在于,所述根据所述源代码文件以及所述待测项目的数据层的访问方法,生成对应的数据层测试方法的步骤,包括:在所述数据层的访问方法为数据修改方法时,根据所述源代码文件以及所述数据层的数据修改方法,生成第三测试方法,所述第三测试方法用于将第三数据的第一值修改为第二值;将所述第三测试方法的调用封装在第三测试事物;将第三恢复操作封装在第三测试事物,所述第三恢复操作用于将第三数据的第二值修改为第一值,以在执行所述第三测试事物时,调用所述第三测试方法并执行所述第三恢复操作。6.根据权利要求1所述的自动测试方法,其特征在于,所述根据所述源代码文件以及所述待测项目的数据层的访问方法,生成对应的数据层测试方法的步骤,包括:在所述数据层的访问方法为数据查询方法时,根据所述源代码文件以及所述数据层的数据查询方法,生成第四测试方法,所述第四测试方法用于从所述数据层中查询第四数据;将所述第四测试方法的调用封装在第四测试事物。7.根据权利要求1所述的自动测试方法,其特征在于,所述获取待测项目的源代码文件的步骤之后,所述自动测试方法包括:
获取所述待测项目的测试用例;通过所述测试用例对所述待测项目的业务层进行单元测试,以获得第二测试结果。8.根据权利要求7所述的自动测试方法,其特征在于,所述通过所述数据层测试方法对所述数据层进行测试,以获得第一测试结果的步骤之后,所述自动测试方法包括:根据所述第一测试结果和所述第二测试结果,生成所述待测项目的测试报告。9.一种终端设备,其特征在于,包括处理器以及与所述处理器连接的存储器,其中,所述存储器中存储有程序数据,所述处理器调取所述存储器存储的所述程序数据,以执行如权利要求1-8任一项所述的自动测试方法。10.一种计算机可读存储介质,其特征在于,存储有程序指令,所述程序指令被执行以实现如权利要求1-8任一项所述的自动测试方法。

技术总结


本申请公开了自动测试方法、终端设备及计算机可读存储介质,该自动测试方法包括:获取待测项目的源代码文件;根据所述源代码文件以及所述待测项目的数据层的访问方法,生成对应的数据测试方法;通过所述数据测试方法对所述数据层进行测试,以获得第一测试结果。本申请的自动测试方法可以根据待测项目的数据层访问方法生成对应的数据测试方法,以对数据层进行测试,使得数据层在真实测试环境中进行单元测试,从数据层的底层逻辑出发来保障整个软件业务逻辑功能的正确性,提高测试效果。提高测试效果。提高测试效果。


技术研发人员:

吴艳兵

受保护的技术使用者:

平安银行股份有限公司

技术研发日:

2022.12.19

技术公布日:

2023/3/10

本文发布于:2024-09-25 17:11:56,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/71045.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:测试   数据   方法   所述
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议