测试用例生成方法、装置、计算机设备和存储介质与流程

文档序号:19015676发布日期:2019-11-01 19:43阅读:198来源:国知局
测试用例生成方法、装置、计算机设备和存储介质与流程

本申请涉及测试技术领域,特别是涉及一种测试用例生成方法、装置、计算机设备和存储介质。



背景技术:

软件工程中的测试用例是一组条件或变量,测试者根据它来确定应用软件或软件系统是否正确工作。

诸如系统、工具、控制以及游戏软件等软件,需要满足不同用户的需求,会进行多样化设计和调整,而要使最终用户对软件感到满意,最有力的举措就是对最终用户的期望加以明确阐述,以便对这些期望进行核实并确认其有效性,测试用例反映了要核实的需求。可见,测试用例在软件工程中存在重大价值。

然而,传统的测试用例生成多数采用手动输入的方式进行编写,其数据输入过程费时,而且容易出现输入错误,导致整个测试用例无法生成。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种高效的测试用例生成方法、装置、计算机设备和存储介质。

一种测试用例生成方法,所述方法包括:

响应测试用例生成请求,读取预设测试用例模板,所述预设测试用例模板携带用例名称、用例描述、操作步骤、预期结果以及优先级的固定字段;

执行所述固定字段的数据录入进程,并在数据录入进程执行初始时推送固定字段名称的语音消息;

采集输入的测试用例生成语音数据,对所述测试用例生成语音数据进行语音转换处理,得到所述固定字段的文本录入数据;

将所述固定字段的文本录入数据对应写入至所述预设测试用例模板中,生成测试用例。

在其中一个实施例中,所述执行所述固定字段的数据录入进程,推送固定字段名称的语音消息包括:

将用例名称、用例描述、操作步骤、预期结果以及优先级依次作为执行字段;

执行所述执行字段的数据录入进程,推送执行字段名称的语音消息。

在其中一个实施例中,所述采集输入的测试用例生成语音数据,对所述测试用例生成语音数据进行语音转换处理,得到所述固定字段的文本录入数据包括:

采集输入的测试用例生成语音数据,将所述测试用例生成语音数据转换为文本数据;

识别所述文本数据中的关键词,将所述关键词封装为程序代码段,得到固定字段的文本录入数据。

在其中一个实施例中,所述识别所述文本数据中的关键词包括:

获取预设关键词数据库;

采用正向最大匹配法对所述文本数据进行分词处理,得到多个词语;

将所述多个词语在所述预设关键词数据库中进行搜索,查找存在于所述预设关键词数据库中的词语作为关键词。

在其中一个实施例中,所述关键词包括判断条件,所述将所述关键词封装为程序代码段包括:

选取与所述关键词中判断条件对应的预设句式;

根据所述预设句式,将所述关键词封装为程序代码段。

在其中一个实施例中,所述识别所述文本数据中的关键词之前,还包括:

对所述文本数据进行词语拆分,获得词语拆分结果;

过滤所述词语拆分结果中语气词,得到拆分后的词语;

所述识别所述文本数据中的关键词包括:

识别所述拆分后的词语中关键词。

一种测试用例生成装置,所述装置包括:

数据读取模块,用于响应测试用例生成请求,读取预设测试用例模板,所述预设测试用例模板携带用例名称、用例描述、操作步骤、预期结果以及优先级的固定字段;

语音推送模块,用于执行所述固定字段的数据录入进程,推送固定字段名称的语音消息;

数据录入模块,用于采集输入的测试用例生成语音数据,对所述测试用例生成语音数据进行语音转换处理,得到所述固定字段的文本录入数据;

测试用例生成模块,用于将所述固定字段的文本录入数据对应写入至所述预设测试用例模板中,生成测试用例。

在其中一个实施例中,语音推送模块还用于将用例名称、用例描述、操作步骤、预期结果以及优先级依次作为执行字段;执行所述执行字段的数据录入进程,推送执行字段名称的语音消息。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上述方法的步骤。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。

