一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

测试方法、训练方法、装置、设备、介质和程序产品与流程

2021-11-05 20:24:00 来源:中国专利 TAG:


1.本公开涉及人工智能领域或金融领域等,更具体地涉及一种测试方法、训练方法、装置、设备、介质和程序产品。


背景技术:

2.在一款项目产品正式投产之前,为了及早发现产品可能存在问题,提高产品服务质量,往往会进行测试。例如在产品提供的一项业务中,用户会进行多个操作以按照顺序或规则办理业务。在接收到用户提交的每个操作时,可能会向服务端的接口请求数据,然后接收数据并进行处理,来为用户逐步办理业务。在测试过程中,需要测试人员手工对一项业务中可能涉及到的接口和参数进行配置,以确保在用户操作过程中可以正常处理数据。
3.在实现本公开构思的过程中,发明人发现相关技术中至少存在如下问题:
4.测试人员手工配置接口的过程较为繁琐,并且容易配置不全,而导致遗漏掉需测试的接口,使得测试效果不理想。


技术实现要素:

5.鉴于上述问题,本公开提供了一种能够自动配置接口数据列表的测试方法、训练方法、装置、设备、介质和程序产品。
6.本公开实施例的一个方面提供了一种测试方法。所述测试方法包括:获取n个第一接口数据;利用接口分类模型对所述n个第一接口数据进行分类,其中,所述接口分类模型基于待测试场景的接口规范训练得到;基于所述接口分类模型的分类结果获得m个第二接口数据,其中,所述n个第一接口数据包括所述m个第二接口数据,n和m分别为大于或等于1的整数,n大于或等于m;基于所述m个第二接口数据对所述待测试场景进行测试。
7.根据本公开的实施例,所述获取n个第一接口数据包括:基于所述待测试场景的测试业务,确定至少一个目标场景;从所述至少一个目标场景中获取所述n个第一接口数据。
8.根据本公开的实施例,在所述获取n个第一接口数据之前,还包括:利用机器学习算法基于所述接口规范训练所述接口分类模型;其中,所述机器学习算法包括贝叶斯分类算法、k

近邻算法、支持向量机、逻辑回归算法或集成学习算法中的至少一种。
9.根据本公开的实施例,所述利用机器学习算法基于所述接口规范训练所述接口分类模型包括:获取训练样本集,其中,所述训练样本集包括至少一个第三接口数据;基于所述接口规范确定所述第三接口数据的至少一种特征数据;基于所述至少一种特征数据训练所述接口分类模型。
10.根据本公开的实施例,所述至少一个第三接口数据包括一个或多个类别的接口数据,在所述机器学习算法为所述贝叶斯分类算法的情况下,所述基于所述至少一种特征数据训练所述接口分类模型包括:计算获得所述至少一种特征数据中每种特征数据的条件概率,以及所述一个或多个类别中每个类别的接口数据的先验概率;基于所述条件概率和所述先验概率训练获得所述接口分类模型。
11.根据本公开的实施例,所述利用接口分类模型对所述n个第一接口数据进行分类包括:获取所述n个第一接口数据中每个第一接口数据的所述至少一种特征数据;基于所述条件概率和所述先验概率对所述每个第一接口数据进行分类。
12.根据本公开的实施例,所述至少一种特征数据包括:接口的类型、接口url值、接口参数的数量、接口参数的类型或接口返回值中的至少一种。
13.本公开实施例的另一方面提供了一种接口分类模型的训练方法。所述训练方法包括:利用机器学习算法基于待测试场景的接口规范训练所述接口分类模型,以使得所述接口分类模型对n个第一接口数据进行分类,来获得m个第二接口数据对所述待测试场景进行测试,其中,所述n个第一接口数据包括所述m个第二接口数据,n和m分别为大于或等于1的整数,n大于或等于m;其中,所述机器学习算法包括贝叶斯分类算法、k

