联调测试的方法及装置与流程

文档序号:12824647阅读:395来源:国知局
联调测试的方法及装置与流程

本发明涉及软件测试技术领域,尤其涉及一种联调测试的方法及装置。



背景技术:

在应用程序软件开发的过程中,通常会涉及前端页面的开发以及native端功能接口的开发,native端功能接口是需要通过前端页面中对应的按钮触发来调用的,当需要对native端的功能接口进行联调测试时,需要依赖于前端页面,而前端页面的开发以及native端各功能接口的开发进度往往不同,当需要对native端的功能接口进行联调测试时,前端页面的开发还未完成,无法进行联调测试,只能等前端页面开发完成后才能进行联调测试。因此,影响native端的开发进度。



技术实现要素:

鉴于上述问题,本发明提供一种联调测试的方法及装置,用以解决现有联调测试的方法影响native端开发进度的问题。

为解决上述技术问题,第一方面,本发明提供了一种联调测试的方法,所述方法包括:

根据属于未完成开发的页面中按钮对应的测试用例以及按钮的描述信息生成包含所述按钮的仿真测试页面,所述按钮为用于调用native端功能接口的按钮;

利用所述仿真测试页面与native端的功能接口进行联调测试。

第二方面,本发明提供了一种联调测试的装置,所述装置包括:

生成单元,用于根据属于未完成开发的页面中按钮对应的测试用例以及按钮的描述信息生成包含所述按钮的仿真测试页面,所述按钮为用于调用native端功能接口的按钮;

测试单元,用于利用所述仿真测试页面与native端的功能接口进行联调测试。

借由上述技术方案,本发明提供的联调测试的方法及装置,在native端需要进行联调测试时,可以根据联调测试所需要的未完成开发的页面中相关按钮的测试用例以及描述信息生成可以配合native端功能接口进行联调测试的仿真测试页面,因此即使在native端接口联调测试所依赖的前端页面没有开发完成时,可以生成与前端页面对应的仿真测试页面进行联调测试,根据测试结果对native端开发完成的功能接口代码进行调整,因此不影响native端的开发进度。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了本发明实施例提供的一种联调测试的方法的流程图;

图2示出了本发明实施例提供的另一种联调测试的方法的流程图;

图3示出了本发明实施例提供的一种联调测试的装置的组成框图;

图4示出了本发明实施例提供的另一种联调测试的装置的组成框图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

为解决现有的联调测试的方法影响native端开发进度的问题,本发明实施例提供了一种联调测试的方法,如图1所示,该方法包括:

101、根据属于未完成开发的页面中按钮对应的测试用例以及按钮的描述信息生成包含按钮的仿真测试页面。

其中,未完成开发的页面主要是指正在进行开发的应用程序对应的前端页面,按钮为用于调用native端功能接口的按钮或者控件。native端为源生代码(android本地方法)侧,提供各种功能接口,通过前端页面被调用。因此,当需要对native端的功能接口进行联调测试时,需要依赖前端页面进行功能接口的调用,进而执行功能接口的实现方法,完成功能接口的联调测试。而当前端页面未开发完成时,为了不影响native端开发的进度,因此需要模拟功能接口的调用,即需要生成未开发完成的前端页面对应的仿真测试页面,该仿真测试页面不是完全的仿真完整的前端页面,只需要能够模拟native端功能接口的调用功能即可,不考虑其他的页面元素(页面渲染、排版、具体的业务逻辑等等)。

由于生成的仿真测试页面只需要能够模拟native端功能接口的调用功能,不考虑其他的页面元素,因此可以根据调用功能接口的按钮的测试用例以及对应的描述信息快速生成能够配合native端进行功能接口联调的仿真测试页面。需要说明的是,native端的功能接口、按钮的描述信息以及按钮的测试用例三者之间是一一对应的。比如,若功能接口为下载接口,则对应的按钮的描述信息为与下载相关的描述信息,具体的描述信息中主要包括按钮名称、按钮功能描述、功能接口名称等几类信息,测试用例是测试下载接口需要的一些参数,比如下载的内容为书籍,则测试用例中参数主要包括书名、书的标识(identity,id)、书的封面等。下面给出一种与下载接口对应的按钮的描述信息,如下所示:

按钮名称:下载

按钮功能描述:用于调用客户端下载接口启动下载