上述测试用例生成方法、装置、计算机设备和存储介质,基于携带有用例名称、用例描述、操作步骤、预期结果以及优先级在内固定字段的预设测试用例模板,生成多个固定字段的执行进程,通过语音识别技术将输入的测试用例生成语音数据转换为文本数据,将文本数据对应写入至预设测试用例模板的固定字段位置中,采用多进程处理和语音输入的方式实现测试用例的高效生成。

附图说明

图1为一个实施例中测试用例生成方法的应用环境图;

图2为一个实施例中测试用例生成方法的流程示意图;

图3为另一个实施例中测试用例生成方法的流程示意图;

图4为一个实施例中测试用例生成装置的结构框图;

图5为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的测试用例生成方法,可以应用于如图1所示的应用环境中。其中用户对app(application,应用程序)端102进行操作,提出当前需要进行测试用例生成请求(可以是点击app端102显示界面中启动编写的虚拟按钮),app端102响应测试用例生成请求,读取预设测试用例模板,在该测试用例模板中设置有用例名称、用例描述、操作步骤、预期结果以及优先级的固定字段,app端102执行上述固定字段对应进程,并且通过语音方式将当前执行的固定字段名称播报给用户,用户通过语音输入方式输入当前固定字段对应的测试用例编写数据,app端102采集测试用例编写语音数据,将测试用例生成语音数据转换为文本数据,得到各个固定字段对应的文本录入数据,将各个固定字段对应的文本录入数据对应写入至预设测试用例模板中,生成测试用例。非必要的,app端102还可以将生成的测试用例推送至与其连接的pc端104。

在一个实施例中,如图2所示,提供了一种测试用例生成方法,以该方法应用于图1中的app端为例进行说明,包括以下步骤:

s200:响应测试用例生成请求,读取预设测试用例模板,预设测试用例模板携带用例名称、用例描述、操作步骤、预期结果以及优先级的固定字段。

用户在终端上操作,提出当前需要进行测试用例生成请求,终端响应测试用例生成请求,读取预先存储的测试用例模板,在该测试用例模板中携带有用例名称、用例描述、操作步骤、预期结果以及优先级的固定字段,即设置有这些需要处理的进程,当用户操作完这些进程时,完成本轮测试用例生成。在实际应用中,用户可以在app端上进行操作,点击app端操作界面上的“启动测试编写”虚拟按钮,app端响应该新增测试用例请求,读取预设测试用例模板,将预设测试用例模板展示给用户,在界面固定显示包括用例名称、用例描述、操作步骤、预期结果、优先级的固定字段,这些固定字段用于表征本轮测试用例生成将依据此分多个进程完成。具体来说,用例名称用于区别各个用例,其可以为随机自动生成且唯一的编号、可以为当前编写测试用例类型相关的文字等;用例描述是用于简介描述编写测试用例的用途和目的;操作步骤是指运行测试用例时,需要执行的操作步骤,对应在编写时,需要针对这些操作步骤写入对应的数据;预期结果是指运行测试用例之后需要达到的预期结果,对应的在编写时,需要针对该预期结果写入对应的数据以便运行时自检以及校验;优先级是指当前测试用例被执行时对应的优先级,一般赋予优先级越高的测试用例对应执行优先级越高。

s400:执行固定字段的数据录入进程,并在数据录入进程执行初始时推送固定字段名称的语音消息。

app端通过语音方式播报方式推送当执行固定字段名称的语音消息,并且进入语音数据采集状态。具体来说,app端按照用例名称、用例描述、操作步骤、预期结果、优先级的顺序依次作为执行字段。推送执行“用例名称”固定字段进程对应的语音消息时,app端语音播报“用例名称录入”的语音消息,用户通过语音录入数据至app端,app端将当前采集到的语音数据写入至用例名称对应的位置,当用例名称字段进程录入完成时,app端语音推送执行用例描述进程敌营的语音消息,app端语音播报“用例描述”语音,重复上述操作,直至完成用例名称、用例描述、操作步骤、预期结果以及优先级进行对应的语音消息播报。