近邻算法、支持向量机、逻辑回归算法或集成学习算法中的至少一种。
14.本公开的另一方面提供了一种测试装置。测试装置包括第一获取模块、接口分类模块、第二获取模块和场景测试模块。所述第一获取模块用于获取n个第一接口数据。所述接口分类模块用于利用接口分类模型对所述n个第一接口数据进行分类,其中,所述接口分类模型基于待测试场景的接口规范训练得到;第二获取模块用于基于所述接口分类模型的分类结果获得m个第二接口数据,其中,所述n个第一接口数据包括所述m个第二接口数据,n和m分别为大于或等于1的整数,n大于或等于m。所述场景测试模块用于基于所述m个第二接口数据对所述待测试场景进行测试。
15.本公开的另一方面提供了一种训练装置。训练装置包括第一训练模块,用于利用机器学习算法基于待测试场景的接口规范训练所述接口分类模型,以使得所述接口分类模型对n个第一接口数据进行分类,来获得m个第二接口数据对所述待测试场景进行测试,其中,所述n个第一接口数据包括所述m个第二接口数据,n和m分别为大于或等于1的整数,n大于或等于m;其中,所述机器学习算法包括贝叶斯分类算法、k

近邻算法、支持向量机、逻辑回归算法或集成学习算法中的至少一种。
16.本公开的另一方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得一个或多个处理器执行如上所述的方法。
17.本公开的另一方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行如上所述的方法。
18.本公开的另一方面还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上所述的方法。
19.上述一个或多个实施例具有如下优点或有益效果:可以至少部分地解决测试人员手工配置接口数据容易漏测的问题,通过基于待测试场景的接口规范训练得到的接口分类模型对n个第一接口数据进行分类,来获得m个第二接口数据,避免了测试人员手工进行配置再用于测试的流程,从而通过分类筛选出了有效的接口数据,并全面获取到可以用于待测试场景的第二接口数据,扩大了测试范围,提高了测试效果。
附图说明
20.通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特
征和优点将更为清楚,在附图中:
21.图1示意性示出了根据本公开实施例的适于实现测试方法或训练方法的应用场景图;
22.图2示意性示出了根据本公开实施例的测试方法的流程图;
23.图3示意性示出了根据本公开实施例的获取n个第一接口数据的流程图;
24.图4示意性示出了根据本公开的另一实施例的测试方法的流程图;
25.图5示意性示出了根据本公开实施例的训练接口分类模型的流程图;
26.图6示意性示出了根据本公开实施例的基于至少一种特征数据训练接口分类模型的流程图;
27.图7示意性示出了根据本公开实施例的利用接口分类模型对n个第一接口数据进行分类的流程图;
28.图8示意性示出了根据本公开实施例的测试装置的结构框图;以及
29.图9示意性示出了根据本公开实施例的适于实现测试方法或训练方法的电子设备的方框图。
具体实施方式
30.以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
31.在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
32.在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
33.在使用类似于“a、b和c等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有a、b和c中至少一个的系统”应包括但不限于单独具有a、单独具有b、单独具有c、具有a和b、具有a和c、具有b和c、和/或具有a、b、c的系统等)。
34.本公开的实施例提供了一种测试方法、装置、设备、介质和程序产品。该测试方法包括:获取n个第一接口数据。利用接口分类模型对n个第一接口数据进行分类,其中,接口分类模型基于待测试场景的接口规范训练得到。基于接口分类模型的分类结果获得m个第二接口数据,其中,n个第一接口数据包括m个第二接口数据,n和m分别为大于或等于1的整数,n大于或等于m。基于m个第二接口数据对待测试场景进行测试。本公开的另一实施例还提供了一种训练方法、装置、设备、介质和程序产品。
35.根据本公开的实施例,通过基于待测试场景的接口规范训练得到的接口分类模型,对n个第一接口数据进行分类,来获得m个第二接口数据,避免了测试人员手工进行配置
再用于测试的流程。从而通过分类过程筛选出了有效的接口数据,并全面的获取到可以用于待测试场景的接口数据,扩大了测试范围,提高了测试效果。
36.需要说明的是,本公开实施例提供的测试方法、训练方法、装置、设备、介质和程序产品可以用于人工智能技术在产品测试相关方面,也可用于除人工智能技术之外的多种领域,如金融领域等。本公开实施例提供的测试方法、训练方法、装置、设备、介质和程序产品的应用领域不做限定。
37.图1示意性示出了根据本公开实施例的适于实现测试方法或训练方法的应用场景图。
38.如图1所示,根据该实施例的应用场景100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
39.用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
40.终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
41.服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。
42.需要说明的是,本公开实施例所提供的测试方法或训练方法可以由相同或不同的服务器执行,测试装置或训练装置也可以设置在相同或不同的设备中。具体地,本公开实施例所提供的测试方法或训练方法一般可以由服务器105执行。相应地,本公开实施例所提供的测试装置或训练装置一般可以设置于服务器105中。本公开实施例所提供的测试方法或训练方法也可以由不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的测试装置或训练装置也可以设置于不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群中。
43.应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
44.以下将基于图1描述的场景,通过图2~图7对本公开实施例的测试方法和训练方法进行详细描述。
45.图2示意性示出了根据本公开实施例的测试方法的流程图。
46.如图2所示,该实施例的测试方法包括操作s210~操作s240。
47.在操作s210,获取n个第一接口数据。
48.根据本公开的实施例,例如在用户通过web页面注册账号的场景中,可能会请求账号类别、请求验证码、请求地区等数据,也可能会发送用户名、邮箱等数据。在每一类数据请求、发送或接收时,可能会分别对应不同的接口,并且接口发送或接收的参数也有相应的格式或内容要求。其中,可以利用爬虫技术从网络中爬取多个第一接口数据(如url链接、返回
值等),从较多的数据量中,获取到有效接口数据。其中,接口数据可以包括定义接口时所设置的抽象方法与参数的集合,以及接口在运行过程中返回的数据内容。
49.在操作s220,利用接口分类模型对n个第一接口数据进行分类,其中,接口分类模型基于待测试场景的接口规范训练得到。
50.根据本公开的实施例,接口规范包括根据待测试场景提供的测试业务设置的接口数据定义。以通过web页面注册账号的场景为待测试场景举例,其中,业务为注册业务。接口规范可以包括接口类型、接口数量、接口中的抽象方法、接口参数数量、参数类型、参数值、接口中子类的继承关系、各个接口之间的数据传递关系等。第一接口数据可以包括接口规范中包括的一种或多种数据。换言之,待测试场景通过接口规范设置预定格式的接口,以进行业务办理过程中的数据传递和处理。
51.在操作s230,基于接口分类模型的分类结果获得m个第二接口数据,其中,n个第一接口数据包括m个第二接口数据,n和m分别为大于或等于1的整数,n大于或等于m。
52.根据本公开的实施例,由于接口分类模型在训练过程中学习了待测试场景中的接口规范,在分类时即可按照规范对n个第一接口数据进行分类,例如将符合接口规范的第一接口数据分类为有效接口数据,其中,有效接口数据既可以作为第二接口数据。
53.在操作s240,基于m个第二接口数据对待测试场景进行测试。
54.根据本公开的实施例,通过基于待测试场景的接口规范训练得到的接口分类模型对n个第一接口数据进行分类,来获得m个第二接口数据,避免了测试人员手工配置接口数据再进行测试的流程。从而通过分类过程筛选出了有效的接口数据,并全面的获取到可以用于待测试场景的第二接口数据,扩大了测试范围,提高了测试效果。
55.图3示意性示出了根据本公开实施例的操作s210中获取n个第一接口数据的流程图。
56.如图3所示,操作s210中获取n个第一接口数据测试方法包括操作s310~操作s320。
57.在操作s310,基于待测试场景的测试业务,确定至少一个目标场景。
58.在操作s320,从至少一个目标场景中获取n个第一接口数据。
59.根据本公开的实施例,例如采取爬虫技术在全网络爬取接口数据时,获得的接口数据中可能包括大部分无效接口数据。因此,无论是在爬取阶段还是在利用接口分类模型进行分类阶段,处理无效接口数据会浪费较多时间和计算资源。
60.以通过web页面注册账号的场景为待测试场景举例,其中,测试业务为注册业务。首先,可以获取其他产品(例如具有注册页面的手机应用程序或网站)的注册页面(即至少一个目标场景)。然后,从其他产品的注册账号页面中获取n个第一接口数据。
61.在本公开的另一些实施例中,可以从至少一个目标场景的第一接口数据中,获取不同第一接口数据之间的对应关系,该对应关系可以包括办理业务过程中多个操作之间的参数传递关系。
62.利用本公开实施例的测试方法,通过先确定目标场景的方式,能够缩小数据获取范围,使得获取到的接口数据更加精准,从而避免了浪费时间和资源处理过多的无效接口数据。另外,通过获得至少一个目标场景的接口数据,或接口数据之间的对应关系,能够提前模拟投产后的多种应用场景,从而扩展了测试用例,提高了测试效果。
63.图4示意性示出了根据本公开的另一实施例的测试方法的流程图。
64.如图4所示,该实施例的测试方法包括操作s210~操作s240,在操作s210之前,还可以包括操作s410。其中,操作s210~操作s240可以参照上述图1的描述,在此不做赘述。
65.在操作s410,利用机器学习算法基于接口规范训练接口分类模型。其中,机器学习算法包括贝叶斯分类算法、k