功能接口名称:downloadcontent

102、利用仿真测试页面与native端的功能接口进行联调测试。

联调测试主要测试的是:当用于调用native端的功能接口对应的前端页面的按钮被触发时,是否可以根据前端页面所提供的参数执行功能接口的实现方法,最终得到正确的结果。给出具体的示例进行说明:假设功能接口为下载接口,需要下载的内容为一本书,当对应的前端页面中的下载按钮被触发时,会将前端页面中显示的书的相关参数信息(书名、书的标识id、书的封面等)发送给native端,使native端根据获取到的相关参数执行对应的下载功能接口的实现方法,生成向服务器发送关于下载该书的下载请求,并接收服务器返回的响应结果,然后将响应结果存放到预设的地址中,使用户验证是否为希望下载的书。

由于利用由步骤101中得到的仿真测试页面中,其中的按钮的测试用例中包含了native端功能接口所需要的相关参数(按钮的测试用例中包含的参数),因此得到的仿真测试页面可以代替真正的未开发完的前端页面配合native端的功能接口进行联调测试。另外,在进行联调测试之前,还需要将native端的功能接口的实现方法导入。

本发明实施例提供的联调测试的方法,在native端需要进行联调测试时,可以根据联调测试所需要的未完成开发的页面中相关按钮的测试用例以及描述信息生成可以配合native端功能接口进行联调测试的仿真测试页面,因此即使在native端接口联调测试所依赖的前端页面没有开发完成时,可以生成与前端页面对应的仿真测试页面进行联调测试,根据测试结果对native端开发完成的功能接口代码进行调整,因此不影响native端的开发进度。

对图1所示方法的细化及扩展,本发明实施例还提供了一种联调测试的方法,如图2所示:

201、新建空白页面。

本实施例中新建空白页面是指在用户选择新建菜单项后,新建一个空白的超文本标记语言(hypertextmarkuplanguage,html)页面。

202、在接收到添加测试用例的提示消息后,输出添加测试用例的输入框。

当用户选择添加测试用例菜单项后,生成添加测试用例的提示消息,接收到提示消息后,输出添加测试用例的输入框,以使用户输入将要在新建的空白页面中增加的按钮对应的测试用例。其中按钮为用于调用native端功能接口的按钮或者控件。

需要说明的是,本实施例中按钮的测试用例中主要包括进行测试功能接口需要的一些参数,给出具体的示例进行说明:假设将要调用的native端的功能接口为下载接口,假设下载的内容为书,则对应的参数包括书名、书的标识id、书的封面、下载书的统一资源定位符(uniformresourcelocator,url)、等,如下所示为一种测试用例的格式。在实际的应用中,不同的功能接口对应参数是不同,因此对应的测试用例是不同的。

上述测试用例中,一个“parametername”对应一个参数,这些参数都是在测试功能接口时所需要的参数。

另外,在实际的应用中,需要测试的native端的功能接口可能会有多个,因此也可以将调用所有功能接口对应的按钮的测试用例一次性写入,这样可以减少重复输出测试用例输入框进行测试用例输入的次数。

需要说明的是,在用户输入测试用例后,可以将测试用例导出。具体的导出过程为:用户选择导出测试用例的菜单项后,生成导出测试用例的提示消息,然后根据导出测试用例的提示消息将测试用例导出到用户选定的路径下。需要说明的,提供导出测试用例的功能,是为了便于在未开发的页面开发完成后重复使用。另外导出的测试用例也可以作为其他类似的测试用例编写时的参考等。

203、在接收到导入描述信息的提示消息后,接收导入的描述信息。

本步骤中的描述信息与图1步骤101中的所述的描述信息是相同的。除此之外需要说明的是,在实际应用中,对于需要测试的native端的功能接口有多个的情况下,因为一次只能对一个功能接口进行联调测试,因此为了简化操作,通常不同的功能接口共用一个用于调用功能接口的按钮,在进行联调测试时,按钮具体具有调用哪个功能接口的功能是通过不同的测试用例和描述信息决定的。因此,步骤202给出的测试用例中:"interface="downloadcontent"代表该测试用例对应的接口的接口名称“downloadcontent”是与后续将要导入的按钮的描述信息中的接口名称是相对应的,目的是为了能够根据描述信息得到对应的测试用例中的参数,这样可以保证即使都使用同一个按钮,但是在进行测试的过程却能实现不同的功能接口联调测试。