s600:采集输入的测试用例生成语音数据,对测试用例生成语音数据进行语音转换处理,得到固定字段的文本录入数据。

针对录入的测试用例生成语音数据采用语音识别技术将其转换为文本数据,将文本数据写入至相应的固定字段中。以“用例名称”固定字段为例,app端推送执行“用例名称”进程对应的语音消息至用户,采集当前输入的测试用例生成语音数据,将采集的测试用例生成语音数据转换为文本数据,将文本数据写入至“用例名称”中,app端将在测试用例生成界面上显示录入的数据,即完成“用例名称”这项进程的数据录入。针对其他固定字段再执行上述相同操作,直至完成所有固定字段对应文本数据的写入,得到固定字段的文本录入数据。

s800:将固定字段的文本录入数据对应写入至预设测试用例模板中,生成测试用例。

当app端完成所有固定字段进行对应文本数据录入时,即已完成整个测试用例生成中所需数据录入,将固定字段的文本录入数据对应写入至预设测试用例模板中,生成测试用例。在实际应用中,app端会在显示界面上显示当前已录入数据的状态,例如显示“用例名称”、“用例描述”、“操作步骤”对应文本数据已录入,等待“预期结果”、“优先级”对应文本数据录入,当app端感知到“用例名称”、“用例描述”、“操作步骤”、“预期结果”、“优先级”文本数据均已录入时,生成“提交”虚拟按钮,用户点击“提交”虚拟按钮,app端生成测试用例。

上述测试用例生成方法,基于携带有用例名称、用例描述、操作步骤、预期结果以及优先级在内固定字段的预设测试用例模板,生成多个固定字段的执行进程,通过语音识别技术将输入的测试用例生成语音数据转换为文本数据,将文本数据对应写入至预设测试用例模板的固定字段位置中,采用多进程处理和语音输入的方式实现测试用例的高效生成。

在其中一个实施例中,执行固定字段的数据录入进程,推送固定字段名称的语音消息包括:将用例名称、用例描述、操作步骤、预期结果以及优先级依次作为执行字段;执行执行字段的数据录入进程,推送执行字段名称的语音消息。

依次推送用例名称、用例描述、操作步骤、预期结果以及优先对应进行的语音消息至用户。在实际应用中,可以当当前固定字段对应的文本数据写入完成时,才推送执行下一固定字段进程对应的语音消息。例如当前执行字段为“用例名称”,当采集到用户语音输入“用例名称”对应的语音数据时,将测试用例生成语音数据转换为文本数据,将文本数据写入至“用例名称”对应位置,再选择“用例描述”作为执行字段,推送“用例描述”对应进程的语音消息,依次执行直至完成“优先级”固定字段对应文本数据写入。在本实施例中,有序选择固定字段作为当前执行字段,完成数据的有序推送以便后续数据有序采集和处理,提高测试用例生成的效率。

如图3所示,在其中一个实施例中,步骤s600包括:

s620:采集输入的测试用例生成语音数据,将测试用例生成语音数据转换为文本数据。

s640:识别文本数据中的关键词,将关键词封装为程序代码段。

s660:将代码段写入至对应的固定字段中,得到固定字段的文本录入数据。

将关键词封装为程序代码段是指将关键词封装为自动化框架能够执行的程序代码段。其中,每个关键词均对应具有预先定义的相对应的程序代码段,如关键词“点击”可封装为程序代码段“tap()”、关键词“首页按钮”可封装为程序代码段“findelementbyname(‘首页’)”、关键词“进入首页推荐页面”可封装为程序代码段asserttrue(findelementbyname(‘推荐’)).isvisible()。具体的,关键词可以通过预先构建的关键词数据库来识别,在预设关键词数据库中收录有常用测试用例生成的关键词,包括之前的“首页按钮”、“点击”、“进入首页推荐页面”等,其为预先构建的数据库,可以根据实际情况的需要进行更新。进一步的,可以先获取预设关键词数据库;采用正向最大匹配法对文本数据进行分词处理,得到多个词语;将多个词语在预设关键词数据库中进行搜索,查找存在于预设关键词数据库中的词语作为关键词。

