CN112286787A - 用于智能应答系统的自动测试方法、系统与电子设备 - Google Patents
用于智能应答系统的自动测试方法、系统与电子设备 Download PDFInfo
- Publication number
- CN112286787A CN112286787A CN202010609359.4A CN202010609359A CN112286787A CN 112286787 A CN112286787 A CN 112286787A CN 202010609359 A CN202010609359 A CN 202010609359A CN 112286787 A CN112286787 A CN 112286787A
- Authority
- CN
- China
- Prior art keywords
- test
- answer
- response system
- question
- intelligent response
- 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.)
- Pending
Links
- 230000004044 response Effects 0.000 title claims abstract description 141
- 238000010998 test method Methods 0.000 title claims abstract description 20
- 238000012360 testing method Methods 0.000 claims abstract description 340
- 238000004088 simulation Methods 0.000 claims description 56
- 230000003993 interaction Effects 0.000 claims description 9
- 230000008859 change Effects 0.000 abstract description 4
- 238000000034 method Methods 0.000 description 32
- 230000008569 process Effects 0.000 description 17
- 238000011156 evaluation Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 13
- 238000012545 processing Methods 0.000 description 10
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000005316 response function Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000013522 software testing Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
Abstract
本公开提供一种用于智能应答系统的自动测试方法、系统与电子设备。用于智能应答系统的自动测试方法包括:响应测试用例生成指令,获取待测智能应答系统对应的一或多个答案规则树,其中每个所述答案规则树对应一个问题种类;根据所述一或多个答案规则树自动生成一或多个问题种类对应的测试用例,其中每个问题种类对应多个测试用例;定时使用所述一或多个问题种类对应的测试用例测试所述待测智能应答系统。本公开实施例可以提高由智能应答系统版本变更带来的测试用例生成任务的效率。
Description
技术领域
本公开涉及软件测试技术领域,具体而言,涉及一种用于智能应答系统的自动测试方法、系统与电子设备。
背景技术
智能应答系统作为大型的综合软件系统,其交互方式是基于开放域的自然语言,支持用户通过自然语言来表达意图,系统针对用户意图输出自然语言应答。智能应答系统的自动化测试的主要目标是测试用户在咨询业务时业务应答答案的正确性,从而确保正常的业务应答功能。智能应答系统内部执行业务应答的过程,就是基于用户意图(如修改订单、缺少商品与缺少配件等),结合用户输入的槽值(如订单号等),输出对应的业务应答答案。每个用户意图分类(问题种类)都有一个对应的答案规则树来覆盖所有可应答业务。
在实际应用中,业务应答的答案规则树常常达到数百个,每个答案规则树的分支平均达到数十个,需要维护上千个测试用例才能覆盖所有业务。在相关技术中,往往使用人工手动创造测试用例,手动配置输入话术、预期的系统应答话术以及系统需要的槽值。由于系统版本升级或新系统上线,系统的答案规则树会产生变更,此时往往需要调整测试用例的输入语言和对系统答复语言的预期。因此,对智能应答系统的测试用例修改任务往往十分繁重,且效率低下。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种用于智能应答系统的自动测试方法与用于智能应答系统的自动测试系统,用于至少在一定程度上克服由于相关技术的限制和缺陷而导致的智能应答系统的测试用例修改任务繁重、效率低下的问题。
根据本公开实施例的第一方面,提供一种用于智能应答系统的自动测试方法,包括:响应测试用例生成指令,获取待测智能应答系统对应的一或多个答案规则树,其中每个所述答案规则树对应一个问题种类;根据所述一或多个答案规则树自动生成一或多个问题种类对应的测试用例,其中每个问题种类对应多个测试用例;定时使用所述一或多个问题种类对应的测试用例测试所述待测智能应答系统。
在本公开的一种示例性实施例中,所述根据所述一或多个答案规则树自动生成一或多个问题种类对应的测试用例包括:获取所述答案规则树对应的多个答案分支,每个所述答案分支的起始为所述答案规则树的根节点,每个所述答案分支的结束为所述答案规则树的一个叶子节点;在所述答案分支存在填槽节点时,根据所述填槽节点在对应答案分支中所处的位置自动生成模拟槽值,记录所述模拟槽值以及所述填槽节点对应的填槽反问话术;记录每个所述答案分支对应的填槽反问话术、模拟槽值和叶子节点对应的答案话术。
在本公开的一种示例性实施例中,所述根据所述一或多个答案规则树自动生成一或多个问题种类对应的测试用例包括:根据智能应答系统线上运行数据自动获取所述一或多个问题种类对应的多个触发话术;对每个所述问题种类记录对应的多个触发话术和多个答案分支,以生成所述多个问题种类对应的测试用例。
在本公开的一种示例性实施例中,所述定时使用所述一或多个问题种类对应的测试用例测试所述待测智能应答系统包括:获取一个测试用例,在该测试用例对应的多个触发话术中选取一个触发话术输入所述待测智能应答系统以获取所述待测智能应答系统的应答话术;如果所述应答话术是填槽反问话术,在所述填槽反问话术符合所述测试用例的对应记录时,输入所述填槽反问话术对应的模拟槽值并继续获取所述应答话术;如果所述应答话术是答案话术,在所述答案话术符合所述测试用例的对应记录时,结束对该测试用例的测试并记录测试成功以及该测试用例的当前测试次数;如果所述填槽反问话术或所述答案话术不符合所述测试用例的对应记录,判断该测试用例的测试次数是否达到预设阈值;如果该测试用例的测试次数未达到所述预设阈值,对该测试用例的测试次数加一,并重新在该测试用例的多个触发话术中选取一个触发话术输入到所述待测智能应答系统;如果该测试用例的测试次数达到所述预设阈值,结束对该测试用例的测试并记录测试失败;在判断已完成对所述一或多个答案规则树对应的全部测试用例的测试时停止测试。
在本公开的一种示例性实施例中,所述输入所述填槽反问话术对应的模拟槽值并继续获取所述应答话术包括:在输入所述模拟槽值之后,判断所述模拟槽值对应的分支节点;根据所述模拟槽值对应的分支节点对所述待测智能应答系统发送分支选择指令,以控制所述待测智能应答系统进入所述模拟槽值对应的所述分支节点,返回所述分支节点对应的应答话术。
在本公开的一种示例性实施例中,还包括:根据所述一或多个问题种类对应的测试用例的测试结果自动生成测试报告,所述测试报告包括各测试用例的测试结果、测试次数以及所述待测智能应答系统的问答体验分数。
在本公开的一种示例性实施例中,所述待测智能应答系统的问答体验分数根据多个所述测试用例的测试成功比例、测试成功的测试用例对应的交互次数以及每个问题种类对应的测试用例数量得出。
根据本公开实施例的第二方面,提供一种用于智能应答系统的自动测试系统,包括:测试用例自动生成模块,设置为响应测试用例生成指令,获取待测智能应答系统对应的一或多个答案规则树,其中每个所述答案规则树对应一个问题种类;根据所述一或多个答案规则树自动生成一或多个问题种类对应的测试用例,其中每个问题种类对应多个测试用例;自动测试模块,设置为定时使用所述一或多个问题种类对应的测试用例测试所述待测智能应答系统。
根据本公开的第三方面,提供一种电子设备,包括:存储器;以及耦合到所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如上述任意一项所述的方法。
根据本公开的第四方面,提供一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现如上述任意一项所述的用于智能应答系统的自动测试方法。
本公开实施例通过根据待测智能应答系统的答案规则树自动生成测试用例、自动使用测试用例对待测智能应答系统进行测试,可以在智能应答系统新上线或版本更新时自动生成测试用例并自动测试,极大地降低了修改智能应答系统的测试用例的工作量,能够有效提升智能应答系统的自动化测试效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本公开示例性实施例中用于智能应答系统的自动测试方法的流程图。
图2是图1所示答案分支的示意图。
图3是一个实施例中步骤S102的子流程图。
图4是一个实施例中步骤S103的子流程图。
图5是图4所示流程的另一种流程图。
图6是本公开一个示例性实施例中一种用于智能应答系统的自动测试系统600的方框图。
图7是本公开一个实施例中模拟槽值管理模块参与工作的系统结构图。
图8是本公开一个实施例中模拟槽值管理模块的功能示意图。
图9是本公开一个实施例中系统600中各模块的工作详情示意图。
图10是本公开一个示例性实施例中一种电子设备的方框图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,附图仅为本公开的示意性图解,图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
下面结合附图对本公开示例实施方式进行详细说明。
图1示意性示出本公开示例性实施例中用于智能应答系统的自动测试方法的流程图。
参考图1,用于智能应答系统的自动测试方法100可以包括:
步骤S101,响应测试用例生成指令,获取待测智能应答系统对应的一或多个答案规则树,其中每个所述答案规则树对应一个问题种类;
步骤S102,根据所述一或多个答案规则树自动生成一或多个问题种类对应的测试用例,其中每个问题种类对应多个测试用例;
步骤S103,定时使用所述一或多个问题种类对应的测试用例测试所述待测智能应答系统。
本公开实施例通过根据待测智能应答系统的答案规则树自动生成测试用例、自动使用测试用例对待测智能应答系统进行测试,可以在智能应答系统新上线或版本更新时自动生成测试用例并自动测试,极大地降低了修改智能应答系统的测试用例的工作量,能够有效提升智能应答系统的自动化测试效率。
下面,对用于智能应答系统的自动测试方法100的各步骤进行详细说明。
本公开实施例提供的方法可以由自动测试系统执行。
在步骤S101,响应测试用例生成指令,获取待测智能应答系统对应的一或多个答案规则树,其中每个所述答案规则树对应一个问题种类。
在本公开实施例中,测试用例生成指令可以在待测智能应答系统上线或版本更新时自动生成。具体而言,可以设置自动检测程序,在检测到待测智能应答系统上线或版本更新时,检测待测智能应答系统的多个答案规则树是否有更新(更新包括添加、删除或修改),如果有更新,则产生测试用例生成指令,指示自动测试系统对产生更新的一或多个答案规则树或者全部答案规则树自动生成测试用例。
通过自动触发测试用例生成指令,可以在智能应答系统产生更新时及时更新测试用例,极大地降低了测试用例更新的工作量,提高了测试用例更新的效率。
一个答案规则树对应一个问题种类,包括多个答案分支。表1是答案分支的示例。
表1:
图2是图1所示答案分支的示意图。
参考图2和表1,所有答案分支的第一步(起始)对应答案规则树的根节点,由触发话术“我要改下订单”触发。智能应答系统在接到该触发话术时,判断问题种类为“订单修改”,自动进入该问题种类对应的答案规则树200的根节点21。
在第一步,触发话术触发答案分支的一个应答话术,该应答话术的种类是填槽反问话术。值得说明的是,在本公开实施例中,应答话术包括填槽反问话术和答案话术,即系统的应答包括填槽反问和最终答案两种:如果系统不能给出最终答案,则输出填槽反问话术要求提问者提供更多信息(槽值),直到系统能够给出最终答案,输出答案话术。
在第二步,对订单号槽22提供第一槽值(相关技术中通过人工手动配置),使系统根据对第一槽值的判断进入“不可修改”分支,到达修改订单属性槽23,再次返回填槽反问话术。
在第三步,对订单属性槽23提供第二槽值,使系统根据对第二槽值的判断进入“修改电话”分支,提供对应的答案话术“答案D”。至此该答案分支到达答案规则树的一个叶子节点(答案话术),结束问答。
图2所示的答案分支对应的测试用例由触发话术、第一槽值、第二槽值、答案话术组成。
在步骤S102,根据所述一或多个答案规则树自动生成一或多个问题种类对应的测试用例,其中每个问题种类对应多个测试用例。
图3是步骤S102的子步骤示意图。
参考图3,步骤S102可以包括:
步骤S1021,获取所述答案规则树对应的多个答案分支,每个所述答案分支的起始为所述答案规则树的根节点,每个所述答案分支的结束为所述答案规则树的一个叶子节点;
步骤S1022,在所述答案分支存在填槽节点时,根据所述填槽节点在对应答案分支中所处的位置自动生成模拟槽值,记录所述模拟槽值以及所述填槽节点对应的填槽反问话术;
步骤S1023,记录每个所述答案分支对应的填槽反问话术、模拟槽值和叶子节点对应的答案话术。
在本公开实施例中,可以自动根据填槽节点生成模拟槽值(mock值),以自动生成测试用例。一个实施例中,可以使用高性能哈希算法实时生成模拟槽值。
首先,对答案规则树进行拆解,拆解出多个答案分支,每个答案分支对应一个叶子节点(答案话术)。例如图2所示答案规则树可以拆解出四个答案分支。然后,对每个答案分支中的填槽节点生成对应的槽值。还是以图2为例,在订单号槽22处,可以根据该填槽节点的分支数量,生成第一模拟槽值和第二模拟槽值(订单号),每个模拟槽值对应两个答案分支;在修改订单属性槽23处,继续为每个答案分支生成第三模拟槽值和第四模拟槽值;在修改订单属性槽24处,为每个答案分支生成第五模拟槽值和第六模拟槽值。
最后,得到以下四个答案分支:“起始-第一模拟槽值-第三模拟槽值-答案C”、“起始-第一模拟槽值-第四模拟槽值-答案D”、“起始-第二模拟槽值-第五模拟槽值-答案A”、“起始-第二模拟槽值-第六模拟槽值-答案B”。同时,对每个答案分支均记录各填槽节点对应的填槽反问话术。
在一个实施例中,可以根据智能应答系统线上运行数据自动获取一或多个问题种类对应的多个触发话术,然后对每个问题种类记录对应的多个触发话术和多个答案分支,以生成多个问题种类对应的测试用例。
示例性而言,可以在线上运行数据中收集能够触发多个问题种类的问题的用户话术,对每个答案规则树记录多个能够触发对应种类问题的用户话术,即触发话术。表2示意性示出两个问题种类对应的触发话术。
表2
接下来,将触发话术与上述的答案分支结合,生成该问题种类对应的测试用例。表3示意性示出“修改订单”类问题对应的测试用例。
表3
如果一个问题种类对应的触发话术种类是十个,以上述四个答案分支为例,每个答案分支对应的触发话术均为十个,即,可以根据四个答案分支生成四个测试用例,每个测试用例的触发话术均为十个。一个测试用例对应的触发话术的多样化有利于更好真实、灵活地实现模拟测试。
对一或多个答案规则树对应的一或多个问题种类自动生成测试用例后,可以自动使用这些测试用例对待测智能应答系统进行测试。
在步骤S103,定时使用所述一或多个问题种类对应的测试用例测试所述待测智能应答系统。
图4是一个实施例中步骤S103的子流程图。
参考图4,步骤S103可以包括:
步骤S1031,获取一个测试用例,在该测试用例对应的多个触发话术中选取一个触发话术输入所述待测智能应答系统以获取所述待测智能应答系统的应答话术;
步骤S1032,如果所述应答话术是填槽反问话术,在所述填槽反问话术符合所述测试用例的对应记录时,输入所述填槽反问话术对应的模拟槽值并继续获取所述应答话术;
步骤S1033,如果所述应答话术是答案话术,在所述答案话术符合所述测试用例的对应记录时,结束对该测试用例的测试并记录测试成功以及该测试用例的当前测试次数;
步骤S1034,如果所述填槽反问话术或所述答案话术不符合所述测试用例的对应记录,判断该测试用例的测试次数是否达到预设阈值;
步骤S1035,如果该测试用例的测试次数未达到所述预设阈值,对该测试用例的测试次数加一,并重新在该测试用例的多个触发话术中选取一个触发话术输入到所述待测智能应答系统;
步骤S1036,如果该测试用例的测试次数达到所述预设阈值,结束对该测试用例的测试并记录测试失败;
步骤S1037,在判断已完成对所述一或多个答案规则树对应的全部测试用例的测试时停止测试。
图4所示实施例也可以通过如图5所示的分支图来表示。
如图5所示,流程500可以包括:
步骤S501,获取一个测试用例;
步骤S502,对待测智能应答系统输入该测试用例对应的一个触发话术;
步骤S503,获取应答话术;
步骤S504,判断应答话术的种类,如果是填槽反问话术,进入步骤S505,如果是答案话术,进入步骤S506;
步骤S505,判断该填槽反问话术是否符合测试用例的记录,如果符合,进入步骤S507输入模拟槽值后返回步骤S503,如果不符合,进入步骤S509;
步骤S506,判断该答案话术是否符合测试用例的记录,如果符合,进入步骤S508,如果不符合,进入步骤S509;
步骤S508,记录该测试用例测试成功,并记录该测试用例的测试次数;
步骤S509,判断该测试用例的测试次数是否达到阈值,如果否,进入步骤S510对测试次数加一后返回步骤S502,如果是,进入步骤S511记录该测试用例测试失败;
步骤S512,判断是否已测试全部测试用例,如果否,返回步骤S501,如果是,结束测试。
图4和图5中所示的测试用例均为步骤S101中的测试用例生成指令对应的一或多个问题种类对应的测试用例。
表4是一个测试用例的测试过程,与表3所示的测试用例对应。
表4
由于智能应答系统会对输入的槽值进行判断,当对填槽节点输入模拟槽值时,为了保证模拟槽值能够使答案分支进入正确的节点,本公开实施例还设置在输入模拟槽值之后,判断模拟槽值对应的分支节点,然后根据模拟槽值对应的分支节点对待测智能应答系统发送分支选择指令,以控制待测智能应答系统进入模拟槽值对应的分支节点,返回分支节点对应的应答话术。
判断模拟槽值对应的分支节点可以通过对每个分支节点设置一个布隆过滤器实现。可以将每个分支对应的模拟槽值记录在该分支对应的布隆过滤器中,并将布隆过滤器存入分布式缓存(例如Redis缓存),然后在填写模拟槽值时或填写模拟槽值后,获取每个布隆过滤器的匹配结果,根据该匹配结果控制待测智能应答系统进入该布隆过滤器对应的分支。
在本公开的一个实施例中,还可以根据一或多个问题种类对应的测试用例的测试结果自动生成测试报告,测试报告包括各测试用例的测试结果、测试次数以及待测智能应答系统的问答体验分数。其中,待测智能应答系统的问答体验分数根据多个测试用例的测试成功比例、测试成功的测试用例对应的交互次数以及每个问题种类对应的测试用例数量得出。
本公开实施例提供的测试报告包括各测试用例的测试结果、对交互体验的评估分数及对整体体验的评估分数,测试报告例如可以通过图表展示。
展示测试结果的方式例如可以为展示所有测试用例成功与失败标识,并展示失败用例的交互日志,以用于寻找系统Bug。
在交互体验评估分数的形成过程中,成功测试用例的数量占比越高评估分数越高,成功的测试用例中交互次数越少评估分数越高,一个问题种类对应的测试用例越多说明业务应答的更细体验更好,且评估分数的可信度越高,评估分数越高。对上述影响进行数值化即可以计算出体验评估分数,并通过图表展示不同问题种类的评估分数对比情况或不同版本的智能应答系统中同一问题种类的评估分数对比情况,以利于分析单个问题种类的体验评估变化,辅助运营人员优化分类应答逻辑。
问题种类I的体验评估分数计算公式例如可以为:
Score(I)=(1+TAScore(I)*SRate(I))*lg(CNumber(I)) (1)
其中,TAScore(I)为问题种类I截尾平均奖励分:分类中的每个成功测试用例初始奖励分100分,单个测试用例交互每多一轮交互扣1分,得到每个用例的奖励分后,去除最高分和最低分后计算总分,除以用例数,算出截尾平均奖励分。SRate(I)为问题种类I的测试成功率,即该问题种类对应的测试用例中成功测试用例的占比。CNumber(I)为问题种类I的测试用例数量。
通过上述评分,可以提供智能应答系统整体体验评估,即将所有问题种类的评估分数相加,通过图表的方式展示不同版本的智能应答系统的整体体验的波动,以使测试人员基于测试报告根据失败用例及体验评估波动分析系统问题。表5是一个评估体验分数的计算实例。
表5
在本实施例中,智能应答系统上线或答案规则树修改会触发创建自动化测试用例,定时器(例如为Jenkins)定时触发测试执行模块,定时执行测试用例并自动生成测试报告。
综上所述,本公开实施例通过自动化拆解答案规则树与自动生成模拟槽值以自动生成测试用例,通过机器自动化的方式替代人工生成或修改测试用例,减少人工维护工作,并在测试报告中引入评估算法,为运营人员提供了应答体验提升的参考数据。
对应于上述方法实施例,本公开还提供一种用于智能应答系统的自动测试系统,可以用于执行上述方法实施例。
图6示意性示出本公开一个示例性实施例中一种用于智能应答系统的自动测试系统的方框图。
参考图6,用于智能应答系统的自动测试系统600可以包括:
测试用例自动生成模块601,设置为响应测试用例生成指令,获取待测智能应答系统对应的一或多个答案规则树,其中每个所述答案规则树对应一个问题种类;根据所述一或多个答案规则树自动生成一或多个问题种类对应的测试用例,其中每个问题种类对应多个测试用例;
自动测试模块602,设置为定时使用所述一或多个问题种类对应的测试用例测试所述待测智能应答系统。
在本公开的一种示例性实施例中,测试用例自动生成模块601设置为:获取所述答案规则树对应的多个答案分支,每个所述答案分支的起始为所述答案规则树的根节点,每个所述答案分支的结束为所述答案规则树的一个叶子节点;在所述答案分支存在填槽节点时,根据所述填槽节点在对应答案分支中所处的位置自动生成模拟槽值,记录所述模拟槽值以及所述填槽节点对应的填槽反问话术;记录每个所述答案分支对应的填槽反问话术、模拟槽值和叶子节点对应的答案话术。
在本公开的一种示例性实施例中,测试用例自动生成模块601设置为:根据智能应答系统线上运行数据自动获取所述一或多个问题种类对应的多个触发话术;对每个所述问题种类记录对应的多个触发话术和多个答案分支,以生成所述多个问题种类对应的测试用例。
在本公开的一种示例性实施例中,自动测试模块602设置为:获取一个测试用例,在该测试用例对应的多个触发话术中选取一个触发话术输入所述待测智能应答系统以获取所述待测智能应答系统的应答话术;如果所述应答话术是填槽反问话术,在所述填槽反问话术符合所述测试用例的对应记录时,输入所述填槽反问话术对应的模拟槽值并继续获取所述应答话术;如果所述应答话术是答案话术,在所述答案话术符合所述测试用例的对应记录时,结束对该测试用例的测试并记录测试成功以及该测试用例的当前测试次数;如果所述填槽反问话术或所述答案话术不符合所述测试用例的对应记录,判断该测试用例的测试次数是否达到预设阈值;如果该测试用例的测试次数未达到所述预设阈值,对该测试用例的测试次数加一,并重新在该测试用例的多个触发话术中选取一个触发话术输入到所述待测智能应答系统;如果该测试用例的测试次数达到所述预设阈值,结束对该测试用例的测试并记录测试失败;在判断已完成对所述一或多个答案规则树对应的全部测试用例的测试时停止测试。
在本公开的一种示例性实施例中,自动测试模块602设置为:在输入所述模拟槽值之后,判断所述模拟槽值对应的分支节点;根据所述模拟槽值对应的分支节点对所述待测智能应答系统发送分支选择指令,以控制所述待测智能应答系统进入所述模拟槽值对应的所述分支节点,返回所述分支节点对应的应答话术。
在本公开的一种示例性实施例中,还包括测试报告生成模块603,设置为:根据所述一或多个问题种类对应的测试用例的测试结果自动生成测试报告,所述测试报告包括各测试用例的测试结果、测试次数以及所述待测智能应答系统的问答体验分数。
在本公开的一种示例性实施例中,所述待测智能应答系统的问答体验分数根据多个所述测试用例的测试成功比例、测试成功的测试用例对应的交互次数以及每个问题种类对应的测试用例数量得出。
在一个实施例中,可以使用一个单独的模拟槽值管理模块来实现生成模拟槽值、对模拟槽值的输入进行处理等功能。该模拟槽值管理模块可以用于生成模拟槽值、存储模拟槽值(存储在每个分支对应的布隆过滤器中)、在测试时通过布隆过滤器识别模拟槽值对应的分支,并控制智能应答模块直接进入模拟槽值对应的分支。
图7是本公开一个实施例中模拟槽值管理模块参与工作的系统结构图。
参考图7,测试用例自动生成模块601从智能应答系统700获取答案规则树,并调用模拟槽值管理模块604生成模拟槽值,其中模拟槽值管理模块604根据与智能应答系统700的交互信息生成模拟槽值。测试用例自动生成模块601生成测试用例集合后存储,供自动测试模块602调用。自动测试模块602与智能应答系统700交互以进行测试,在交互过程中遇到填槽节点则调用模拟槽值管理模块604获取模拟槽值并填槽,模拟槽值管理模块604根据填槽情况控制智能应答系统700进入模拟槽值对应的分支。测试完毕后,自动测试模块602向测试报告生成模块603发送测试结果,测试报告生成模块603生成测试报告。
在一个实施例中,模拟槽值管理模块604在智能应答系统700的被测过程中始终运行,当智能应答系统700的某个填槽节点获取到槽值时,模拟槽值管理模块604判断该槽值是否是模拟槽值,如果是模拟槽值则控制智能应答系统700进入对应分支,如果不是模拟槽值则不对智能应答系统700进行控制,由智能应答系统700自行对当前槽值进行判断,并根据判断结果进入分支。这种情况对应的是智能应答系统700在人工测试时,接收到外部调用的槽值或人工输入的槽值。
图8是本公开一个实施例中模拟槽值管理模块604的功能示意图。
参考图8,修改订单类问题中,当遇到填槽节点,则智能应答系统判断需要获取槽值,此时可以调用模拟槽值管理模块604生成模拟槽值并存储到与各分支和模拟槽值对应的布隆过滤器,也可以获取到人工输入或外部调用的槽值。接下来模拟槽值管理模块604判断智能应答系统接收到的槽值是否是模拟槽值,如果是,根据模拟槽值的对应分支(通过布隆过滤器判断)进入对应分支的处理流程;如果不是,不作处理,智能应答系统获取订单号槽中得到的槽值,并在接下来的步骤中对槽值对应的订单状态进行判断,进入对应分支的处理流程。
图9是本公开一个实施例中系统600中各模块的工作详情示意图。
参考图9,在测试用例自动生成模块601中,步骤S901通过答案规则树变更或智能应答系统变更触发测试用例自动生成流程。在步骤S902,获取分类触发语料集并存储;在步骤S903,拆解答案规则树并存储答案分支;在步骤S904,调用模拟槽值管理模块604获取答案规则树中各答案分支对应的模拟槽值;在步骤S905,模拟槽值管理模块604生成模拟槽值;在步骤S906,模拟槽值管理模块604将模拟槽值存入填槽节点判断分支对应的布隆过滤器并将槽值存入布隆过滤器缓存;在步骤S907,根据分类触发语料集、答案分支和每个答案分支对应的模拟槽值生成分类测试用例集并存储。
在自动测试模块602中,定时器通过步骤S922触发自动测试流程。在步骤S908,读取测试用例自动生成模块601存储的分类测试用例集;在步骤S909,向智能应答系统700发起交互,在步骤S910,判断智能应答系统700回复的答案话术是否是填槽反问,如果是,进入步骤S911获取模拟槽值,在步骤S912判断没有达到该测试用例的测试次数阈值时,返回步骤S909向智能应答系统700输出模拟槽值。智能应答系统700在获得槽值后,通过填槽节点71调用模拟槽值管理模块604,进入步骤S913依次遍历所有请求填槽节点判断分支对应的布隆过滤器(存储在缓存中),在步骤S914判断槽值是否是模拟槽值,如果是,进入步骤S915返回模拟槽值对应的分支识别符然后返回给填槽节点71,如果否,直接返回结果给填槽节点71,填槽节点71控制智能应答系统进入下一分支。如果不是填槽反问,进入步骤S917判断是否是预期答案(测试用例对应的答案话术),如果否,进入步骤S918切换触发话术并返回步骤S912;如果是,进入步骤S919返回测试成功信息。步骤S912在判断达到当前测试用例的测试次数阈值时,进入步骤S920返回测试失败信息。
接收到测试成功信息或者测试失败信息后,自动测试模块602判断是否还有待执行的测试用例,如果是,返回步骤S908继续获取测试用例;如果否,进入测试报告生成模块603生成测试报告。
综上所述,本公开实施例提供的用于智能应答系统的自动测试系统可以在智能应答系统产生更新时自动生成测试用例或自动对智能应答系统进行自动测试,并自动产生测试报告,能够极大地提高智能应答系统的测试效率,减少更新测试用例的工作量。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
下面参照图10来描述根据本发明的这种实施方式的电子设备1000。图10显示的电子设备1000仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图10所示,电子设备1000以通用计算设备的形式表现。电子设备1000的组件可以包括但不限于:上述至少一个处理单元1010、上述至少一个存储单元1020、连接不同系统组件(包括存储单元1020和处理单元1010)的总线1030。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元1010执行,使得所述处理单元1010执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元1010可以执行如图1中所示的步骤。
存储单元1020可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)10201和/或高速缓存存储单元10202,还可以进一步包括只读存储单元(ROM)10203。
存储单元1020还可以包括具有一组(至少一个)程序模块10205的程序/实用工具10204,这样的程序模块10205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线1030可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备1000也可以与一个或多个外部设备1100(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备1000交互的设备通信,和/或与使得该电子设备1000能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口1050进行。并且,电子设备1000还可以通过网络适配器1060与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器1060通过总线1030与电子设备1000的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备1000使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
根据本发明的实施方式的用于实现上述方法的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和构思由权利要求指出。
Claims (10)
1.一种用于智能应答系统的自动测试方法,其特征在于,包括:
响应测试用例生成指令,获取待测智能应答系统对应的一或多个答案规则树,其中每个所述答案规则树对应一个问题种类;
根据所述一或多个答案规则树自动生成一或多个问题种类对应的测试用例,其中每个问题种类对应多个测试用例;
定时使用所述一或多个问题种类对应的测试用例测试所述待测智能应答系统。
2.如权利要求1所述的用于智能应答系统的自动测试方法,其特征在于,所述根据所述一或多个答案规则树自动生成一或多个问题种类对应的测试用例包括:
获取所述答案规则树对应的多个答案分支,每个所述答案分支的起始为所述答案规则树的根节点,每个所述答案分支的结束为所述答案规则树的一个叶子节点;
在所述答案分支存在填槽节点时,根据所述填槽节点在对应答案分支中所处的位置自动生成模拟槽值,记录所述模拟槽值以及所述填槽节点对应的填槽反问话术;
记录每个所述答案分支对应的填槽反问话术、模拟槽值和叶子节点对应的答案话术。
3.如权利要求2所述的用于智能应答系统的自动测试方法,其特征在于,所述根据所述一或多个答案规则树自动生成一或多个问题种类对应的测试用例包括:
根据智能应答系统线上运行数据自动获取所述一或多个问题种类对应的多个触发话术;
对每个所述问题种类记录对应的多个触发话术和多个答案分支,以生成所述多个问题种类对应的测试用例。
4.如权利要求1所述的用于智能应答系统的自动测试方法,其特征在于,所述定时使用所述一或多个问题种类对应的测试用例测试所述待测智能应答系统包括:
获取一个测试用例,在该测试用例对应的多个触发话术中选取一个触发话术输入所述待测智能应答系统以获取所述待测智能应答系统的应答话术;
如果所述应答话术是填槽反问话术,在所述填槽反问话术符合所述测试用例的对应记录时,输入所述填槽反问话术对应的模拟槽值并继续获取所述应答话术;
如果所述应答话术是答案话术,在所述答案话术符合所述测试用例的对应记录时,结束对该测试用例的测试并记录测试成功以及该测试用例的当前测试次数;
如果所述填槽反问话术或所述答案话术不符合所述测试用例的对应记录,判断该测试用例的测试次数是否达到预设阈值;
如果该测试用例的测试次数未达到所述预设阈值,对该测试用例的测试次数加一,并重新在该测试用例的多个触发话术中选取一个触发话术输入到所述待测智能应答系统;
如果该测试用例的测试次数达到所述预设阈值,结束对该测试用例的测试并记录测试失败;
在判断已完成对所述一或多个答案规则树对应的全部测试用例的测试时停止测试。
5.如权利要求4所述的用于智能应答系统的自动测试方法,其特征在于,所述输入所述填槽反问话术对应的模拟槽值并继续获取所述应答话术包括:
在输入所述模拟槽值之后,判断所述模拟槽值对应的分支节点;
根据所述模拟槽值对应的分支节点对所述待测智能应答系统发送分支选择指令,以控制所述待测智能应答系统进入所述模拟槽值对应的所述分支节点,返回所述分支节点对应的应答话术。
6.如权利要求1所述的用于智能应答系统的自动测试方法,其特征在于,还包括:
根据所述一或多个问题种类对应的测试用例的测试结果自动生成测试报告,所述测试报告包括各测试用例的测试结果、测试次数以及所述待测智能应答系统的问答体验分数。
7.如权利要求6所述的用于智能应答系统的自动测试方法,其特征在于,所述待测智能应答系统的问答体验分数根据多个所述测试用例的测试成功比例、测试成功的测试用例对应的交互次数以及每个问题种类对应的测试用例数量得出。
8.一种用于智能应答系统的用于智能应答系统的自动测试系统,其特征在于,包括:
测试用例自动生成模块,设置为响应测试用例生成指令,获取待测智能应答系统对应的一或多个答案规则树,其中每个所述答案规则树对应一个问题种类;根据所述一或多个答案规则树自动生成一或多个问题种类对应的测试用例,其中每个问题种类对应多个测试用例;
自动测试模块,设置为定时使用所述一或多个问题种类对应的测试用例测试所述待测智能应答系统。
9.一种电子设备,其特征在于,包括:
存储器;以及
耦合到所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如权利要求1-7任一项所述的用于智能应答系统的自动测试方法。
10.一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现如权利要求1-7任一项所述的用于智能应答系统的自动测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010609359.4A CN112286787A (zh) | 2020-06-29 | 2020-06-29 | 用于智能应答系统的自动测试方法、系统与电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010609359.4A CN112286787A (zh) | 2020-06-29 | 2020-06-29 | 用于智能应答系统的自动测试方法、系统与电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112286787A true CN112286787A (zh) | 2021-01-29 |
Family
ID=74419660
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010609359.4A Pending CN112286787A (zh) | 2020-06-29 | 2020-06-29 | 用于智能应答系统的自动测试方法、系统与电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112286787A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160171371A1 (en) * | 2014-12-10 | 2016-06-16 | International Business Machines Corporation | Adaptive Testing for Answers in a Question and Answer System |
CN107305579A (zh) * | 2016-04-25 | 2017-10-31 | 北京京东尚科信息技术有限公司 | 智能问答系统的测试方法和装置 |
CN107402878A (zh) * | 2016-05-19 | 2017-11-28 | 北京京东尚科信息技术有限公司 | 测试方法和装置 |
CN110109828A (zh) * | 2019-04-15 | 2019-08-09 | 深圳壹账通智能科技有限公司 | 问答接口测试方法、装置、计算机设备和存储介质 |
-
2020
- 2020-06-29 CN CN202010609359.4A patent/CN112286787A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160171371A1 (en) * | 2014-12-10 | 2016-06-16 | International Business Machines Corporation | Adaptive Testing for Answers in a Question and Answer System |
CN107305579A (zh) * | 2016-04-25 | 2017-10-31 | 北京京东尚科信息技术有限公司 | 智能问答系统的测试方法和装置 |
CN107402878A (zh) * | 2016-05-19 | 2017-11-28 | 北京京东尚科信息技术有限公司 | 测试方法和装置 |
CN110109828A (zh) * | 2019-04-15 | 2019-08-09 | 深圳壹账通智能科技有限公司 | 问答接口测试方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107516510B (zh) | 一种智能设备自动化语音测试方法及装置 | |
WO2019196274A1 (zh) | 网页页面测试方法、装置、电子设备和介质 | |
US8001469B2 (en) | Automatic generation of interactive systems from a formalized description language | |
US8155959B2 (en) | Dialog system for human agent to correct abnormal output | |
EP3186805A2 (en) | Virtual assistant development system | |
US20230370547A1 (en) | System and methods for chatbot and search engine integration | |
US10679000B2 (en) | Interpreting conversational authoring of information models | |
WO2021110180A1 (zh) | 一种面向儿童自主阅读的推荐方法、客户端及服务器 | |
US20220350690A1 (en) | Training method and apparatus for fault recognition model, fault recognition method and apparatus, and electronic device | |
US11722598B2 (en) | System and methods for an automated chatbot testing platform | |
JP2016161823A (ja) | 音響モデル学習支援装置、音響モデル学習支援方法 | |
CN111930912A (zh) | 对话管理方法及系统、设备和存储介质 | |
US20230049813A1 (en) | Initiating conversation monitoring system action based on conversational content | |
CN109637536B (zh) | 一种自动化识别语义准确性的方法及装置 | |
CN109857910B (zh) | Xml文件的生成方法、装置、计算机设备及存储介质 | |
CN111723939A (zh) | 机器学习模型的调参方法、装置、设备及系统 | |
CN112286787A (zh) | 用于智能应答系统的自动测试方法、系统与电子设备 | |
CN111611127B (zh) | 任务运行日志的处理方法、装置、设备及存储介质 | |
CN113824899B (zh) | 视频处理方法、装置、电子设备及介质 | |
CN115050396A (zh) | 测试方法及装置、电子设备及介质 | |
CN114141236A (zh) | 语言模型更新方法、装置、电子设备及存储介质 | |
CN111949525A (zh) | 基于ai的健壮性智能测试系统及其测试方法 | |
CN116521841B (zh) | 用于生成回复信息的方法、装置、设备及介质 | |
CN111797636B (zh) | 离线语义解析方法及系统 | |
CN112102844B (zh) | 离线识别xbnf的编写和维护方法和装置 |
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 |