近邻算法、支持向量机、逻辑回归算法或集成学习算法中的至少一种。
66.根据本公开的实施例,相关技术中,通过测试人员手工配置接口,定义接口数据进行测试的方式,对测试人员在待测试场景的业务内容理解、编程技术掌握、接口规范理解等方面具有较高的要求,并且还无法避免配置出错或遗漏接口的情况。而利用机器学习算法训练获得接口分类模型,能够在训练过程中学习到接口规范,从而可以根据接口规范从现有的其他产品中获得符合要求的接口数据,能够降低对测试人员的要求,并扩大测试范围,提高测试效果。
67.图5示意性示出了根据本公开实施例的操作s410中训练接口分类模型的流程图。
68.如图5所示,操作s410中基于至少一种特征数据训练接口分类模型包括操作s510~操作s530。
69.在操作s510,获取训练样本集,其中,训练样本集包括至少一个第三接口数据。
70.在操作s520,基于接口规范确定第三接口数据的至少一种特征数据。
71.根据本公开的实施例,例如符合接口规范的有效接口数据包括含业务名称的接口名,json、int等类型的接口参数值,接口类型为post或者get类型等(仅为示例)。因此,可以从接口名、接口类型、参数等进行确定特征数据。参见表1,表1示出了有效接口和无效接口的url(uniform resource locator,统一资源定位符)示例。
72.表1
[0073][0074]
根据本公开的实施例,至少一种特征数据包括:接口的类型、接口url值、接口参数的数量、接口参数的类型或接口返回值中的至少一种。
[0075]
参见表1,接口url值可以包括参数值或业务名称,如“www”、“sp1”、“youxiao”“wuxiao”等名称。接口参数可以包括“mod”、“ibd”、“pid”、“lid”。接口的类型、接口返回值、参数的类型在表1中未列出。其中,例如接口规范可以规定接口url值包括“www”和“youxiao”,接口参数的数量为2,参数值的类型为int型。而如表1所示,有效接口和无效接口中接口参数的数量皆为2,而有效接口中“mod”、“ibd”的值皆为1,无效接口中“lid”的值并不符合要求。且无效接口中的url值也不符合接口规范。
[0076]
需要说明的是,表1中接口url值、接口参数等仅为示例,可根据实际需要设定具体的特征数据的值,本公开不进行限定。
[0077]
在操作s530,基于至少一种特征数据训练接口分类模型。
[0078]
根据本公开的实施例,训练样本集中的每个第三接口数据可以有相应的类别标签,如有效数据标签或无效数据标签。
[0079]
在机器学习算法为k