在其中一个实施例中,关键词包括判断条件,将关键词封装为程序代码段包括:选取与关键词中判断条件对应的预设句式;根据预设句式,将关键词封装为程序代码段。

在较为复杂的示例中,关键词还可包括判断条件。因此,还可以包括将判断条件封装为程序代码段的步骤。具体地,可选择与判断条件相对应的预设句式,然后根据预设句式将关键词封装为程序代码段。举例来说,对于较为复杂的句式,通常会定义有一些如if、while等判断条件。在文本信息中,包含了“如果…执行…”、“如果…执行…否则执行…”、“如果…如果…执行…”等句式,可以针对上述句式对识别出的关键词进行封装。如“如果在首页,如果是运营位,点击广告,进入广告页面”,识别出的关键词为“如果”、“在首页”、“如果”、“是运营位”、“点击”、“广告”、“进入广告页面”,然后在进行封装时,判断出其属于“如果…如果…执行…”句式,由此可将其封装为程序代码段if(ishomepage){if(isbanner){view.tap();assert.assert(findelementbyname(‘广告’).isvisible());}}。

在其中一个实施例中,识别文本数据中的关键词之前,还包括:对文本数据进行词语拆分,获得词语拆分结果;过滤词语拆分结果中语气词,得到拆分后的词语;识别文本数据中的关键词包括:识别拆分后的词语中关键词。

在本实施例中,针对拆分出的词语进行过滤处理,过滤其中语气词,避免过多数据进入下一步的关键词识别操作,提高关键词识别效率,最终提高测试用例生成的效率。

在其中一个实施例中,根据录入数据,生成测试用例之后,还包括:推送生成的测试用例至pc端。

app端在生成测试用例之后,可以将生成的测试用例推送至pc端。在实际应用中,当需要使用测试用例时,用户在pc端操作,pc端根据用例集显示,点击某个用例集进去,显示用例列表,分页展示,支持导出。简单来说,在实际应用中,app端和pc端之间进行数据交互,app端新增测试用例集,在用例集下新增测试用例,进入用例新增页面,显示固定的字段:用例名称、用例描述、操作步骤、预期结果、优先级(给默认值可修改)等;每个固定字段,使用语音录制方式,自动转化成文字显示在对应的字段中,点击提交,自动生成用例编号,提交人可以修改用例,支持手动编写;用例编写完成。pc端根据用例集显示,点击某个用例集进去,显示测试用例列表,分页展示,支持导出。

应该理解的是,虽然图2-3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行

如图4所示,一种测试用例生成装置,装置包括:

数据读取模块200,用于响应测试用例生成请求,读取预设测试用例模板,预设测试用例模板携带用例名称、用例描述、操作步骤、预期结果以及优先级的固定字段;

语音推送模块400,用于执行固定字段的数据录入进程,推送固定字段名称的语音消息;

数据录入模块600,用于采集输入的测试用例生成语音数据,对测试用例生成语音数据进行语音转换处理,得到固定字段的文本录入数据;

测试用例生成模块800,用于将固定字段的文本录入数据对应写入至预设测试用例模板中,生成测试用例。

上述测试用例生成装置,基于携带有用例名称、用例描述、操作步骤、预期结果以及优先级在内固定字段的预设测试用例模板,生成多个固定字段的执行进程,通过语音识别技术将输入的测试用例生成语音数据转换为文本数据,将文本数据对应写入至预设测试用例模板的固定字段位置中,采用多进程处理和语音输入的方式实现测试用例的高效生成。

在其中一个实施例中,语音推送模块400还用于将用例名称、用例描述、操作步骤、预期结果以及优先级依次作为执行字段;执行执行字段的数据录入进程,推送执行字段名称的语音消息。