另外,因为所有的能接口共用一个用于调用功能接口的按钮,并且一次只能测试一个功能接口,因此,每次导入的描述信息为当前进行联调测试的功能接口对应的描述信息。

204、将按钮对应的测试用例以及描述信息添加到空白页面后生成仿真测试页面。

导入测试用例以及描述信息都是生成仿真测试页面的基础条件。具体的将按钮对应的测试用例以及描述信息添加到空白页面后生成仿真测试页面的生成理论为:根据预设桩函数生成仿真测试页面对应的html文件,其中预设桩函数为用于将按钮的测试用例中的参数以及描述信息添加到空白页面对应的html文件中生成仿真测试页面对应的html文件的函数。预设桩函数不是生成图1中所述的未开发完成的页面的函数,因为预设桩函数不管实际的输入是什么,都会返回固定的值。在本实施例中,即不管实际的输入是什么,返回的都是测试用例中的参数。另外,利用预设桩函数生成的仿真测试页面中会包含一个按钮,该按钮的描述信息即为步骤203中导入的描述信息。

205、接收触发仿真测试页面中按钮的触发指令。

当得到仿真测试页面后,就可以进行native端功能接口的联调测试了。在测试时,需要通过客户端中的webview组件打开仿真测试页面,然后接收用户触发仿真测试页面中按钮的触发指令。

206、根据触发指令调用描述信息。

根据触发指令会调用对应的描述信息,调用接口描述信息是为了后续步骤中根据接口描述获取对应的测试用例中的参数。

207、根据描述信息从对应的按钮的测试用例中获取参数。

根据描述信息中的包含的接口名称,找到具有相同的接口名称的对应的测试用例中的参数。

208、将参数传给native端,调用与按钮对应的功能接口进行联调测试。

将由步骤207中获取到的参数传给native端,使native端根据获取到的相关参数执行对应的功能接口的实现方法,生成向服务器发送的数据请求,并接收服务器返回的响应结果,使用户判断响应结果是否准确,完成功能接口的联调测试。

进一步的,作为对上述各实施例的实现,本发明实施例的另一实施例还提供了一种联调测试的装置,用于实现上述图1以及图2所述的方法。如图3所示,该装置包括:生成单元31以及测试单元32。

生成单元31,用于根据属于未完成开发的页面中按钮对应的测试用例以及按钮的描述信息生成包含所述按钮的仿真测试页面,所述按钮为用于调用native端功能接口的按钮;

其中,未完成开发的页面主要是指正在进行开发的应用程序对应的前端页面,按钮为用于调用native端功能接口的按钮或者控件。native端为源生代码(android本地方法)侧,提供各种功能接口,通过前端页面被调用。因此,当需要对native端的功能接口进行联调测试时,需要依赖前端页面进行功能接口的调用,进而执行功能接口的实现方法,完成功能接口的联调测试。而当前端页面未开发完成时,为了不影响native端开发的进度,因此需要模拟功能接口的调用,即需要生成未开发完成的前端页面对应的仿真测试页面,该仿真测试页面不是完全的仿真完整的前端页面,只需要能够模拟native端功能接口的调用功能即可,不考虑其他的页面元素(页面渲染、排版、具体的业务逻辑等等)。

由于生成的仿真测试页面只需要能够模拟native端功能接口的调用功能,不考虑其他的页面元素,因此可以根据调用功能接口的按钮的测试用例以及对应的描述信息快速生成能够配合native端进行功能接口联调的仿真测试页面。需要说明的是,native端的功能接口、按钮的描述信息以及按钮的测试用例三者之间是一一对应的。

测试单元32,用于利用所述仿真测试页面与native端的功能接口进行联调测试。

联调测试主要测试的是:当用于调用native端的功能接口对应的前端页面的按钮被触发时,是否可以根据前端页面所提供的参数执行功能接口的实现方法,最终得到正确的结果。给出具体的示例进行说明:假设功能接口为下载接口,需要下载的内容为一本书,当对应的前端页面中的下载按钮被触发时,会将前端页面中显示的书的相关参数信息(书名、书的标识id、书的封面等)发送给native端,使native端根据获取到的相关参数执行对应的下载功能接口的实现方法,生成向服务器发送关于下载该书的下载请求,并接收服务器返回的响应结果,然后将响应结果存放到预设的地址中,使用户验证是否为希望下载的书。

