CN112214390A - 一种测试用例生成方法、装置、系统、设备及介质 - Google Patents

一种测试用例生成方法、装置、系统、设备及介质 Download PDF

Info

Publication number
CN112214390A
CN112214390A CN201910615270.6A CN201910615270A CN112214390A CN 112214390 A CN112214390 A CN 112214390A CN 201910615270 A CN201910615270 A CN 201910615270A CN 112214390 A CN112214390 A CN 112214390A
Authority
CN
China
Prior art keywords
configuration
test case
configuration item
combination
value
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
CN201910615270.6A
Other languages
English (en)
Other versions
CN112214390B (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910615270.6A priority Critical patent/CN112214390B/zh
Publication of CN112214390A publication Critical patent/CN112214390A/zh
Application granted granted Critical
Publication of CN112214390B publication Critical patent/CN112214390B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种测试用例生成方法,包括:获取软件系统的配置文件,所述配置文件中包括用于表征业务逻辑的配置项,将所述配置文件中的每个配置项与配置规则表进行匹配,得到每个配置项各自对应的取值空间,将所述配置文件中的每个配置项进行组合得到配置项组合,遍历所述配置项组合中每个配置项各自对应的取值空间,进行取值组合得到所述配置项组合的所有取值组合,调用测试用例模板,基于所述测试用例模块和所述配置项组合的每一取值组合生成对应的测试用例。一方面减少了用户操作,提高了测试效率,另一方面覆盖业务场景较为全面,避免漏测现象发生,保证了测试质量,能够满足多样化的测试需求。本申请还公开了对应的装置、设备、系统及介质。

Description

一种测试用例生成方法、装置、系统、设备及介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种测试用例生成方法、装置、设备、测试用例管理系统及计算机存储介质。
背景技术
在软件工程中,测试用例是指为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。目前,测试用例主要是测试人员通过走读代码并分析业务场景手动编写的。
对于面向众多业务的复杂系统,其配置文件包含很多配置项,每个配置项包含多个值,不同值对应的逻辑分支不同。而且在有些情况下,配置项还包含很多嵌套组合,这样会使得整个配置文件非常复杂,测试人员在编写测试用例时很难覆盖所有配置组合,容易导致漏测,若穷举所有配置组合则会导致效率低下,难以满足测试需求。
发明内容
本申请提供了一种测试用例生成方法,其通过匹配配置规则表的方式,自动生成配置项组合的各取值组合,进而生成对应的测试用例,提高了测试效率以及测试质量。本申请还提供了对应的装置、设备、测试用例管理系统、以及计算机存储介质和计算机程序产品。
本申请一方面提供了一种测试用例方法,所述方法包括:
获取软件系统的配置文件,所述配置文件中包括用于表征业务逻辑的配置项;
将所述配置文件中的每个配置项与配置规则表进行匹配,得到每个配置项各自对应的取值空间;
将所述配置文件中的每个配置项进行组合得到配置项组合,遍历所述配置项组合中每个配置项各自对应的取值空间,进行取值组合得到所述配置项组合的所有取值组合;
调用测试用例模板,基于所述测试用例模块和所述配置项组合的每一取值组合生成对应的测试用例。
本申请一方面提供了一种测试用例生成装置,所述装置包括:
获取模块,用于获取配置文件,所述配置文件中包括用于表征业务逻辑的配置项;
匹配模块,用于将所述配置文件中的每个配置项与配置规则表进行匹配,得到每个配置项各自对应的取值空间;
遍历模块,用于将所述配置文件中的每个配置项进行组合得到配置项组合,遍历所述配置项组合中每个配置项各自对应的取值空间,进行取值组合得到所述配置项组合的所有取值组合;
生成模块,用于调用测试用例模板,基于所述测试用例模块和所述配置项组合的每一取值组合生成对应的测试用例。
本申请一方面提供了一种测试用例管理系统,所述系统包括需求配置系统、配置发布系统和测试用例生成系统;
所述需求配置系统,用于接收需求人员配置的配置项,根据所述配置项生成配置文件;
所述配置发布系统,用于从所述需求配置系统拉取所述配置文件,执行针对所述配置文件的发布操作,并向所述测试用例生成系统发送发布成功通知消息;
所述测试用例生成系统,用于在接收到发布成功通知消息时,执行如下步骤:
获取软件系统的配置文件,所述配置文件中包括用于表征业务逻辑的配置项;
将所述配置文件中的每个配置项与配置规则表进行匹配,得到每个配置项各自对应的取值空间;
将所述配置文件中的每个配置项进行组合得到配置项组合,遍历所述配置项组合中每个配置项各自对应的取值空间,进行取值组合得到所述配置项组合的所有取值组合;
调用测试用例模板,基于所述测试用例模块和所述配置项组合的每一取值组合生成对应的测试用例。
本申请一方面提供了一种设备,所述设备包括处理器以及存储器:
所述存储器用于存储计算机程序;
所述处理器用于根据所述计算机程序执行本申请所述的测试用例生成方法。
本申请一方面提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行本申请所述的测试用例生成方法。
本申请一方面提供了一种包括指令的计算机程序产品,当其在计算机上运行时,使得所述计算机执行本申请所述的测试用例生成方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例中提供了一种测试用例生成方法,具体地,获取配置文件,所述配置文件中包括用于表征业务逻辑的配置项,将所述配置文件中的每个配置项与配置规则表进行匹配,可以得到每个配置项各自对应的取值空间,将所述配置文件中的每个配置项组合得到配置项组合,遍历所述配置项组合中每个配置项各自对应的取值空间,进行取值组合得到所述配置项组合的所有取值组合,然后调用测试用例模板,基于所述测试用例模板和所述配置项组合的每一取值组合生成测试用例。该方法通过遍历配置项的取值空间方式自动生成配置项组合的各取值组合,进而生成与配置项组合的各取值组合对应的测试用例,一方面减少了用户操作,提高了测试效率,另一方面覆盖业务场景较为全面,避免漏测现象发生,保证了测试质量,能够满足多样化的测试需求。
附图说明
图1为本申请实施例中测试用例生成方法的场景架构图;
图2为本申请实施例中测试用例生成方法的流程图;
图3为本申请实施例中异步消息系统通过订阅发布实现消息流转示意图;
图4为本申请实施例中生成测试用例的流程图;
图5为本申请实施例中用例生成系统的结构示意图;
图6为本申请实施例中测试用例生成装置的一个结构示意图;
图7为本申请实施例中终端的一个结构示意图;
图8为本申请实施例中服务器的一个结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
针对面向众多业务的复杂系统,测试人员手动编写测试用例时很难覆盖所有配置组合,容易导致漏测,若穷举所有配置组合则会导致效率低下,难以满足测试需求的问题,本申请提供了一种测试用例生成方法,其通过将配置文件中的配置项与配置规则表进行匹配,确定每个配置项各自对应的取值空间,然后将配置文件中的每个配置项组合得到配置项组合,遍历每个配置项各自对应的取值空间进行取值组合从而得到配置项组合的所有取值组合,然后调用测试用例模板,基于该模板和每一取值组合生成测试用例。
根据预先配置好的规则自动生成配置项组合的各取值组合,其覆盖的业务场景较为全面,可以避免漏测现象发生,保障了测试质量,而且该方法无需测试人员手动设计取值组合,根据遍历取值空间得到的取值组合自动生成测试用例,减少了用户操作,提高了测试效率。
可以理解,本申请提供的测试用例生成方法主要用于为软件系统生成测试用例,该软件系统可以是异步消息系统、动态路由转发系统或者业务配置管理系统等组件系统,为了便于理解,后文均以异步消息系统作为示例进行说明。
在具体实现时,上述测试用例生成方法可以通过任意具有数据处理能力的处理设备实现,该处理设备可以是终端,终端包括但不限于台式机、笔记本电脑、平板电脑等,该处理设备也可以是服务器,上述处理设备可以独立实现本申请的测试用例生成方法,也可以通过集群等方式协作实现本申请的测试用例生成方法。
本申请的测试用例生成方法可以以计算机程序的形式存储于处理设备。处理设备通过运行该计算机程序,实现本申请的测试用例生成方法。需要说明的是,该计算机程序可以是独立的,也可以是集成于其他计算机程序之上的功能模块、插件或者小程序等等。
在实际应用时,本申请提供的测试用例生成方法可以但不限于应用于如图1所示的应用环境中。
如图1所示,在为软件系统生成测试用例时,服务器100先获取该软件系统的配置文件,然后将配置文件中的每个配置项与配置规则表进行匹配,得到每个配置项各自对应的取值空间,再将所述配置文件中的每个配置项进行组合得到配置项组合,遍历所述配置项组合中每个配置项各自对应的取值空间,进行取值组合得到所述配置项组合的所有取值组合,最后调用测试用例模板,基于所述测试用例模块和所述配置项组合的每一取值组合生成对应的测试用例。
为了使得本申请的技术方案更加清楚、易于理解,下面将从服务器的角度,对本申请实施例提供的测试用例生成方法进行详细介绍。
参见图2所示的测试用例生成方法的流程图,该方法包括:
S201:获取软件系统的配置文件。
所述配置文件中包括用于表征业务逻辑的配置项。具体地,每一个配置项可用于描述业务的一种属性,通过多个配置项可以实现从多个维度描述业务逻辑。
为了便于理解,以异步消息系统为例进行说明。该异步消息系统基于订阅发布模式实现消息流转,其中,消息具体是指进程间传送的数据,消息在传输过程中通过消息队列进行中转,通过消息队列实现将消息由源中继至目标。
为此,需要在配置文件中维护订阅关系,该订阅关系即是通过包括主题topic、消费者名称consumer_name等在内的配置项进行表征的。本申请实施例还提供了订阅关系的一个代码表示,如下所示:
<Subscribe topic="t_wx_tcbankroll_save"consumer_name="om_tcbankroll_merge_c"conn_proto="middle"proto_param="service_name=om_tcbankroll_merge_c"itil_id="100000002"fail_itil_id="100000002"msg_proto="lost"retry_times="0"errcode_white_list="10005"errcode_flow_ctrl_list="1232345,10003"filter_rule=""frequency="0"sub_level="1"is_yunei="true"owners="harry"retry_initial="1"retry_interval="2"retry_max_time="10"thread_num="1"/>
其中,Subscribe表征订阅关系,topic是表征消息所属主题的配置项,consumer_name是表征消息的消费者的配置项,消息的生产者在生产消息之后,将其发布到对应topic的消息队列,订阅该topic的消费者可以监听消息队列,并从中拉取消息进行消费。
以电商系统中的异步消息系统进行示例性说明,用户下单后,订单系统需要通知库存系统减库存,如果订单系统直接调用库存系统的接口,则库存系统无法访问时,将导致订单减库存失败,从而导致订单失败,基于此,可以创建订单系统和库存系统的订阅关系,如图3所示,用户下单后,订单系统完成持久化处理,将消息写入消息队列,返回用户订单下单成功;库存系统订阅下单的消息,采用拉pull或推push的方式,获取下单消息,库存系统根据下单消息,进行库存操作。即使下单时库存系统不能正常使用,也不影响正常下单,实现了实现订单系统与库存系统的应用解耦。
可以理解,请参见图4,当有更新线上配置需求时,需求人员如开发、测试或产品登录到需求配置系统配置上述配置项,需求配置系统接收需求人员配置的配置项,根据该配置项生成配置文件。配置发布系统从需求配置系统拉取配置文件,执行针对配置文件的发布操作,并向所述测试用例生成系统发送发布成功通知消息,如此,测试用例生成系统在接收到该发布成功通知消息时,通过服务器获取配置文件,以用于生成测试用例。
在具体实现时,服务器可以通过如下步骤获取配置文件:
S2011:获取配置发布系统的网络地址和端口号,根据所述网络地址和所述端口号访问所述配置发布系统。
S2012:获取所述配置文件的存储路径,根据所述存储路径从所述配置发布系统中获取所述配置文件。
其中,配置发布系统的网络地址和端口号可以是测试用例生产系统在进行环境配置时保存在本地或云端,具体参见图5,测试用例生成系统包括公共管理模块、配置分析模块和用例生成模块,其中,公共管理模块包括环境配置模块、管理模块和邮件模板模块,其中,环境配置模块即用于配置上述网络地址和端口号,管理模块主要用于对待自动化用例的模块进行管理,包括对模块进行名称配置和存储路径配置,邮件模板模块主要用于存储邮件模板。
如图5所示,配置分析模块可以基于环境配置模块中的网络地址和端口号访问配置发布系统,然后基于待自动化用例的模块对应的存储路径获取配置文件,进而基于配置规则表对该配置文件进行分析,用例生成模块则基于分析结果生成测试用例。
S202:将所述配置文件中的每个配置项与配置规则表进行匹配,得到每个配置项各自对应的取值空间。
配置规则表中包括配置项名称以及对应的配置值,需要说明,该配置值具体可以是单个取值,也可以是多个取指形成的集合。当然,在一些可能的实现方式中,配置规则表中还可以包括节点,以便对配置项按照对应节点进行区分。本申请提供了配置规则表的一个具体示例,具体为cmq-worker对应的配置规则表,如下所示:
表1
书点 配置项名称 配置值
ServerCopy copy_type yn|yw|ky
ServerCopy pass_city true|false
ConsumerGroup source local|cc
ConsumerGroup use_I5 true|false
SubscribeGroup conn_proto middle|relay|http|udp|risk|tcp_common|pull
SubscribeGroup msg_proto lost|nolost
SubscribeGroup sub_level 1|2
SubscribeGroup is_yunei true|false
SubscribeGroup filter_rule #|==|!=|\|
其中,ServerCopy表征服务复制节点,ConsumerGroup和SubscribeGroup分别表征消费者群组节点以及订阅群组节点,copy_type、pass_city表征复制类型配置项以及是否跨域配置项,conn_proto表征协议类型配置项,msg_proto表征消息丢失控制配置项,表1仅仅示出了配置规则表中为固定配置值的配置项,配置规则表还可以包括部分配置值不固定的配置项,具体可以根据实际需求文档进行配置。
具体到本实施例,服务器主要基于配置项名称进行匹配,针对配置文件中的每个配置项,服务器分别在配置规则表中查找与其名称相匹配的配置规则记录,然后将该配置规则记录中的配置值确定为该配置项对应的取值空间。例如,配置项msg_proto对应的取值空间为lost和nolost。
可以理解,配置规则表是由配置规则记录组成的,配置规则记录中包括配置项与所述配置项对应的配置值,当配置规则表包括多条配置规则记录,服务器还可以在针对同一配置项的多条配置规则记录中所述配置项对应的配置值属于相同形式时,利用所述配置值对应的正则表达式替换所述相同形式的配置值,然后删除所述配置规则表中重复的配置规则记录,一方面可以减少匹配次数,提高匹配效率,并且具有较高的容错性,另一方面,可以缩小配置规则表的规模,节省存储空间。
为了便于理解,结合具体示例进行说明。其中filter_rule过滤规则这一配置项,其对应的配置值一般是逻辑运算符的组合,作为一个示例,可以配置为如下形式:
filter_rule="GM_M2:idc_src!=GM_M2#idc_src!=GM_M10#idc_src!=SH";
考虑到存在相同形式的配置规则表的情况,可以假设字母用C表示,数字用N表示,其中GM_M2可以用CC_CN表示,由于配置项中包含的特殊字符或者字母数字的不同逻辑,可能对应的代码逻辑是不同的,为了模拟最真实的场景,服务器还可以通过如下所示的正则表达式去匹配,以确定配置项对应的取值空间:
CC_CN:idc_src!=CC_CN#idc_src!=CC_CNN#idc_src!=CC。
S203:将所述配置文件中的每个配置项进行组合得到配置项组合,遍历所述配置项组合中每个配置项各自对应的取值空间,进行取值组合得到所述配置项组合的所有取值组合。
具体地,服务器将配置文件中的配置项进行组合得到配置项组合,例如配置文件中包括配置项A、配置项B和配置项C,则服务器生成的配置项组合具体为ABC。
服务器通过遍历配置项组合中每个配置项各自对应的取值场景,然后进行取值组合,可以得到配置项组合的所有取值组合,如此可以实现全面覆盖业务场景,避免漏测现象发生。
仍以上述配置项组合ABC为例,若A的取值空间为0和1,B、C的取值空间均为0、1和2,则配置项组合的所有取值组合包括(0,0,0)、(0,0,1)、(0,0,2)、(0,1,0)、(0,1,1)、(0,1,2)、(0,2,0)、(0,2,1)、(0,2,2)和(1,0,0)、(1,0,1)、(1,0,2)、(1,1,0)、(1,1,1)、(1,1,2)、(1,2,0)、(1,2,1)、(1,2,2)。
S204:调用测试用例模板,基于所述测试用例模块和所述配置项组合的每一取值组合生成对应的测试用例。
其中,所述测试用例模板中包括配置项组合栏、测试步骤栏和预期结果栏。在具体实现时,服务器可以调用测试用例模板,然后将所有取值组合中的每一取值组合分别添加至所述测试用例模板的配置项组合栏,接着根据预设的关系表确定每一取值组合对应的测试步骤和预期结果,将所述测试步骤添加至所述测试步骤栏,以及将所述预期结果添加至所述预期结果栏。
进一步地,服务器还可以执行上述测试用例,生成与测试用例对应的测试结果,然后服务器在所述测试用例模板的测试结果栏插入与所述测试用例对应的测试结果,得到测试报告。本申请实施例还提供了测试报告的一个具体示例,如下所示:
表2
Figure BDA0002123725480000101
如表2所示,测试包括中除了包括用例名称、测试步骤、预期结果以及测试结果外,还可以包括测试补充信息,该信息具体可以为针对该测试用例的备注信息,本实施例对此不作限定。
在生成测试报告后,服务器还可以将所述测试报告作为附件,通过预设的邮件模板向客户端发送邮件,以通知相应的人员,如测试人员、需求人员等等。
进一步地,服务器还可以针对测试用例生成过程中的每个系统操作,生成对应的操作日志,例如,针对配置发布系统调用用例生成系统,则生成与该调用操作对应的调用日志,然后服务器存储所述操作日志和对应的测试用例,以便后续维护时使用。
具体请参见图5,用例生成系统还包括邮件发送模块和日志管理模块,其中,邮件发送模块用于调用预先存储的邮件模板,将测试报告作为附件向客户端发送,日志管理模块则用于生产操作日志,并存储操作日志与其对应的测试用例。
由上可知,本申请实施例提供了一种测试用例生成方法,先获取配置文件,将所述配置文件中的每个配置项与配置规则表进行匹配,可以得到每个配置项各自对应的取值空间,将所述配置文件中的每个配置项组合得到配置项组合,遍历所述配置项组合中每个配置项各自对应的取值空间,进行取值组合得到所述配置项组合的所有取值组合,然后调用测试用例模板,基于所述测试用例模板和所述配置项组合的每一取值组合生成测试用例。该方法通过遍历配置项的取值空间方式自动生成配置项组合的各取值组合,进而生成与配置项组合的各取值组合对应的测试用例,一方面减少了用户操作,提高了测试效率,另一方面覆盖业务场景较为全面,避免漏测现象发生,保证了测试质量,能够满足多样化的测试需求。
基于本申请实施例提供的测试用例生成方法的一些具体实现方式,本申请实施例还提供了对应的装置,下面将从功能模块化的角度进行说明。
参见图6所示的测试用例生成装置的结构示意图,该装置600包括:
获取模块610,用于获取配置文件,所述配置文件中包括用于表征业务逻辑的配置项;
匹配模块620,用于将所述配置文件中的每个配置项与配置规则表进行匹配,得到每个配置项各自对应的取值空间;
遍历模块630,用于将所述配置文件中的每个配置项进行组合得到配置项组合,遍历所述配置项组合中每个配置项各自对应的取值空间,进行取值组合得到所述配置项组合的所有取值组合;
生成模块640,用于调用测试用例模板,基于所述测试用例模块和所述配置项组合的每一取值组合生成对应的测试用例。
可选的,所述测试用例模板中包括配置项组合栏、测试步骤栏和预期结果栏;
所述生成模块640具体用于:
调用测试用例模板,将所有取值组合中的每一取值组合分别添加至所述测试用例模板的配置项组合栏;
根据预设的关系表确定每一取值组合对应的测试步骤和预期结果,将所述测试步骤添加至所述测试步骤栏,以及将所述预期结果添加至所述预期结果栏。
可选的,所述获取模块610具体用于:
获取配置发布系统的网络地址和端口号,根据所述网络地址和所述端口号访问所述配置发布系统;
获取所述配置文件的存储路径,根据所述存储路径从所述配置发布系统中获取所述配置文件。
可选的,所述配置规则表包括多条配置规则记录,所述配置规则记录中包括配置项与所述配置项对应的配置值;
所述装置600还包括:
替换模块,用于针对同一配置项的多条配置规则记录中所述配置项对应的配置值属于相同形式时,利用所述配置值对应的正则表达式替换所述相同形式的配置值;
删除模块,用于删除所述配置规则表中重复的配置规则记录。
可选的,所述装置600还包括发送模块;
所述生成模块,还用于执行所述测试用例,生成与所述测试用例对应的测试结果;在所述测试用例模板的测试结果栏插入与所述测试用例对应的测试结果,得到测试报告;
所述发送模块,还用于将所述测试报告作为附件,通过预设的邮件模板向客户端发送邮件。
可选的,所述装置600还包括存储模块;
所述生成模块,还用于针对测试用例生成过程中的每个系统操作,生成对应的操作日志;
所述存储模块,用于存储所述操作日志和对应的测试用例,以便后续维护时使用。
基于本申请实施例提供的上述方法和装置,本申请实施例还提供了一种设备,下面将从硬件实体化的角度对本申请实施例提供的装置进行介绍。
本申请实施例提供了一种设备,该设备具体可以是终端,如图7所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该终端可以为包括台式机、笔记本电脑、平板电脑、个人数字助理(英文全称:Personal Digital Assistant,英文缩写:PDA)等任意终端设备,以终端为笔记本电脑为例:
图7示出的是与本申请实施例提供的终端相关的笔记本电脑的部分结构的框图。参考图7,笔记本电脑包括:射频(英文全称:Radio Frequency,英文缩写:RF)电路710、存储器720、输入单元730、显示单元740、传感器750、音频电路760、无线保真(英文全称:wireless fidelity,英文缩写:WiFi)模块770、处理器780、以及电源790等部件。本领域技术人员可以理解,图7中示出的笔记本电脑结构并不构成对笔记本电脑的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图7对笔记本电脑的各个构成部件进行具体的介绍:
RF电路710可用于收发信息或通话过程中,信号的接收和发送,特别地,将下行信息接收后,给处理器780处理;另外,将设计上行的数据发送给服务端。
存储器720可用于存储软件程序以及模块,处理器780通过运行存储在存储器720的软件程序以及模块,从而执行笔记本电脑的各种功能应用以及数据处理。存储器720可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据笔记本电脑的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器720可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元730可用于接收输入的数字或字符信息,以及产生与笔记本电脑的用户设置以及功能控制有关的键信号输入。具体地,输入单元730可包括触控面板731以及其他输入设备732。触控面板731,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板731上或在触控面板731附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板731可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器780,并能接收处理器780发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板731。除了触控面板731,输入单元730还可以包括其他输入设备732。具体地,其他输入设备732可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元740可用于显示由用户输入的信息或提供给用户的信息以及笔记本电脑的各种菜单。显示单元740可包括显示面板741,可选的,可以采用液晶显示器(英文全称:Liquid Crystal Display,英文缩写:LCD)、有机发光二极管(英文全称:Organic Light-Emitting Diode,英文缩写:OLED)等形式来配置显示面板741。进一步的,触控面板731可覆盖显示面板741,当触控面板731检测到在其上或附近的触摸操作后,传送给处理器780以确定触摸事件的类型,随后处理器780根据触摸事件的类型在显示面板741上提供相应的视觉输出。虽然在图7中,触控面板731与显示面板741是作为两个独立的部件来实现笔记本电脑的输入和输入功能,但是在某些实施例中,可以将触控面板731与显示面板741集成而实现笔记本电脑的输入和输出功能。
笔记本电脑还可包括至少一种传感器750,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板741的亮度。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别笔记本电脑姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于笔记本电脑还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路760、扬声器761,传声器762可提供用户与笔记本电脑之间的音频接口。音频电路760可将接收到的音频数据转换后的电信号,传输到扬声器761,由扬声器761转换为声音信号输出;另一方面,传声器762将收集的声音信号转换为电信号,由音频电路760接收后转换为音频数据,再将音频数据输出处理器780处理后,经RF电路710以发送给比如另一笔记本电脑,或者将音频数据输出至存储器720以便进一步处理。
WiFi属于短距离无线传输技术,笔记本电脑通过WiFi模块770可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图7示出了WiFi模块770,但是可以理解的是,其并不属于笔记本电脑的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器780是笔记本电脑的控制中心,利用各种接口和线路连接整个笔记本电脑的各个部分,通过运行或执行存储在存储器720内的软件程序和/或模块,以及调用存储在存储器720内的数据,执行笔记本电脑的各种功能和处理数据,从而对笔记本电脑进行整体监控。可选的,处理器780可包括一个或多个处理单元;优选的,处理器780可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器780中。
笔记本电脑还包括给各个部件供电的电源790(比如电池),优选的,电源可以通过电源管理系统与处理器780逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,笔记本电脑还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本申请实施例中,该终端所包括的处理器780还具有以下功能:
获取软件系统的配置文件,所述配置文件中包括用于表征业务逻辑的配置项;
将所述配置文件中的每个配置项与配置规则表进行匹配,得到每个配置项各自对应的取值空间;
将所述配置文件中的每个配置项进行组合得到配置项组合,遍历所述配置项组合中每个配置项各自对应的取值空间,进行取值组合得到所述配置项组合的所有取值组合;
调用测试用例模板,基于所述测试用例模块和所述配置项组合的每一取值组合生成对应的测试用例。
可选的,所述处理器780还用于执行本申请实施例提供的测试用例生成方法的任意一种实现方式。
本申请实施例还提供另一种设备,该设备具体为服务器,图8是本申请实施例提供的一种服务器结构示意图,该服务器800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)822(例如,一个或一个以上处理器)和存储器832,一个或一个以上存储应用程序842或数据844的存储介质830(例如一个或一个以上海量存储设备)。其中,存储器832和存储介质830可以是短暂存储或持久存储。存储在存储介质830的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器822可以设置为与存储介质830通信,在服务器800上执行存储介质830中的一系列指令操作。
服务器800还可以包括一个或一个以上电源826,一个或一个以上有线或无线网络接口850,一个或一个以上输入输出接口858,和/或,一个或一个以上操作系统841,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由服务器所执行的步骤可以基于该图8所示的服务器结构。
其中,CPU 822用于执行如下步骤:
获取软件系统的配置文件,所述配置文件中包括用于表征业务逻辑的配置项;
将所述配置文件中的每个配置项与配置规则表进行匹配,得到每个配置项各自对应的取值空间;
将所述配置文件中的每个配置项进行组合得到配置项组合,遍历所述配置项组合中每个配置项各自对应的取值空间,进行取值组合得到所述配置项组合的所有取值组合;
调用测试用例模板,基于所述测试用例模块和所述配置项组合的每一取值组合生成对应的测试用例。
可选的,所述CPU822还用于执行本申请实施例提供的测试用例生成方法的任意一种实现方式。
本申请实施例还提供一种计算机可读存储介质,用于存储计算机程序,该计算机程序用于执行前述各个实施例所述的一种测试用例生成方法中的任意一种实施方式。
本申请实施例还提供一种包括指令的计算机程序产品,当其在计算机上运行时,使得计算机执行前述各个实施例所述的一种测试用例生成方法中的任意一种实施方式。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文全称:Read-OnlyMemory,英文缩写:ROM)、随机存取存储器(英文全称:Random Access Memory,英文缩写:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (10)

1.一种测试用例生成方法,其特征在于,所述方法包括:
获取软件系统的配置文件,所述配置文件中包括用于表征业务逻辑的配置项;
将所述配置文件中的每个配置项与配置规则表进行匹配,得到每个配置项各自对应的取值空间;
将所述配置文件中的每个配置项进行组合得到配置项组合,遍历所述配置项组合中每个配置项各自对应的取值空间,进行取值组合得到所述配置项组合的所有取值组合;
调用测试用例模板,基于所述测试用例模块和所述配置项组合的每一取值组合生成对应的测试用例。
2.根据权利要求1所述的方法,其特征在于,所述测试用例模板中包括配置项组合栏、测试步骤栏和预期结果栏;
所述调用测试用例模板,基于所述测试用例模块和所述配置项组合的每一取值组合生成对应的测试用例包括:
调用测试用例模板,将所有取值组合中的每一取值组合分别添加至所述测试用例模板的配置项组合栏;
根据预设的关系表确定每一取值组合对应的测试步骤和预期结果,将所述测试步骤添加至所述测试步骤栏,以及将所述预期结果添加至所述预期结果栏。
3.根据权利要求1所述的方法,其特征在于,所述获取配置文件包括:
获取配置发布系统的网络地址和端口号,根据所述网络地址和所述端口号访问所述配置发布系统;
获取所述配置文件的存储路径,根据所述存储路径从所述配置发布系统中获取所述配置文件。
4.根据权利要求1所述的方法,其特征在于,所述配置规则表包括多条配置规则记录,所述配置规则记录中包括配置项与所述配置项对应的配置值;
所述方法还包括:
针对同一配置项的多条配置规则记录中所述配置项对应的配置值属于相同形式时,利用所述配置值对应的正则表达式替换所述相同形式的配置值;
删除所述配置规则表中重复的配置规则记录。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:
执行所述测试用例,生成与所述测试用例对应的测试结果;
在所述测试用例模板的测试结果栏插入与所述测试用例对应的测试结果,得到测试报告;
将所述测试报告作为附件,通过预设的邮件模板向客户端发送邮件。
6.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:
针对测试用例生成过程中的每个系统操作,生成对应的操作日志;
存储所述操作日志和对应的测试用例,以便后续维护时使用。
7.一种测试用例生成装置,其特征在于,所述装置包括:
获取模块,用于获取配置文件,所述配置文件中包括用于表征业务逻辑的配置项;
匹配模块,用于将所述配置文件中的每个配置项与配置规则表进行匹配,得到每个配置项各自对应的取值空间;
遍历模块,用于将所述配置文件中的每个配置项进行组合得到配置项组合,遍历所述配置项组合中每个配置项各自对应的取值空间,进行取值组合得到所述配置项组合的所有取值组合;
生成模块,用于调用测试用例模板,基于所述测试用例模块和所述配置项组合的每一取值组合生成对应的测试用例。
8.根据权利要求7所述的装置,其特征在于,所述测试用例模板中包括配置项组合栏、测试步骤栏和预期结果栏;
所述生成模块具体用于:
调用测试用例模板,将所有取值组合中的每一取值组合分别添加至所述测试用例模板的配置项组合栏;
根据预设的关系表确定每一取值组合对应的测试步骤和预期结果,将所述测试步骤添加至所述测试步骤栏,以及将所述预期结果添加至所述预期结果栏。
9.根据权利要求7所述的装置,其特征在于,所述获取模块具体用于:
获取配置发布系统的网络地址和端口号,根据所述网络地址和所述端口号访问所述配置发布系统;
获取所述配置文件的存储路径,根据所述存储路径从所述配置发布系统中获取所述配置文件。
10.一种测试用例管理系统,其特征在于,所述测试用例管理系统包括需求配置系统、配置发布系统和测试用例生成系统;
所述需求配置系统,用于接收需求人员配置的配置项,根据所述配置项生成配置文件;
所述配置发布系统,用于从所述需求配置系统拉取所述配置文件,执行针对所述配置文件的发布操作,并向所述测试用例生成系统发送发布成功通知消息;
所述测试用例生成系统,用于在接收到发布成功通知消息时,执行如下步骤:
获取软件系统的配置文件,所述配置文件中包括用于表征业务逻辑的配置项;
将所述配置文件中的每个配置项与配置规则表进行匹配,得到每个配置项各自对应的取值空间;
将所述配置文件中的每个配置项进行组合得到配置项组合,遍历所述配置项组合中每个配置项各自对应的取值空间,进行取值组合得到所述配置项组合的所有取值组合;
调用测试用例模板,基于所述测试用例模块和所述配置项组合的每一取值组合生成对应的测试用例。
CN201910615270.6A 2019-07-09 2019-07-09 一种测试用例生成方法、装置、系统、设备及介质 Active CN112214390B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910615270.6A CN112214390B (zh) 2019-07-09 2019-07-09 一种测试用例生成方法、装置、系统、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910615270.6A CN112214390B (zh) 2019-07-09 2019-07-09 一种测试用例生成方法、装置、系统、设备及介质

Publications (2)

Publication Number Publication Date
CN112214390A true CN112214390A (zh) 2021-01-12
CN112214390B CN112214390B (zh) 2024-01-30

Family

ID=74048019

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910615270.6A Active CN112214390B (zh) 2019-07-09 2019-07-09 一种测试用例生成方法、装置、系统、设备及介质

Country Status (1)

Country Link
CN (1) CN112214390B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112988307A (zh) * 2021-04-12 2021-06-18 政采云有限公司 一种采购系统的配置方法、装置、设备及存储介质
CN113377683A (zh) * 2021-08-12 2021-09-10 神州数码融信软件有限公司 软件测试用例的生成方法、系统、设备、终端、介质及应用
CN114331917A (zh) * 2022-03-08 2022-04-12 深圳比特微电子科技有限公司 一种设备调试的方法和控制器
CN115525554A (zh) * 2022-09-27 2022-12-27 北京瑞莱智慧科技有限公司 模型的自动化测试方法、系统及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103164330A (zh) * 2011-12-14 2013-06-19 航天信息股份有限公司 软件测试用例自动生成方法
CN107301122A (zh) * 2017-05-10 2017-10-27 深圳市小牛在线互联网信息咨询有限公司 接口测试方法、装置、存储介质及计算机设备
WO2018010552A1 (zh) * 2016-07-12 2018-01-18 博彦科技股份有限公司 测试方法和装置
CN107766250A (zh) * 2017-11-02 2018-03-06 百度在线网络技术(北京)有限公司 广告样式的测试方法、装置、服务器和存储介质
CN107844409A (zh) * 2016-09-18 2018-03-27 平安科技(深圳)有限公司 测试用例执行方法和装置
CN109857671A (zh) * 2019-02-15 2019-06-07 广州视源电子科技股份有限公司 测试用例的生成方法、装置、服务器及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103164330A (zh) * 2011-12-14 2013-06-19 航天信息股份有限公司 软件测试用例自动生成方法
WO2018010552A1 (zh) * 2016-07-12 2018-01-18 博彦科技股份有限公司 测试方法和装置
CN107844409A (zh) * 2016-09-18 2018-03-27 平安科技(深圳)有限公司 测试用例执行方法和装置
CN107301122A (zh) * 2017-05-10 2017-10-27 深圳市小牛在线互联网信息咨询有限公司 接口测试方法、装置、存储介质及计算机设备
CN107766250A (zh) * 2017-11-02 2018-03-06 百度在线网络技术(北京)有限公司 广告样式的测试方法、装置、服务器和存储介质
CN109857671A (zh) * 2019-02-15 2019-06-07 广州视源电子科技股份有限公司 测试用例的生成方法、装置、服务器及存储介质

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112988307A (zh) * 2021-04-12 2021-06-18 政采云有限公司 一种采购系统的配置方法、装置、设备及存储介质
CN113377683A (zh) * 2021-08-12 2021-09-10 神州数码融信软件有限公司 软件测试用例的生成方法、系统、设备、终端、介质及应用
CN113377683B (zh) * 2021-08-12 2022-01-28 神州数码融信软件有限公司 软件测试用例的生成方法、系统、设备、终端、介质及应用
CN114331917A (zh) * 2022-03-08 2022-04-12 深圳比特微电子科技有限公司 一种设备调试的方法和控制器
CN114331917B (zh) * 2022-03-08 2022-06-21 深圳比特微电子科技有限公司 一种设备调试的方法和控制器
CN115525554A (zh) * 2022-09-27 2022-12-27 北京瑞莱智慧科技有限公司 模型的自动化测试方法、系统及存储介质
CN115525554B (zh) * 2022-09-27 2024-01-30 北京瑞莱智慧科技有限公司 模型的自动化测试方法、系统及存储介质

Also Published As

Publication number Publication date
CN112214390B (zh) 2024-01-30

Similar Documents

Publication Publication Date Title
CN112214390B (zh) 一种测试用例生成方法、装置、系统、设备及介质
CN108024019B (zh) 消息显示方法及装置
CN107204989B (zh) 广告拦截方法、终端、服务器和存储介质
CN111178012A (zh) 一种表单渲染方法、装置、设备及存储介质
CN108156508B (zh) 弹幕信息处理的方法、装置、移动终端、服务器及系统
CN106302996B (zh) 消息显示方法及装置
CN109947650B (zh) 脚本步骤处理方法、装置和系统
CN108616448B (zh) 一种信息分享的路径推荐方法及移动终端
JP6910300B2 (ja) チャット履歴記録を表示するための方法およびチャット履歴記録を表示するための装置
US20140372541A1 (en) System and method for action-based input text messaging communication
CN109495638B (zh) 一种信息显示方法及终端
US10637815B2 (en) Displaying messaging interfaces based upon email conversations
US10757060B2 (en) Message notification method and terminal
US20120297399A1 (en) Automatically updating the display state of the user interface of a client device in a publish/subscribe system
CN115756881A (zh) 基于sdk的数据处理方法、装置、设备、存储介质
CN108874653B (zh) 任务测试方法、测试机、共享服务器和可读存储介质
CN110378798B (zh) 异构社交网络构建方法、群组推荐方法、装置及设备
EP2768183A1 (en) Email management apparatus and method of electronic device
CN109274814B (zh) 一种消息提示方法、装置及终端设备
WO2023163773A1 (en) Success rate indicator solution for pipelines
CN110795001B (zh) 消息处理方法及电子设备
CN115017340A (zh) 多媒体资源生成方法、装置、电子设备及存储介质
AU2018203730A1 (en) Selecting a communication mode
CN112667868A (zh) 一种数据检测方法以及装置
CN115098383A (zh) 一种消息查询方法、装置、电子设备和存储介质

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