近邻算法时,k

近邻算法就是将待分类的接口数据归类到与之相近的带有标签的接口数据所在的类。首先,获取每个第三接口数据的至少一个特征数据,并进行预处理获得标准化的特征矩阵。然后,计算特征矩阵与对应类别标签的第三接口数据的算特征矩阵的相似度,通过相似度的大小来输出预测分类结果。其中,相似度可以通过计算欧式距离(仅为示例)获得,训练过程中可以基于预测分类结果和类别标签构造损失函数,通过最小化损失函数的方式以获取符合要求的接口分类模型,并利用测试集进行测试。
[0080]
在机器学习算法为支持向量机时,首先,基于训练样本集中第三接口数据对应的类别标签,获取类别分布情况。然后,构造核函数以用于接口分类模型的训练,并基于核函数绘制分类边界。接着,基于每个第三接口数据的至少一个特征数据输出预测分类结果。最后,通过预测分类结果与类别标签不断优化模型中的参数,利用测试集进行测试,直至符合要求。
[0081]
在机器学习算法为逻辑回归算法时,首先,获取每个第三接口数据的至少一个特征数据,并进行预处理,获得标准化的特征矩阵。然后,利用损失函数(如sigmod函数)基于特征矩阵,将每个第三接口数据的类别概率映射到(0,1)上,通过映射的数值输出预测分类结果。其中,利用逻辑回归算法训练接口分类模型的过程即是从训练样本集中学习出一个0/1分类模型。最后,利用测试集进行测试,直至符合要求。
[0082]
在机器学习算法为集成学习算法时,首先,从训练样本集中用初始权重训练出一个弱学习器1,根据弱学习器1的学习误差率来更新样本的权重,其中,初始权重例如是指每个特征数据所对应的一个权重,学习误差率例如是指弱学习器1对于训练样本集中的第三接口数据输出的预测分类结果相对于类别标签的误差率。然后,基于更新后的权重,训练出一个弱学习器2,其中,对于弱学习器1中误差率高的第三接口数据,在弱学习器2的训练过程中给予更大的重视,据此来更新权重。如此循环往复,直至获得预定数量的弱学习器。最后,通过集合策略进行整合,得到强学习器,即可作为接口分类模型。
[0083]
在本公开的一些实施例中,可以将k

