CN114328209A - 一种自动化测试插件生成方法、装置、设备及存储介质 - Google Patents

一种自动化测试插件生成方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN114328209A
CN114328209A CN202111602756.XA CN202111602756A CN114328209A CN 114328209 A CN114328209 A CN 114328209A CN 202111602756 A CN202111602756 A CN 202111602756A CN 114328209 A CN114328209 A CN 114328209A
Authority
CN
China
Prior art keywords
test
test case
plug
case
products
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.)
Granted
Application number
CN202111602756.XA
Other languages
English (en)
Other versions
CN114328209B (zh
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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202111602756.XA priority Critical patent/CN114328209B/zh
Publication of CN114328209A publication Critical patent/CN114328209A/zh
Application granted granted Critical
Publication of CN114328209B publication Critical patent/CN114328209B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Stored Programmes (AREA)

Abstract

本申请公开了一种自动化测试插件生成方法、装置、设备及可读存储介质,方法包括:获取各测试用例的共用方法,根据共用方法构建插件公共类;创建继承插件公共类且与各测试用例一一对应的测试用例类,以共用方法为模板,在各测试用例类中分别编写对应的测试用例实现方法,以得到各测试用例;创建继承测试用例类且与各产品一一对应的子测试用例类,根据产品的测试需求对相应的子测试用例类继承的测试用例实现方法进行修改,以得到对应的子测试用例,并得到由产品对应的所有子测试用例形成的与产品对应的自动化测试插件。本申请公开的技术方案,通过共用方法和测试用例实现方法的复用提高自动化测试插件的生成效率及维护效率。

Description

一种自动化测试插件生成方法、装置、设备及存储介质
技术领域
本申请涉及安全性测试技术领域,更具体地说,涉及一种自动化测试插件生成方法、装置、设备及可读存储介质。
背景技术
随着越来越多的产品往数字化、智能化的方向发展,对产品的安全性要求也越来越高。因此,即需要对产品进行安全性测试。
目前,一般会编写测试用例,并根据测试用例编写自动化插件,且利用自动化插件来对产品进行安全性测试,以便提高测试效率,减少总体测试所花费的时间。而在自动化插件的编写过程中,往往只是针对某个具体漏洞进行测试用例的编写。而且在实际开发生产过程中,经常会出现不同客户针对某类产品有不同的需求的情况,而这就需要在基础产品上进行修改来满足客户需求,这时不同客户所需的产品已经完全不同,所以,在测试用例上也就存在差异。如果只是针对不同需求的产品分别单独编写测试用例,然后,再分别利用每种产品的测试用例编写自动化插件,会导致插件编写的工作量加大、效率比较低。
综上所述,如何提高自动化测试插件的生成效率,是目前本领域技术人员亟待解决的技术问题。
发明内容
有鉴于此,本申请的目的是提供一种自动化测试插件生成方法、装置、设备及可读存储介质,用于提高自动化测试插件的生成效率。
为了实现上述目的,本申请提供如下技术方案:
一种自动化测试插件生成方法,包括:
获取各测试用例的共用方法,根据所述共用方法构建插件公共类;
创建继承所述插件公共类且与各所述测试用例一一对应的测试用例类,以所述共用方法为模板,在各所述测试用例类中分别编写对应的测试用例实现方法,以得到各所述测试用例;
创建继承所述测试用例类且与各产品一一对应的子测试用例类,根据所述产品的测试需求对相应的子测试用例类继承的测试用例实现方法进行修改,以得到对应的子测试用例,并得到由所述产品对应的所有子测试用例形成的与所述产品对应的自动化测试插件。
优选的,获取各测试用例的共用方法,包括:
获取各所述测试用例共用的测试环境准备方法、测试用例执行方法、测试结果记录方法、测试用例痕迹清理方法。
优选的,还包括:
在所述插件公共类中编写各类装饰器。
优选的,还包括:
接收录入的测试信息,从形成的所述自动化测试插件中筛选出与所述录入的测试信息对应的目标测试用例;其中,所述目标测试用例包括所述测试用例或所述子测试用例;
将第一个所述目标测试用例作为当前目标测试用例,调用所述当前目标测试用例对应的测试环境准备方法,以对测试环境做准备;
调用所述当前目标测试用例对应的测试用例执行方法,以利用所述当前目标测试用例进行测试;
调用所述当前目标测试用例对应的测试结果记录方法,以对所述当前目标测试用例的测试结果进行记录;
调用所述当前目标测试用例对应的测试用例痕迹清理方法,以对所述当前目标测试用例的痕迹进行清理;
判断所述目标测试用例是否全部完成测试,若否,则将下一个所述目标测试用例作为当前目标测试用例,并返回执行所述调用所述当前目标测试用例对应的测试环境准备方法,以对测试环境做准备的步骤。
优选的,在确定所述目标测试用例全部完成测试之后,还包括:
输出各所述目标测试用例的测试结果。
优选的,输出各所述目标测试用例的测试结果,包括:
通过邮件、短信、界面显示中的至少一种方式输出各所述目标测试用例的测试结果。
一种自动化测试插件生成装置,包括:
获取模块,用于获取各测试用例的共用方法,根据所述共用方法构建插件公共类;
第一创建模块,用于创建继承所述插件公共类且与各所述测试用例一一对应的测试用例类,以所述共用方法为模板,在各所述测试用例类中分别编写对应的测试用例实现方法,以得到各所述测试用例;
第二创建模块,用于创建继承所述测试用例类且与各产品一一对应的子测试用例类,根据所述产品的测试需求对相应的子测试用例类继承的测试用例实现方法进行修改,以得到对应的子测试用例,并得到由所述产品对应的所有子测试用例形成的与所述产品对应的自动化测试插件。
优选的,所述获取模块包括:
获取单元,用于获取各所述测试用例共用的测试环境准备方法、测试用例执行方法、测试结果记录方法、测试用例痕迹清理方法。
一种自动化测试插件生成设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述任一项所述的自动化测试插件生成方法的步骤。
一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述的自动化测试插件生成方法的步骤。
本申请提供了一种自动化测试插件生成方法、装置、设备及可读存储介质,其中,该方法包括:获取各测试用例的共用方法,根据共用方法构建插件公共类;创建继承插件公共类且与各测试用例一一对应的测试用例类,以共用方法为模板,在各测试用例类中分别编写对应的测试用例实现方法,以得到各测试用例;创建继承测试用例类且与各产品一一对应的子测试用例类,根据产品的测试需求对相应的子测试用例类继承的测试用例实现方法进行修改,以得到对应的子测试用例,并得到由产品对应的所有子测试用例形成的与产品对应的自动化测试插件。
本申请公开的上述技术方案,通过获取各测试用例的共用方法,根据共用方法构建插件公共类,并创建继承插件公共类的测试用例类,以共用方法为模板在各测试用例类中分别编写对应的测试用例实现方法而实现对共用方法的复用,并通过创建测试用例类且与各产品一一对应的子测试用例类,根据产品的测试需求对对应的子测试用例类继承的测试用例实现方法进行修改而实现对测试用例的复用,通过共用方法和测试用例实现方法的复用来降低生成各产品对应的自动化测试插件的工作量,提高各产品对应的自动化测试插件的生成效率,而且可通过对插件公共类及测试用例类的维护而实现对所有产品对应的自动化测试插件的维护,以提高插件维护的便利性和维护效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种自动化测试插件生成方法的流程图;
图2为本申请实施例提供的所生成的自动化测试插件的架构图;
图3为本申请实施例提供的利用所生成的自动化测试插件进行自动化测试的流程图;
图4为本申请实施例提供的一种自动化测试插件生成装置的结构示意图;
图5为本申请实施例提供的一种自动化测试插件生成设备的结构示意图。
具体实施方式
目前,越来越多的产品在往数字化、智能化的方向发展,发展的必然结果就是生产的产品都会自带适应其功能需求的固件等软件应用程序,而这些程序则面临着软件层面的黑客攻击风险,特别是需要接入互联网的产品。在越发重视网络安全的今天,产品的品质也与其安全性相挂钩,对产品的安全性要求也越来越高,而如何高效地测评产品的安全性,是当前许多企业需要解决的问题。
针对上述问题,安全测评部门往往需要使用自动化插件工具来提高自身的渗透测试效率。对于能自研开发生产产品的企业来说,其一般都设立有专门的安全测评部门,该部门负责对产品进行渗透测试以验证其安全性。渗透测试按照其方法可分为:黑盒测试、灰盒测试和白盒测试,而对于比较清楚自身产品,掌握了一定信息的情况下,使用灰盒测试可以在获取部分授权和口令的情况下,模拟黑客攻击的方式尽可能多的找出产品可能存在的安全风险。基于此优点,安全测评部门大部分会采用灰盒测试的方法来完成对产品的渗透测试,在渗透测试的过程中,安全渗透测试工程师通常会针对产品使用大量的测试用例进行测试,而大量的测试用例由手动测试需要花费大量的时间。此外,一般而言对于同一产品的后续软件更新都是基于之前版本进行的,所以在对后续版本进行安全测评的时候,往往需要针对进行的测试用例都是类似或相同的。基于上述两点原因,为了提高测试效率,则会根据测试用例编写自动化测评工具来提高效率减少总体的测试所花费的时间。
而在自动化插件的编写过程中,往往只是针对某个具体漏洞进行测试用例的编写。在实际开发生产过程中,经常会出现不同客户针对某类产品有不同的需求的情况,而这就需要在基础产品上进行修改来满足客户需求,这时不同客户所需的产品已经完全不同,所以,在测试用例上也就存在差异。如果只是针对不同需求的产品分别单独编写测试用例,然后,再分别利用每种产品的测试用例编写自动化插件,会导致插件编写的工作量加大、效率比较低。
为此,本申请提供一种自动化测试插件生成方法、装置、设备及可读存储介质,用于提高自动化测试插件的生成效率。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1和图2,其中,图1示出了本申请实施例提供的一种自动化测试插件生成方法的流程图,图2示出了本申请实施例提供的所生成的自动化测试插件的架构图,本申请实施例提供的一种自动化测试插件生成方法,可以包括:
S11:获取各测试用例的共用方法,根据共用方法构建插件公共类。
首先,可以获取安全渗透测试中所需要用到的各测试用例的共用方法,并根据各测试用例的共用方法构建插件公共类。其中,插件公共类是自定义的python语言中的一个公共类,所有的测试用例都是基于该类进行实现的,且在插件公共类中,只是提供了共用的方法,实际测试用例的方法并未在此编写,因此,可以将插件公共类理解为一个基础模板。
其中,在python语言中,类用来描述具有相同的属性和方法的对象的集合,它定义了该集合中每个对象所共有的属性和方法,且对象是类的实例。
S12:创建继承插件公共类且与各测试用例一一对应的测试用例类,以共用方法为模板,在各测试用例类中分别编写对应的测试用例实现方法,以得到各测试用例。
在步骤S11的基础上,可以创建继承插件公共类且与各测试用例一一对应的测试用例类,也即测试用例类的数量与安全渗透测试所需要用到的测试用例的数量相等,每个测试用例类对应一个测试用例,且各测试用例类均集成插件公共类。其中,继承即一个派生类继承基类的字段和方法,继承也允许把一个派生类的对象作为一个基类对象对待。
然后,可以以所构建的插件公共类中包含的共用方法为模板,在各测试用例类中分别编写对应测试用例的测试用例实现方法,从而得到各测试用例。也即测试用例类即为测试用例的实现,继承于插件公共类,在共用方法的基础上,测试用例类根据所对应的测试用例完善其特有的测试方法,完成测试用例的实现。
通过上述过程可知,各测试用例实现方法复用共用方法,以便降低各测试用例编写的复杂度,提高测试用例的编写效率,而且所有的测试用例类集成在一起就是一个完整的渗透测试方案。
需要说明的是,图2以包含n个测试用例类为例进行说明。
S13:创建继承测试用例类且与各产品一一对应的子测试用例类,根据产品的测试需求对相应的子测试用例类继承的测试用例实现方法进行修改,以得到对应的子测试用例,并得到由产品对应的所有子测试用例形成的与产品对应的自动化测试插件。
在步骤S12的基础上,可以分别继承各测试用例类且与各产品一一对应的子测试用例类,也即每个测试用例类下面可以存在有与产品数量相等个子测试用例类,例如假设包含有m个产品,对于图2中的测试用例类1而言,有子测试用例类1-1、子测试用例类1-2……子测试用例类1-m均继承测试用例类1,对于其他测试用例类而言,具体与测试用例类1相似,且在子测试用例类中,子测试用例类*-1对应第一个产品,子测试用例类*-2对应第二个产品……子测试用例类*-m对应第m个产品。
在创建子测试用例类之后,可以根据每个产品的测试需求而对该产品对应的子测试用例类所继承的测试用例类中的测试用例实现方法进行修改(通过修改可以得到对应的子测试用例实现方法),以得到与产品对应的子测试用例,也即可以根据不同产线而对相应的子测试用例类所继承的测试用例类的测试用例实现方法进行适配,从而对应得到各产品对应的子测试用例。而且可以得到由各产品对应的所有子测试用例形成的分别与各产品对应的自动化测试插件,也即各产线根据自身不同所适配的子测试用例类集成到一起就是一个针对产线量身打造的渗透测试方法。另外,通过图2中的架构图可知,横着来看,对于测试用例类来说,是构成一个完整的渗透测试方法,对于测试
通过继承的关系可以基于测试用例类衍生出多个子测试用例类分支,以满足不同产线的需求,而且通过继承实现对相应的测试用例实现方法的复用,从而便于降低各产品对应的自动化测试插件的生成复杂度,提高各产品对应的自动化测试插件的生成效率。
另外,当需要对所有的自动化测试插件进行修改时,则可以获取待进行修改的对象,其中,待进行修改的对象具体为共用方法或测试用例实现方法,当待进行修改的对象为插件公共类中的共用方法时,则根据修改内容对插件公共类中的共用方法进行修改,相应地,继承插件公共类中的各测试用例类中的测试用例实现方法、各子测试用例类中的子测试用例实现方法也会随着插件公共类的变化而变化,而不再需要重复地对每个测试用例类和子测试用例类进行修改,因此,则可以降低自动化测试插件的维护复杂度,提高自动化测试插件的维护效率;当待进行修改的对象为测试用例实现方法时,则根据修改内容对要进行修改的测试用例类中的测试用例实现方法进行修改,相应地,继承测试用例类中的各产品对应的子测试用例类中的子测试用例实现方法也会随着测试用例实现方法的修改而变化,而不再需要重复地对每个子测试用例类进行修改,也即可以通过对测试用例的维护而同时完成对多个产线子测试用例的失配,因此,则可以降低自动化测试插件的维护复杂度,提高自动化测试插件的维护效率。需要说明的是,测试用例类作为主线,是自动化测试插件维护的主要对象,也即在进行维护时,主要是对测试用例类中的测试用例实现方法的维护。
本申请公开的上述技术方案,通过获取各测试用例的共用方法,根据共用方法构建插件公共类,并创建继承插件公共类的测试用例类,以共用方法为模板在各测试用例类中分别编写对应的测试用例实现方法而实现对共用方法的复用,并通过创建测试用例类且与各产品一一对应的子测试用例类,根据产品的测试需求对对应的子测试用例类继承的测试用例实现方法进行修改而实现对测试用例的复用,通过共用方法和测试用例实现方法的复用来降低生成各产品对应的自动化测试插件的工作量,提高各产品对应的自动化测试插件的生成效率,而且可通过对插件公共类及测试用例类的维护而实现对所有产品对应的自动化测试插件的维护,以提高插件维护的便利性和维护效率。
本申请实施例提供的一种自动化测试插件生成方法,获取各测试用例的共用方法,可以包括:
获取各测试用例共用的测试环境准备方法、测试用例执行方法、测试结果记录方法、测试用例痕迹清理方法。
在本申请中,在获取各测试用例的共用方法时,具体可以获取各测试用例共用的测试环境准备方法、测试用例执行方法、测试结果记录方法、测试用例痕迹清理方法。其中,测试环境准确方法(或者可以称为测试环境准备模块)即测试环境的准备,在测试用例实施前,往往需要对测试环境进行处理,该方法负责测试环境的前置准备配置;测试用例执行方法(或者可以称为测试用例执行模块)即测试用例的执行,在完成信息录入(具体可以由信息录入方法(或者可以称为信息录入模块,用于进行与测试相关的信息的录入)进行实现)和测试环境的准备之后,也即在进行测试前的所有准备后,执行该测试用例执行方法来进行测试,并验证测试用例结果;测试结果记录方法(或者可以称为测试结果记录模块)即将测试用例执行方法的执行中产生的结果记录下来并输出;测试用例痕迹清理方法(或者可以称为测试用例痕迹清理模块)即测试用例痕迹清理,在完成测试用例后,将测试用例产生的影响消除,以保证每次测试结束后的环境都一致,保证下一个测试用例的测试环境准备方法能正常运行。
需要说明的是,在上述基础上,则可以根据具体的测试用例而在各方法中完善其特有的测试方法,以完成测试用例的实现。例如:测试环境准备方法中,有些越权测试需要准备好不同权限的测试账户,有些测试用例需要某些端口打开或者需要打开或者关闭某些功能才能进行测试等情况,不同的测试用例类需要对应其需求制定不同的测试环境准备方法;测试用例执行方法中,不同的测试用例的实现方法都不尽相同;测试用例痕迹清理方法中,因为每个测试用例的准备条件和执行方法都不同,遗留下的痕迹也不同,所以需要的清理方法也不同。
通过上述方式可以获取各测试用例在测试准备前的准备到测试完成后的清理中所共用的所有方法,以便于实现这些方法的复用,从而便于有效地提高自动化测试插件的生成效率以及维护效率。
本申请实施例提供的一种自动化测试插件生成方法,还可以包括:
在插件公共类中编写各类装饰器。
在本申请中,在可以在所构建的插件公共类中编写各类装饰器(Decorators),其中,装饰器是Python的一个部分,通过装饰器函数,可以在不修改原函数的前提下,来对函数的功能进行合理的扩充。
装饰器即一些通用功能的实现,其提供接口以便于嵌套在各个其他方法(具体即为测试环境准备方法、测试用例执行方法、测试结果记录方法、测试用例痕迹清理方法等)中来完成一些通用功能,如:登录装饰器完成用户登录、发包装饰器完成指定网络包的发送、扫描装饰器启动指定扫描器进行扫描、用例装饰器用于动态筛选用例是否执行等。
通过在插件公共类中编写各类装饰器可以实现在不修改原方法的前提下来对方法功能进行合理的扩充,从而便于降低自动化插件生成的复杂度,提高自动化插件生成的便捷性和效率。
参见图3,其示出了本申请实施例提供的利用所生成的自动化测试插件进行自动化测试的流程图。本申请实施例提供的一种自动化测试插件生成方法,还可以包括:
接收录入的测试信息,从形成的自动化测试插件中筛选出与录入的测试信息对应的目标测试用例;其中,目标测试用例可以包括测试用例或子测试用例;
将第一个目标测试用例作为当前目标测试用例,调用当前目标测试用例对应的测试环境准备方法,以对测试环境做准备;
调用当前目标测试用例对应的测试用例执行方法,以利用当前目标测试用例进行测试;
调用当前目标测试用例对应的测试结果记录方法,以对当前目标测试用例的测试结果进行记录;
调用当前目标测试用例对应的测试用例痕迹清理方法,以对当前目标测试用例的痕迹进行清理;
判断目标测试用例是否全部完成测试,若否,则将下一个目标测试用例作为当前目标测试用例,并返回执行调用当前目标测试用例对应的测试环境准备方法,以对测试环境做准备的步骤。
在本申请中,当得到由产品对应的所有子测试用例形成的与产品对应的自动化测试插件之后,则可以利用所生成的自动化测试插件来进行安全渗透测试。
在进行安全渗透测试时,安全渗透工程师只需要在最开始的时候完成信息的录入(即完成信息录入模块的配置),具体录入测试对象的IP地址、产品信号、测试用例编号、测试项目等信息,后续测试用例的执行可以在各类装饰器的辅助下自动完成测试用例中各方法的执行。
具体地,平台在接收到录入的测试信息之后,可以借助登录装饰器自动完成登录,并借助用例装饰器从形成的自动化测试插件中筛选出与录入的测试信息对应的目标测试用例,其中,目标测试用例具体包括测试用例或子测试用例。然后,将第一个目标测试用例作为当前目标测试用例,并调用当前目标测试用例对应的测试环境准备方法,以利用当前目标测试用例对应的测试环境准备方法对测试环境做准备和处理;测试环境准备好之后,则可以调用当前目标测试用例对应的测试用例执行方法,以利用当前目标测试用例对应的测试用例执行方法执行测试,其中,在执行测试过程中,可以借助发包装饰器或扫描装饰器进行测试用例执行方法的执行;并调用当前目标测试用例对应的测试结果记录方法,以利用当前目标测试用例对应的测试结果记录方法对执行测试过程中产生的测试结果进行记录;在测试完成之后,调用当前目标测试用例对应的测试用例痕迹清理方法,以利用当前目标测试用例对应的测试用例痕迹清理方法将当前目标测试用例产生的影响消除,以保证每次测试结束后的环境都是一致的,从而保证下一个当前目标测试用例的测试环境准备方法可以正常运行;在完成清理对当前目标测试用例痕迹的清理之后,则判断目标测试用例是否全部完成测试,若是,则结束测试,若否,则将下一个所述目标测试用例作为当前目标测试用例,并返回执行调用当前目标测试用例对应的测试环境准备方法,以对测试环境做准备的步骤,也即继续利用下一个目标测试用例进行测试相关的流程,直至所有的目标测试用例均完成测试为止。
通过上述过程可以实现利用自动化测试插件完成自动化测试,以提高产品测试效率。
本申请实施例提供的一种自动化测试插件生成方法,在确定目标测试用例全部完成测试之后,还可以包括:
输出各目标测试用例的测试结果。
在本申请中,在确定目标测试用例全部完成测试之后,则可以输出各目标测试用例的测试结果,以便于安全渗透测试工程师等人员可以及时查看总的测试结果。
本申请实施例提供的一种自动化测试插件生成方法,输出各目标测试用例的测试结果,可以包括:
通过邮件、短信、界面显示中的至少一种方式输出各目标测试用例的测试结果。
在本申请中,具体可以通过邮件、短信、界面显示中的至少一种方式输出各目标测试用例的测试结果,从而便于安全渗透测试工程师等人员可以随时查看各目标测试用例的测试结果。
本申请实施例还提供了一种自动化测试插件生成装置,参见图4,其示出了本申请实施例提供的一种自动化测试插件生成装置的结构示意图,可以包括:
获取模块41,用于获取各测试用例的共用方法,根据共用方法构建插件公共类;
第一创建模块42,用于创建继承插件公共类且与各测试用例一一对应的测试用例类,以共用方法为模板,在各测试用例类中分别编写对应的测试用例实现方法,以得到各测试用例;
第二创建模块43,用于创建继承测试用例类且与各产品一一对应的子测试用例类,根据产品的测试需求对相应的子测试用例类继承的测试用例实现方法进行修改,以得到对应的子测试用例,并得到由产品对应的所有子测试用例形成的与产品对应的自动化测试插件。
本申请实施例提供的一种自动化测试插件生成装置,获取模块41可以包括:
获取单元,用于获取各测试用例共用的测试环境准备方法、测试用例执行方法、测试结果记录方法、测试用例痕迹清理方法。
本申请实施例提供的一种自动化测试插件生成装置,还可以包括:
编写模块,用于在插件公共类中编写各类装饰器。
本申请实施例提供的一种自动化测试插件生成装置,还可以包括:
接收模块,用于接收录入的测试信息,从形成的自动化测试插件中筛选出与录入的测试信息对应的目标测试用例;其中,目标测试用例可以包括测试用例或子测试用例;
第一调用模块,用于将第一个目标测试用例作为当前目标测试用例,调用当前目标测试用例对应的测试环境准备方法,以对测试环境做准备;
第二调用模块,用于调用当前目标测试用例对应的测试用例执行方法,以利用当前目标测试用例进行测试;
第三调用模块,用于调用当前目标测试用例对应的测试结果记录方法,以对当前目标测试用例的测试结果进行记录;
第四调用模块,用于调用当前目标测试用例对应的测试用例痕迹清理方法,以对当前目标测试用例的痕迹进行清理;
判断模块,用于判断目标测试用例是否全部完成测试,若否,则将下一个目标测试用例作为当前目标测试用例,并返回执行调用当前目标测试用例对应的测试环境准备方法,以对测试环境做准备的步骤。
本申请实施例提供的一种自动化测试插件生成装置,还可以包括:
输出模块,用于在确定目标测试用例全部完成测试之后,输出各目标测试用例的测试结果。
本申请实施例提供的一种自动化测试插件生成装置,输出模块可以包括:
输出单元,用于通过邮件、短信、界面显示中的至少一种方式输出各目标测试用例的测试结果。
本申请实施例还提供了一种自动化测试插件生成设备,参见图5,其示出了本申请实施例提供的一种自动化测试插件生成设备的结构示意图,可以包括:
存储器51,用于存储计算机程序;
处理器52,用于执行存储器51存储的计算机程序时可实现如下步骤:
获取各测试用例的共用方法,根据共用方法构建插件公共类;创建继承插件公共类且与各测试用例一一对应的测试用例类,以共用方法为模板,在各测试用例类中分别编写对应的测试用例实现方法,以得到各测试用例;创建继承测试用例类且与各产品一一对应的子测试用例类,根据产品的测试需求对相应的子测试用例类继承的测试用例实现方法进行修改,以得到对应的子测试用例,并得到由产品对应的所有子测试用例形成的与产品对应的自动化测试插件。
本申请实施例还提供了一种可读存储介质,可读存储介质中存储有计算机程序,计算机程序被处理器执行时可实现如下步骤:
获取各测试用例的共用方法,根据共用方法构建插件公共类;创建继承插件公共类且与各测试用例一一对应的测试用例类,以共用方法为模板,在各测试用例类中分别编写对应的测试用例实现方法,以得到各测试用例;创建继承测试用例类且与各产品一一对应的子测试用例类,根据产品的测试需求对相应的子测试用例类继承的测试用例实现方法进行修改,以得到对应的子测试用例,并得到由产品对应的所有子测试用例形成的与产品对应的自动化测试插件。
该可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请提供的一种自动化测试插件生成装置、设备及可读存储介质中相关部分的说明可以参见本申请实施例提供的一种自动化测试插件生成方法中对应部分的详细说明,在此不再赘述。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。另外,本申请实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种自动化测试插件生成方法,其特征在于,包括:
获取各测试用例的共用方法,根据所述共用方法构建插件公共类;
创建继承所述插件公共类且与各所述测试用例一一对应的测试用例类,以所述共用方法为模板,在各所述测试用例类中分别编写对应的测试用例实现方法,以得到各所述测试用例;
创建继承所述测试用例类且与各产品一一对应的子测试用例类,根据所述产品的测试需求对相应的子测试用例类继承的测试用例实现方法进行修改,以得到对应的子测试用例,并得到由所述产品对应的所有子测试用例形成的与所述产品对应的自动化测试插件。
2.根据权利要求1所述的自动化测试插件生成方法,其特征在于,获取各测试用例的共用方法,包括:
获取各所述测试用例共用的测试环境准备方法、测试用例执行方法、测试结果记录方法、测试用例痕迹清理方法。
3.根据权利要求2所述的自动化测试插件生成方法,其特征在于,还包括:
在所述插件公共类中编写各类装饰器。
4.根据权利要求3所述的自动化测试插件生成方法,其特征在于,还包括:
接收录入的测试信息,从形成的所述自动化测试插件中筛选出与所述录入的测试信息对应的目标测试用例;其中,所述目标测试用例包括所述测试用例或所述子测试用例;
将第一个所述目标测试用例作为当前目标测试用例,调用所述当前目标测试用例对应的测试环境准备方法,以对测试环境做准备;
调用所述当前目标测试用例对应的测试用例执行方法,以利用所述当前目标测试用例进行测试;
调用所述当前目标测试用例对应的测试结果记录方法,以对所述当前目标测试用例的测试结果进行记录;
调用所述当前目标测试用例对应的测试用例痕迹清理方法,以对所述当前目标测试用例的痕迹进行清理;
判断所述目标测试用例是否全部完成测试,若否,则将下一个所述目标测试用例作为当前目标测试用例,并返回执行所述调用所述当前目标测试用例对应的测试环境准备方法,以对测试环境做准备的步骤。
5.根据权利要求4所述的自动化测试插件生成方法,其特征在于,在确定所述目标测试用例全部完成测试之后,还包括:
输出各所述目标测试用例的测试结果。
6.根据权利要求5所述的自动化测试插件生成方法,其特征在于,输出各所述目标测试用例的测试结果,包括:
通过邮件、短信、界面显示中的至少一种方式输出各所述目标测试用例的测试结果。
7.一种自动化测试插件生成装置,其特征在于,包括:
获取模块,用于获取各测试用例的共用方法,根据所述共用方法构建插件公共类;
第一创建模块,用于创建继承所述插件公共类且与各所述测试用例一一对应的测试用例类,以所述共用方法为模板,在各所述测试用例类中分别编写对应的测试用例实现方法,以得到各所述测试用例;
第二创建模块,用于创建继承所述测试用例类且与各产品一一对应的子测试用例类,根据所述产品的测试需求对相应的子测试用例类继承的测试用例实现方法进行修改,以得到对应的子测试用例,并得到由所述产品对应的所有子测试用例形成的与所述产品对应的自动化测试插件。
8.根据权利要求7所述的自动化测试插件生成装置,其特征在于,所述获取模块包括:
获取单元,用于获取各所述测试用例共用的测试环境准备方法、测试用例执行方法、测试结果记录方法、测试用例痕迹清理方法。
9.一种自动化测试插件生成设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述的自动化测试插件生成方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的自动化测试插件生成方法的步骤。
CN202111602756.XA 2021-12-24 2021-12-24 一种自动化测试插件生成方法、装置、设备及存储介质 Active CN114328209B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111602756.XA CN114328209B (zh) 2021-12-24 2021-12-24 一种自动化测试插件生成方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111602756.XA CN114328209B (zh) 2021-12-24 2021-12-24 一种自动化测试插件生成方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN114328209A true CN114328209A (zh) 2022-04-12
CN114328209B CN114328209B (zh) 2023-11-03

Family

ID=81014003

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111602756.XA Active CN114328209B (zh) 2021-12-24 2021-12-24 一种自动化测试插件生成方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN114328209B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040003068A1 (en) * 2002-06-27 2004-01-01 Microsoft Corporation System and method for testing peer-to-peer network applications
CN101706753A (zh) * 2009-12-11 2010-05-12 武汉虹信通信技术有限责任公司 一种基于Perl的单元测试框架及方法
CN106095668A (zh) * 2016-06-02 2016-11-09 上海科梁信息工程股份有限公司 基于事件和动作的c++测试用例的生成方法
CN107766194A (zh) * 2017-11-17 2018-03-06 深圳市泉眼网络科技有限公司 测试方法、装置、系统、终端设备及计算机可读存储介质
CN108804331A (zh) * 2018-06-13 2018-11-13 郑州云海信息技术有限公司 一种自动化测试用例的自动排序方法
CN109710532A (zh) * 2018-12-28 2019-05-03 北京金山安全软件有限公司 一种测试用例的管理方法、装置及电子设备
CN113806209A (zh) * 2020-06-16 2021-12-17 腾讯科技(深圳)有限公司 接口测试方法、框架、计算机设备和存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040003068A1 (en) * 2002-06-27 2004-01-01 Microsoft Corporation System and method for testing peer-to-peer network applications
CN101706753A (zh) * 2009-12-11 2010-05-12 武汉虹信通信技术有限责任公司 一种基于Perl的单元测试框架及方法
CN106095668A (zh) * 2016-06-02 2016-11-09 上海科梁信息工程股份有限公司 基于事件和动作的c++测试用例的生成方法
CN107766194A (zh) * 2017-11-17 2018-03-06 深圳市泉眼网络科技有限公司 测试方法、装置、系统、终端设备及计算机可读存储介质
CN108804331A (zh) * 2018-06-13 2018-11-13 郑州云海信息技术有限公司 一种自动化测试用例的自动排序方法
CN109710532A (zh) * 2018-12-28 2019-05-03 北京金山安全软件有限公司 一种测试用例的管理方法、装置及电子设备
CN113806209A (zh) * 2020-06-16 2021-12-17 腾讯科技(深圳)有限公司 接口测试方法、框架、计算机设备和存储介质

Also Published As

Publication number Publication date
CN114328209B (zh) 2023-11-03

Similar Documents

Publication Publication Date Title
Kaur et al. Comparative study of automated testing tools: Testcomplete and quicktest pro
CN109271326B (zh) 云数据库的测试方法及其装置、设备和存储介质
CN110716870B (zh) 服务的自动化测试方法及装置
CN112052172A (zh) 第三方通道的快速测试方法、装置和电子设备
US11977860B1 (en) Systems and methods for analyzing robotic process automation code
Tierno et al. Open issues for the automotive software testing
CN115577691A (zh) 标书生成方法、存储介质及电子装置
US9268944B2 (en) System and method for sampling based source code security audit
CN111897721A (zh) 一种api接口的自动化测试方法及存储介质
Dadeau et al. Temporal property patterns for model-based testing from UML/OCL
CN117493188A (zh) 接口测试方法及装置、电子设备及存储介质
Oliveira et al. An Extensible Framework to Implement Test Oracle for Non-Testable Programs.
CN114328209A (zh) 一种自动化测试插件生成方法、装置、设备及存储介质
CN114880239B (zh) 一种基于数据驱动的接口自动化测试框架及方法
Motan et al. Android App Testing: A Model for Generating Automated Lifecycle Tests
CN112699042B (zh) 一种单元测试案例的生成方法及装置
CN110941830B (zh) 一种漏洞数据处理方法和装置
Cheh et al. Design and user study of a constraint-based framework for business logic flaw discovery
Viehmann et al. Risk assessment and security testing of large scale networked systems with RACOMAT
US20100293018A1 (en) Test Model Abstraction For Testability in Product Line Engineering
Weber et al. Detecting inconsistencies in multi-view uml models
Garousi et al. Visual GUI testing in practice: An extended industrial case study
Kundu Software Engineering: A Systematic Approach
Erdogan et al. A systematic method for risk-driven test case design using annotated sequence diagrams
Patnaik et al. Don't forget your classics: Systematizing 45 years of Ancestry for Security API Usability Recommendations

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
GR01 Patent grant
GR01 Patent grant