在其中一个实施例中,数据录入模块600还用于采集输入的测试用例生成语音数据,将测试用例生成语音数据转换为文本数据;识别文本数据中的关键词,将关键词封装为程序代码段;将代码段写入至对应的固定字段中,得到固定字段的文本录入数据。

在其中一个实施例中,数据录入模块600还用于获取预设关键词数据库;采用正向最大匹配法对文本数据进行分词处理,得到多个词语;将多个词语在预设关键词数据库中进行搜索,查找存在于预设关键词数据库中的词语作为关键词。

在其中一个实施例中,关键词包括判断条件,数据录入模块600还用于选取与关键词中判断条件对应的预设句式;根据预设句式,将关键词封装为程序代码段。

在其中一个实施例中,数据录入模块600还用于对文本数据进行词语拆分,获得词语拆分结果;过滤词语拆分结果中语气词,得到拆分后的词语;识别拆分后的词语中关键词。

在其中一个实施例中,上述测试用例生成装置还包括:

测试用例推送模块,用于推送生成的测试用例至pc端。

关于测试用例生成装置的具体限定可以参见上文中对于测试用例生成方法的限定,在此不再赘述。上述测试用例生成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储预设测试用例生成的界面数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种测试用例生成方法。

本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:

响应测试用例生成请求,读取预设测试用例模板,预设测试用例模板携带用例名称、用例描述、操作步骤、预期结果以及优先级的固定字段;

执行固定字段的数据录入进程,并在数据录入进程执行初始时推送固定字段名称的语音消息;

采集输入的测试用例生成语音数据,对测试用例生成语音数据进行语音转换处理,得到固定字段的文本录入数据;

将固定字段的文本录入数据对应写入至预设测试用例模板中,生成测试用例。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

将用例名称、用例描述、操作步骤、预期结果以及优先级依次作为执行字段;执行执行字段的数据录入进程,推送执行字段名称的语音消息。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

采集输入的测试用例生成语音数据,将测试用例生成语音数据转换为文本数据;识别文本数据中的关键词,将关键词封装为程序代码段;将代码段写入至对应的固定字段中,得到固定字段的文本录入数据。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

获取预设关键词数据库;采用正向最大匹配法对文本数据进行分词处理,得到多个词语;将多个词语在预设关键词数据库中进行搜索,查找存在于预设关键词数据库中的词语作为关键词。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

选取与关键词中判断条件对应的预设句式;根据预设句式,将关键词封装为程序代码段。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

对文本数据进行词语拆分,获得词语拆分结果;过滤词语拆分结果中语气词,得到拆分后的词语;识别拆分后的词语中关键词。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

推送生成的测试用例至pc端。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

响应测试用例生成请求,读取预设测试用例模板,预设测试用例模板携带用例名称、用例描述、操作步骤、预期结果以及优先级的固定字段;

执行固定字段的数据录入进程,并在数据录入进程执行初始时推送固定字段名称的语音消息;

采集输入的测试用例生成语音数据,对测试用例生成语音数据进行语音转换处理,得到固定字段的文本录入数据;

将固定字段的文本录入数据对应写入至预设测试用例模板中,生成测试用例。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

将用例名称、用例描述、操作步骤、预期结果以及优先级依次作为执行字段;执行执行字段的数据录入进程,推送执行字段名称的语音消息。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

采集输入的测试用例生成语音数据,将测试用例生成语音数据转换为文本数据;识别文本数据中的关键词,将关键词封装为程序代码段;将代码段写入至对应的固定字段中,得到固定字段的文本录入数据。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

获取预设关键词数据库;采用正向最大匹配法对文本数据进行分词处理,得到多个词语;将多个词语在预设关键词数据库中进行搜索,查找存在于预设关键词数据库中的词语作为关键词。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

选取与关键词中判断条件对应的预设句式;根据预设句式,将关键词封装为程序代码段。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

对文本数据进行词语拆分,获得词语拆分结果;过滤词语拆分结果中语气词,得到拆分后的词语;识别拆分后的词语中关键词。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

推送生成的测试用例至pc端。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

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