近邻算法、支持向量机、逻辑回归算法或集成学习算法中的多种联合使用,获得接口分类模型。
[0084]
根据本公开的实施例,接口分类模型的输入即至少一种特征数据,而特征数据是根据接口规范获得的,所以接口分类模型对于接口数据具有较高的分类效果,从而对于接口分类场景具有较高的适应性。
[0085]
图6示意性示出了根据本公开实施例的操作s530中基于至少一种特征数据训练接口分类模型的流程图。
[0086]
如图6所示,至少一个第三接口数据包括一个或多个类别(如上述类别标签)的接口数据,在机器学习算法为贝叶斯分类算法的情况下,训练接口分类模型包括操作s610~操作s620。
[0087]
根据本公开的实施例,贝叶斯算法的定义如下:
[0088]
首先,获取训练样本集中一个或多个第三接口数据x
i
,如x={x1,x2,x3……
,x
n
}。
[0089]
然后,定义类别集合y={y1,y2,y3……
,y
n
}。
[0090]
接着,抽取每个第三接口数据的至少一个特征数据c
j
,如特征数据集合c
i
={c1,c2,c3……
,c
n
}。
[0091]
然后,计算条件概率p(y
i
),以及概率p(y
i
|x
j
),其中,
[0092]
p(y
i
|x
j
)=p(x
j
|y
i
)*p(y
i
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
式(1)
[0093]
p(x
j
|y
i
)=p(c1|y
i
)*p(c2|y
i
)*p(c3|y
i
)......p(c
n
|y
i
)
ꢀꢀꢀꢀꢀ
式(2)
[0094]
其中,p(c
j
|y
i
)为先验概率。
[0095]
最后,根据式(3)确定出每个第三接口数据的类别,并去类别标签进行对照,其中每个第三接口数据的类别按照下式计算:
[0096]
p(y
k
|x
i
)=max{p(y1|x
i
),p(y2|x
i
),p(y3|x
i
)

p(y
n
|y
i
)}
[0097]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
式(3)
[0098]
其中,y
k
为x
i
所属的类别,y
k
属于集合y。
[0099]
在操作s610,计算获得至少一种特征数据中每种特征数据的条件概率,以及一个或多个类别中每个类别的接口数据的先验概率。
[0100]
根据本公开的实施例,特征数据集合c可以包括接口的类型、接口url值、接口参数的数量和接口返回值。类别集合y可以包括有效接口数据y1和无效接口数据y2。
[0101]
首先,计算出条件概率p(y1)和p(y2)。
[0102]
然后,以接口类型为post或get为例,计算出p(type=post|y1),p(type=post|y2),p(type=get|y1),p(type=post|y2)等先验概率。其他特征数据可以同样的方式获得。
[0103]
在操作s620,基于条件概率和先验概率训练获得接口分类模型。
[0104]
根据本公开的实施例,利用贝叶斯分类算法可以通过抽取不同的特征数据,或者为每个特征数据对应的先验概率赋予不同的权重获得多个分类器,基于分类结果以确定最优分类器作为接口分类模型。贝叶斯分类算法训练模型简单快速,能够以较高的效率获得接口分类模型,从而结合待测试场景的接口规范,通过多个特征数据准确获得每个接口数据的分类结果。
[0105]
图7示意性示出了根据本公开实施例的操作s220中利用接口分类模型对n个第一接口数据进行分类的流程图。
[0106]
如图7所示,该实施例的测试方法包括操作s710~操作s720。
[0107]
在操作s710,获取n个第一接口数据中每个第一接口数据的至少一种特征数据。
[0108]
在操作s720,基于条件概率和先验概率对每个第一接口数据进行分类。
[0109]
根据本公开的实施例,例如一个第一接口数据x’的特征数据分别为:接口类型type为post,url值为youxiao,参数(param)数量为5,返回值response为1,获取每个特征数据的先验概率,以及训练过程中获得的条件概率,对其进行分类,示例如下:
[0110]
p(x’|y1)=p(y1)*p(type=post|y1)*p(url=*youxiao|y1)*p(param=5|y1)*p(response=1|y1)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
式(4)
[0111]
p(x’|y2)=p(y2)*p(type=post|y2)*p(url=*youxiao|y2)*p(param=5|y2)*p(response=1|y2)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
式(5)
[0112]
若p(x’|y1)大于p(x’|y2),则第一接口数据x’属于y1类,即有效接口数据。
[0113]
需要说明的是,上述第一接口数据x’的各种特征数据仅为示例,根据实际需求可以任意选择特征数据,本公开不进行具体限定。
[0114]
基于上述测试方法,本公开还提供了一种测试装置。
[0115]
图8示意性示出了根据本公开实施例的测试装置800的结构框图。
[0116]
如图8所示,该实施例的测试装置800包括第一获取模块810、接口分类模块820、第二获取模块830和场景测试模块840。
[0117]
第一获取模块810例如可以执行操作s210,用于获取n个第一接口数据。
[0118]
根据本公开的实施例,第一获取模块810例如还可以执行操作s310~操作s310,用于基于待测试场景的测试业务,确定至少一个目标场景。从至少一个目标场景中获取n个第一接口数据。
[0119]
接口分类模块820例如可以执行操作s220,用于利用接口分类模型对n个第一接口数据进行分类,其中,接口分类模型基于待测试场景的接口规范训练得到。
[0120]
根据本公开的实施例,接口分类模块820例如还可以执行操作s710~操作s720,用于获取n个第一接口数据中每个第一接口数据的至少一种特征数据。基于条件概率和先验概率对每个第一接口数据进行分类。
[0121]
第二获取模块830例如可以执行操作s230,用于基于接口分类模型的分类结果获得m个第二接口数据,其中,n个第一接口数据包括m个第二接口数据,n和m分别为大于或等于1的整数,n大于或等于m。
[0122]
场景测试模块840例如可以执行操作s240,用于基于m个第二接口数据对待测试场景进行测试。
[0123]
根据本公开的实施例,测试装置800还可以包括第二训练模块。第二训练模块例如可以执行操作s410,用于利用机器学习算法基于待测试场景的接口规范训练接口分类模型,以使得接口分类模型对n个第一接口数据进行分类,来获得m个第二接口数据对待测试场景进行测试,其中,n个第一接口数据包括m个第二接口数据,n和m分别为大于或等于1的整数,n大于或等于m。其中,机器学习算法包括贝叶斯分类算法、k

近邻算法、支持向量机、逻辑回归算法或集成学习算法中的至少一种。
[0124]
根据本公开的实施例,第二训练模块例如还可以执行操作s510~操作s530,用于获取训练样本集,其中,训练样本集包括至少一个第三接口数据。基于接口规范确定第三接口数据的至少一种特征数据。基于至少一种特征数据训练接口分类模型。
[0125]
根据本公开的实施例,第二训练模块例如还可以执行操作s610~操作s620,用于在机器学习算法为贝叶斯分类算法的情况下,计算获得至少一种特征数据中每种特征数据的条件概率,以及一个或多个类别中每个类别的接口数据的先验概率。基于条件概率和先验概率训练获得接口分类模型。
[0126]
基于上述训练方法,本公开还提供了一种训练装置。
[0127]
根据本公开的实施例,训练装置可以包括第一训练模块,第一训练模块例如执行操作s410,用于利用机器学习算法基于待测试场景的接口规范训练接口分类模型,以使得接口分类模型对n个第一接口数据进行分类,来获得m个第二接口数据对待测试场景进行测试,其中,n个第一接口数据包括m个第二接口数据,n和m分别为大于或等于1的整数,n大于或等于m。其中,机器学习算法包括贝叶斯分类算法、k

近邻算法、支持向量机、逻辑回归算法或集成学习算法中的至少一种。
[0128]
根据本公开的实施例,第一训练模块例如还可以执行操作s510~操作s530,以及操作s610~操作s620,在此不做赘述。
[0129]
根据本公开的实施例,测试装置800或训练装置中的任意多个模块可以合并在一
个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,测试装置800或训练装置中的至少一个模块可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,测试装置800或训练装置中的至少一个模块可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
[0130]
图9示意性示出了根据本公开实施例的适于实现测试方法或训练方法的电子设备的方框图。
[0131]
如图9所示,根据本公开实施例的电子设备900包括处理器901,其可以根据存储在只读存储器(rom)902中的程序或者从存储部分908加载到随机访问存储器(ram)903中的程序而执行各种适当的动作和处理。处理器901例如可以包括通用微处理器(例如cpu)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(asic))等等。处理器901还可以包括用于缓存用途的板载存储器。处理器901可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
[0132]
在ram 903中,存储有电子设备900操作所需的各种程序和数据。处理器901、rom 902以及ram 903通过总线904彼此相连。处理器901通过执行rom 902和/或ram 903中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,程序也可以存储在除rom 902和ram 903以外的一个或多个存储器中。处理器901也可以通过执行存储在一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
[0133]
根据本公开的实施例,电子设备900还可以包括输入/输出(i/o)接口905,输入/输出(i/o)接口905也连接至总线904。电子设备900还可以包括连接至i/o接口905的以下部件中的一项或多项:包括键盘、鼠标等的输入部分906。包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分907。包括硬盘等的存储部分908。以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至i/o接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
[0134]
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的。也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
[0135]
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、便携式紧凑磁盘只读存储器(cd

rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的
rom 902和/或ram 903和/或rom 902和ram 903以外的一个或多个存储器。
[0136]
本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机系统中运行时,该程序代码用于使计算机系统实现根据本公开实施例的方法。
[0137]
在该计算机程序被处理器901执行时执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
[0138]
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分909被下载和安装,和/或从可拆卸介质911被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
[0139]
在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被处理器901执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
[0140]
根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如java,c ,python,“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
[0141]
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0142]
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献