由于生成单元31中得到的仿真测试页面中按钮的测试用例中包含了native端功能接口所需要的相关参数(按钮的测试用例中包含的参数),因此得到的仿真测试页面可以代替真正的未开发完的前端页面配合native端的功能接口进行联调测试。另外,在进行联调测试之前,还需要将native端的功能接口的实现方法导入。

如图4所示,所述生成单元31,包括:

新建模块311,用于新建空白页面;

本实施例中新建空白页面是指在用户选择新建菜单项后,新建一个空白的html页面。

输出模块312,用于在接收到添加测试用例的提示消息后,输出添加测试用例的输入框,以使用户输入所述按钮对应的测试用例;

当用户选择添加测试用例菜单项后,生成添加测试用例的提示消息,接收到提示消息后,输出添加测试用例的输入框,以使用户输入将要在新建的空白页面中增加的按钮对应的测试用例。其中按钮为用于调用native端功能接口的按钮或者控件。

描述信息接收模块313,用于在接收到导入描述信息的提示消息后,接收导入的描述信息;

所有的能接口共用一个用于调用功能接口的按钮,并且一次只能测试一个功能接口,因此,每次导入的描述信息为当前进行联调测试的功能接口对应的描述信息。

生成模块314,用于将所述按钮对应的测试用例以及描述信息添加到空白页面后生成所述仿真测试页面。

将按钮的测试用例中的参数以及描述信息添加到空白页面对应的html文件中生成仿真测试页面对应的html文件。

如图4所示,所述生成模块314用于:

根据预设桩函数生成所述仿真测试页面,所述预设桩函数为用于将按钮的测试用例中的参数以及描述信息添加到空白页面中生成仿真测试页面的函数。

具体的将按钮对应的测试用例以及描述信息添加到空白页面后生成仿真测试页面的生成理论为:根据预设桩函数生成仿真测试页面对应的html文件,其中预设桩函数为用于将按钮的测试用例中的参数以及描述信息添加到空白页面对应的html文件中生成仿真测试页面对应的html文件的函数。预设桩函数不是生成图生成单元31中所述的未开发完成的页面的函数,因为预设桩函数不管实际的输入是什么,都会返回固定的值。在本实施例中,即不管实际的输入是什么,返回的都是测试用例中的参数。

如图4所示,所述测试单元32包括:

触发指令接收模块321,用于接收触发所述仿真测试页面中按钮的触发指令;

当得到仿真测试页面后,就可以开始进行native端功能接口的联调测试了。在测试时,需要通过客户端中的webview组件打开仿真测试页面,然后接收用户触发仿真测试页面中按钮的触发指令。

调用模块322,用于根据所述触发指令调用所述描述信息;

获取模块323,用于根据所述描述信息从对应的按钮的测试用例中获取所述参数;

根据描述信息中的包含的接口名称,找到具有相同的接口名称的对应的测试用例中的参数。

测试模块324,用于将所述参数传给native端,调用与所述按钮对应的功能接口进行所述联调测试。

如图4所示,所述还包括:

接收单元33,用于接收导出测试用例的提示消息;

导出单元34,用于将所述测试用例导出,以便于在未开发的页面开发完成后重复使用。

在用户输入测试用例后,可以将测试用例导出。具体的导出过程为:用户选择导出测试用例的菜单项后,生成导出测试用例的提示消息,然后根据导出测试用例的提示消息将测试用例导出到用户选定的路径下。需要说明的,提供导出测试用例的功能,是为了便于在未开发的页面开发完成后重复使用。另外导出的测试用例也可以作为其他类似的测试用例编写时的参考等。

本发明实施例提供的联调测试的装置,在native端需要进行联调测试时,可以根据联调测试所需要的未完成开发的页面中相关按钮的测试用例以及描述信息生成可以配合native端功能接口进行联调测试的仿真测试页面,因此即使在native端接口联调测试所依赖的前端页面没有开发完成时,可以生成与前端页面对应的仿真测试页面进行联调测试,根据测试结果对native端开发完成的功能接口代码进行调整,因此不影响native端的开发进度。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

可以理解的是,上述方法及装置中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的发明名称(如联调测试的装置)中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1