CN114721932B - 一种数据处理方法、装置、设备及存储介质 - Google Patents

一种数据处理方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN114721932B
CN114721932B CN202110015893.7A CN202110015893A CN114721932B CN 114721932 B CN114721932 B CN 114721932B CN 202110015893 A CN202110015893 A CN 202110015893A CN 114721932 B CN114721932 B CN 114721932B
Authority
CN
China
Prior art keywords
service
path
target
case
node
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.)
Active
Application number
CN202110015893.7A
Other languages
English (en)
Other versions
CN114721932A (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 CN202110015893.7A priority Critical patent/CN114721932B/zh
Publication of CN114721932A publication Critical patent/CN114721932A/zh
Application granted granted Critical
Publication of CN114721932B publication Critical patent/CN114721932B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请实施例公开了一种数据处理方法、装置、设备及存储介质,该数据处理方法包括:获取需求数据,需求数据包括被测业务的业务路径及业务路径下的业务操作步骤;根据需求数据构建有向图,有向图包括业务节点和边,业务节点用于表示被测业务中的业务操作步骤,边用于表示被测业务中的业务操作步骤之间的跳转逻辑;从有向图中探索得到目标用例路径,目标用例路径用于表示被测业务的一个业务操作序列;从目标用例路径中提取目标用例步骤,目标用例步骤用于生成与目标用例路径相对应的目标测试用例。采用本申请实施例,可以根据需求数据自动生成用例步骤。

Description

一种数据处理方法、装置、设备及存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据处理方法、装置、设备及存储介质。
背景技术
业务系统开发完成后,往往需要对业务系统中的被测业务进行测试,以检测被测业务是否满足业务需求,测试用例便是对被测业务的测试任务的描述,通过测试用例可以对被测业务进行测试。目前,测试用例的生成过程依赖于人工,需要依靠建模人员去理解被测业务的业务需求,然后将业务需求高度抽象,通过时序图、活动图等UML(UnifiedModeling Language,统一建模语言)图例来构建需求模型,或者是通过建模工具脚本来构建需求模型;在需求模型的基础上,测试人员凭借经验编写相应的测试用例的用例步骤,为了使得测试用例能够尽量覆盖业务需求中描述的各类测试场景,需要为每种测试场景编写各自的测试用例的用例步骤。在依赖人工生成测试用例的过程中,建模人员需要对被测业务有全面的了解,并且需要具备高度抽象能力才能将业务需求转化为需求模型,被测业务的规模越大,人工成本越高,依赖人工生成的测试用例的用例步骤不能较好地满足测试需求。
发明内容
本申请实施例提供了一种数据处理方法、装置、设备及存储介质,可以根据需求数据自动生成用例步骤。
一方面,本申请实施例提供一种数据处理方法,该数据处理方法包括:
获取需求数据,需求数据包括被测业务的业务路径及业务路径下的业务操作步骤;
根据需求数据构建有向图,有向图包括业务节点和边,业务节点用于表示被测业务中的业务操作步骤,边用于表示被测业务中的业务操作步骤之间的跳转逻辑;
从有向图中探索得到目标用例路径,目标用例路径用于表示被测业务的一个业务操作序列;
从目标用例路径中提取目标用例步骤,目标用例步骤用于生成与目标用例路径相对应的目标测试用例。
另一方面,本申请实施例提供一种数据处理装置,该数据处理装置包括:
获取单元,用于获取需求数据,需求数据包括被测业务的业务路径及业务路径下的业务操作步骤;
处理单元,用于根据需求数据构建有向图,有向图包括业务节点和边,业务节点用于表示被测业务中的业务操作步骤,边用于表示被测业务中的业务操作步骤之间的跳转逻辑;从有向图中探索得到目标用例路径,目标用例路径用于表示被测业务的一个业务操作序列;以及,从目标用例路径中提取目标用例步骤,目标用例步骤用于生成与目标用例路径相对应的目标测试用例。
在一种实施方式中,被测业务包括N个业务操作步骤;有向图包括N个业务节点;处理单元,具体用于:
将被测业务的第i个业务操作步骤确定为有向图中的第i个业务节点,将被测业务的第j个业务操作步骤确定为有向图中的第j个业务节点;
以及,将第i个业务操作步骤与第j个业务操作步骤之间的跳转逻辑确定为有向图中第i个业务节点与第j个业务节点之间的边;
根据确定的业务节点和确定的边构建有向图;
其中,N为大于1的整数,i、j均为正整数,并且i≤N,j≤N。
在一种实施方式中,处理单元,具体用于:
从目标用例路径表示的业务操作序列中提取一组或多组组合步骤;
将一组或多组组合步骤形成的序列确定为目标用例步骤;
其中,任一组组合步骤用于表示被测业务中的用户与被测业务之间的一个界面交互行为,任一组组合步骤包括第一业务操作步骤和第二业务操作步骤,第一业务操作步骤是指由被测业务向用户提供交互界面的步骤,第二业务操作步骤是指由用户在交互界面中产生交互行为,并由被测业务对交互行为进行感知反馈的步骤。
在一种实施方式中,处理单元,还用于:
遍历有向图中的业务节点,得到用例路径集合,用例路径集合中包含至少一条用例路径,每一条用例路径分别用于表示被测业务的一个业务操作序列;目标用例路径是用例路径集合中的任一条;
其中,用例路径集合中的用例路径的类型包括主用例路径或关键用例路径。
在一种实施方式中,业务路径包括基本业务路径,基本业务路径包含M个业务操作步骤,M为正整数;目标用例路径的用例类型是主用例路径;有向图还包括起始节点和结束节点;处理单元,具体用于:
从起始节点开始,按照基本业务路径下的M个业务操作步骤的执行顺序,依次遍历有向图中的M个业务节点,直至结束节点停止;M个业务节点与基本业务路径下的M个业务操作步骤一一对应;
将穿过起始节点、M个业务节点以及结束节点的遍历路径确定为目标用例路径。
在一种实施方式中,目标用例路径的用例类型是关键用例路径;有向图还包括起始节点和结束节点;处理单元,具体用于:
在有向图中确定目标关键业务节点;
采用最短路径图遍历算法在有向图中遍历查找起始节点与目标关键业务节点之间的第一路径;以及,在有向图中遍历查找目标关键业务节点与结束节点之间的第二路径;
将第一路径与第二路径拼接形成的路径确定为目标用例路径。
在一种实施方式中,处理单元,具体用于:
若目标关键业务节点的类型为第一类型,则在有向图中探索得到主用例路径,沿结束节点的方向在有向图中探索从目标关键业务节点返回至主用例路径,并沿主用例路径到达结束节点的第二路径;
或者,若目标关键业务节点的类型为第一类型,采用最短路径图遍历算法在有向图中遍历查找目标关键业务节点与结束节点之间的第二路径;
或者,若目标关键业务节点的类型为第二类型,则将目标关键业务节点与结束节点相连接形成的路径确定为第二路径;
其中,若目标关键业务节点用于表示由被测业务的用户在交互界面中产生交互行为,并由被测业务对交互行为进行感知反馈的业务操作步骤,则目标关键业务节点的类型为第一类型;若目标关键业务节点用于表示由被测业务向用户提供交互界面的业务操作步骤,则目标关键业务节点的类型为第二类型。
在一种实施方式中,用例路径集合包括第一用例路径集合和第二用例路径集合,第一用例路径集合和第二用例路径集合中均包含一条或多条用例路径,其中,第一用例路径集合中的用例路径用于生成验证业务操作行为的测试用例,第二用例路径集合中的用例路径用于生成验证业务规则的测试用例;处理单元,还用于:
对第一用例路径集合和第二用例路径集合进行优化处理。
在一种实施方式中,处理单元,具体用于:
若第一用例路径集合与第二用例路径集合包含相同的用例路径,则在第一用例路径集合中删除相同的用例路径。
在一种实施方式中,处理单元,还用于:
根据目标用例步骤生成目标测试用例;
采用目标测试用例对被测业务执行测试,得到测试结果。
在一种实施方式中,获取单元,具体用于:
获取需求描述文档,需求描述文档用于描述被测业务的业务操作流程,且需求描述文档为第一格式的文档;
对需求描述文档进行解析,得到需求数据,需求数据为第二格式的数据。
另一方面,本申请实施例提供一种数据处理设备,该数据处理设备包括:
处理器,适于实现计算机程序;
计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序适于由处理器加载并执行上述的数据处理方法。
另一方面,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被计算机设备的处理器读取并执行时,使得计算机设备执行上述的数据处理方法。
另一方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述的数据处理方法。
本申请实施例中,被测业务的需求数据包括被测业务的业务路径以及业务路径下的业务操作步骤;根据需求数据可以构建得到有向图,有向图中的业务节点可以用于表示被测业务中的业务操作步骤,有向图中的边可以用于表示被测业务中的业务操作步骤之间的跳转逻辑;从有向图中探索得到的目标用例路径可以用于表示被测业务的一个业务操作序列,从目标用例路径中提取得到的目标用例步骤可以用于生成与目标用例路径相对应的目标测试用例。由此方案可知,根据需求数据构建有向图、从有向图中探索得到目标用例路径、从目标用例路径中提取得到目标用例步骤的整个数据处理过程是自动执行的,即可以根据被测业务的需求数据自动生成被测业务的用例步骤;目标用例路径表示了被测业务的一个业务操作序列,由此可见,从目标用例路径中提取得到的目标用例步骤能够较好地满足被测业务的测试需求。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请一个示例性实施例提供的一种数据处理系统的架构示意图;
图2示出了本申请一个示例性实施例提供的一种数据处理架构的架构示意图;
图3示出了本申请一个示例性实施例提供的一种测试用例的组成数据的示意图;
图4示出了本申请一个示例性实施例提供的一种路径步骤界面的示意图;
图5示出了本申请一个示例性实施例提供的一种文档上传界面的示意图;
图6示出了本申请一个示例性实施例提供的一种文档合法性检查界面的示意图;
图7示出了本申请一个示例性实施例提供的一种文档编辑界面的示意图;
图8示出了本申请一个示例性实施例提供的一种需求管理模块的数据处理过程的时序图;
图9示出了本申请一个示例性实施例提供的一种业务规则界面的示意图;
图10示出了本申请一个示例性实施例提供的一种测试文档的示意图;
图11示出了本申请一个示例性实施例提供的一种用例生成模块的功能流程图;
图12示出了本申请一个示例性实施例提供的一种数据处理方法的流程示意图;
图13示出了本申请一个示例性实施例提供的一种有向图的示意图;
图14示出了本申请另一个示例性实施例提供的一种有向图的示意图;
图15示出了本申请一个示例性实施例提供的一种数据处理装置的结构示意图;
图16示出了本申请一个示例性实施例提供的一种数据处理设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例涉及软件测试技术。软件测试技术是软件开发过程中的一个重要的组成部分,是贯穿整个软件开发生命周期、对软件产品(包括阶段性产品)进行验证和确认的活动过程,其目的是尽快尽早地发现在软件产品中所存在的各种问题,例如软件产品与用户需求不一致的问题、软件产品的功能与预先定义的功能不一致的问题等等。通过对软件产品进行测试,能够及时发现软件产品中存在的问题,以便于开发人员对软件产品进行优化。
MBT(Model Based Testing,基于模型的测试)属于软件测试领域的一种测试方法,基于MBT思想的软件测试过程大致可以包括以下四个步骤:①获取业务系统中被测业务的业务需求,此处的业务系统是指为用户提供各类互联网业务的系统,包括但不限于:支付业务系统、即时通讯业务系统、内容社交业务系统等等。被测业务可以是业务系统本身(例如某个支付业务系统本身是一个支付类的软件产品),也可以是业务系统中的任一个功能业务(例如某个即时通讯业务系统同时支持支付、即时通讯、电子地图等多种互联网业务,被测业务可以是其中的任一种功能业务)。业务需求可以采用需求描述文档来描述,需求描述文档往往是根据被测业务的业务需求编写的,需求描述文档通常是关于被测业务的功能方面的描述。②对需求描述文档中的业务需求进行分析,得到相应的测试用例。③通过测试用例对业务系统中的被测业务进行测试。
其中,测试用例(Test Case)可以是指对一项特定的软件产品(例如可以是一个新开发的业务系统)进行测试任务的描述,体现测试方案、测试方法、测试技术和测试策略;测试用例可以包括测试目标、测试环境、输入数据、用例步骤、预期结果、测试脚本等等;换句话说,测试用例是为某个特殊目标(例如可以是被测业务)而编制的一组测试输入、执行条件以及预期结果,用于核实业务系统中的被测业务是否满足业务需求。由此可见,软件测试中一个较为核心的内容便是根据被测业务的业务需求生成测试用例,并且生成的测试用例能够较好地符合被测业务的业务需求,从而可以采用测试用例对被测业务执行测试。
本申请实施例提供一种数据处理方案,通过该数据处理方案可以根据被测业务的需求数据自动生成被测业务的用例步骤,生成的用例步骤可以用于生成测试用例。具体地,需求数据可以包括被测业务的业务路径以及业务路径下的业务操作步骤,可以根据需求数据构建有向图,有向图可以包括业务节点和边,业务节点可以用于表示被测业务中的业务操作步骤,边可以用于表示被测业务中的业务操作步骤之间的跳转逻辑;根据需求数据构建得到有向图之后,可以从有向图中探索目标用例路径,并从目标用例路径中提取目标用例步骤,目标用例步骤可以用于生成与目标用例路径相对应的目标测试用例。由该数据处理方案可知,根据需求数据构建有向图、从有向图中探索得到目标用例路径、从目标用例路径中提取得到目标用例步骤的整个数据处理过程是自动执行的,即可以根据被测业务的需求数据自动生成被测业务的用例步骤;目标用例路径表示了被测业务的一个业务操作序列,从目标用例路径中提取得到的目标用例步骤能够较好地符合被测业务的需求数据,能够较好地满足被测业务的测试需求。
上述描述的用于生成用例步骤的数据处理方案可应用于数据处理系统。数据处理系统可参见图1,图1示出了本申请一个示例性实施例提供的一种数据处理系统的架构示意图,该数据处理系统包括终端101和服务器102,本申请实施例对终端101和服务器102的数量不作限定。其中,终端101可以是指用来接收需求描述文档以及展现需求数据、执行结果等数据的设备。终端101可以包括但不限于:PC(Personal Computer,个人计算机)、PDA(平板电脑)、手机、可穿戴智能设备等等;终端101往往配置有显示装置,显示装置可以为显示器、显示屏、触摸屏等等,触摸屏可以为触控屏、触控面板等等。服务器102可以为终端101提供计算和应用服务支持。服务器102可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端101和服务器102之间可以通过有线通信或者无线通信方式进行直接或间接地连接,本申请在此不做限制。
如图1所示,数据处理系统还包括用例生成系统,该用例生成系统用于执行本申请提供的数据处理方案以生成用例步骤,该用例生成系统包括需求管理模块1021、特征处理模块1022、用例生成模块1023。在一种实现方式中,该用例生成系统可以部署在服务器102,由服务器102为用例生成系统提供软硬件环境,其中,硬件环境参数可包括但不限于服务器机型、内存、中央处理器、硬盘等等;软件环境参数可包括但不限于操作系统、数据库、Web服务器、编程语言、开源软件等等。上述硬件环境参数以及软件环境参数仅用于示例,实际应用场景中,用例生成系统部署的硬件环境参数和软件环境参数还可以为其他情况,本申请实施例对此不做限定。
用例生成系统及终端101之间的数据处理架构可参见图2,图2示出了本申请一个示例性实施例提供的一种数据处理架构的架构示意图,用例生成系统中的各个模块之间以及用例生成系统与终端之间进行数据交互以实现生成用例步骤的过程可简要地描述为:首先用户的终端101向需求管理模块1021输入被测业务的业务需求(或需求描述文档),需求管理模块1021可以对业务需求进行结构化处理,得到需求数据;特征处理模块1022可以对业务需求中的自然语言语料进行特征化处理,特征化处理后得到的数据可以作为用例步骤生成过程中的一些参考素材;用例生成模块1023可以根据需求数据自动生成被测业务的用例步骤,用例步骤可以用于生成最终的测试用例。下面对各个模块的功能进行更为详细的介绍,其中:
一、需求管理模块1021。需求管理模块可以用于获取需求描述文档,并对需求描述文档进行解析,得到需求数据。需求管理模块与用户的终端之间通过B/S(Browser/Server,浏览器/服务器模式)结构进行通信,需求管理模块向用户提供一系列需求管理界面(例如可以包括路径步骤界面、文档上传界面、文档合法性检查界面、文档编辑界面、业务规则界面等等),需求管理界面呈现在终端的浏览器中。用户可以通过需求管理界面向需求管理模块录入被测业务的业务需求,并根据业务需求生成需求描述文档,用户还可以通过需求管理界面向需求管理模块直接上传需求描述文档;然后,需求管理模块可以对需求描述文档进行解析,得到需求数据。
需求管理模块是一个典型的管理信息系统,需求管理模块通过UML用例规约将测试用例生成过程中涉及的数据进行有组织地整理并落地。需求管理模块提供的需求管理界面可以按照UML用例规约进行设计,UML是一种建模语言,通常是指用模型元素来组建整个系统的模型,模型元素包括系统中的类、类和类之间的关联类的实例相互配合实现系统的动态行为等。UML用例规约中规定了测试用例生成过程涉及的一些数据,图3示出了本申请一个示例性实施例提供的一种测试用例的组成数据的示意图,如图3所示,测试用例生成过程中涉及的数据可以包括但不限于执行者、前置条件、后置条件、业务路径(可以包括基本业务路径、扩展业务路径)、补充约束、涉众利益等等。其中,执行者可以包括主执行者和辅助执行者,主执行者主动发起与测试用例的交互,辅助执行者在交互的过程中被动的参与进来;例如,在支付测试场景中,主执行者可以是指支付用户,辅助执行者可以是指用于付款的银行系统。前置条件是测试用例的触发条件,满足前置条件时才可以触发测试用例。后置条件规定了测试用例的执行结果应该满足的条件,即后置条件可以对测试用例的执行结果进行校验。涉众利益是指与被测业务相关联的多方用户,这些用户可能与被测业务之间存在利益关系,分析各用户之间的利益关系对于生成测试用例具有指导性作用。业务路径下存在多个业务操作步骤,业务路径可以包括基本业务路径和扩展业务路径,基本业务路径可以用于表示被测业务的一个完整的业务操作序列,扩展业务路径是对基本业务路径的扩展,即使业务路径中不包含扩展业务路径,通过基本业务路径对应的业务操作序列也可以实现被测业务一个完整的功能,扩展路径对被测业务的功能的实现方式进行扩展,提供了多种测试场景。基本业务路径和扩展业务路径之间可以存在补充约束,补充约束的内容大多数以表格形式展示,根据业务操作步骤的步骤类型以及补充约束类型,可以将补充约束的业务规则分为三类,如下表1所示:
表1
如上表1所示,业务规则类型可以包括系统校验类型、系统处理类型以及系统反馈类型,每一种业务规则类型对应有多种业务规则表格类型。表1中业务规则类型也可以作为扩展业务路径下的各个业务操作步骤的步骤类型。
用户可以通过路径步骤界面录入被测业务的业务需求;图4示出了本申请一个示例性实施例提供的一种路径步骤界面的示意图,用户可以通过图4所示的路径步骤界面40录入被测业务的业务路径;如图4所示,路径步骤界面40中由业务操作步骤1跳转至业务操作步骤2所形成的业务路径为基本业务路径,由业务操作步骤1跳转至业务操作步骤1a所形成的业务路径为扩展业务路径。
用户还可以通过文档上传界面上传需求描述文档;需求描述文档是按照UML用例规约,并根据被测业务的业务需求编写的,是用自然语言(例如可以是中文、英文或其他语言)描述的文档,需求描述文档用于描述被测业务的业务操作流程,需求描述文档的格式一般为word格式(一种文档格式),例如DO CX格式或DOC格式。图5示出了本申请一个示例性实施例提供的一种文档上传界面的示意图,用户可以将需求描述文档拖拽至文档上传界面50的文档上传区域501中,或者用户还可以通过选择文档上传区域501(例如用户点击文档上传区域501),触发显示文档选取窗口,并从文档选取窗口中选取待上传的需求描述文档,从而将需求描述文档上传至需求管理模块,文档上传界面50中显示需求描述文档的上传进度(例如上传50%、上传100%等等)。
需求描述文档上传至需求管理模块后,需求管理模块可以对需求描述文档进行合法性检查,以检查需求描述文档的内容是否符合UML用例规约。若需求描述文档中的内容合法,即需求描述文档的内容符合UML用例规约,需求管理模块可以对需求描述文档执行进一步的操作;图6示出了本申请一个示例性实施例提供的一种文档合法性检查界面的示意图,如图6所示,在文档合法性检查界面60中,需求描述文档中合法的内容对应的位置显示有合法标志601。若需求描述文档中的内容不合法,用户可以通过文档编辑界面对需求描述文档中的内容进行修改,图7示出了本申请一个示例性实施例提供的一种文档编辑界面的示意图,文档编辑界面70包括文档编辑区域701,用户可以在文档编辑区域701内对需求描述文档执行编辑操作,如图7所示,用户在文档编辑区域701中对优惠规则进行修改。
需求管理模块可以包括逻辑层、数据处理层以及数据库,需求管理模块响应用户的文档上传操作、文档编辑操作的时序图可参见图8,图8示出了本申请一个示例性实施例提供的一种需求管理模块的数据处理过程的时序图。如图8所示,数据处理过程可以包括三个数据处理周期,分别为:新增数据周期、查询数据周期以及修改数据周期。其中,在新增数据周期内,用户可以上传被测业务的需求描述文档(或录入业务需求);在查阅数据周期内,用户可对上传的被测业务的需求描述文档(或录入业务需求)进行查询;在修改数据周期内,用户可以对上传的被测业务的需求描述文档(或录入业务需求)进行修改、删除等操作。其中:
(1)在新增数据周期内,当用户上传需求描述文档时,可以参见图8中步骤S801至步骤S809的描述:
S801、终端上传需求描述文档至需求管理模块的逻辑层。例如,终端通过浏览器的文档上传界面50的文档上传区域501将需求描述文档上传至需求管理模块的逻辑层。
S802、需求管理模块的逻辑层解析并处理需求描述文档。
S803、需求管理模块的逻辑层将需求描述文档中的新语料上报至特征处理模块。
S804、特征处理模块向需求管理模块的逻辑层返回上报成功的上报结果。
S805、需求管理模块的数据处理层结构化需求描述文档。需求管理模块的数据处理层对需求描述文档进行结构化处理,得到需求数据。
S806、需求管理模块的数据处理层将需求数据录入需求管理模块的数据库。
S807、需求管理模块的数据处理层接收需求管理模块的数据库返回的录入结果,并将录入结果返回至管理设备的逻辑层。
S808、需求管理模块的逻辑层向终端的浏览器返回录入结果。
S809、终端通过浏览器确认录入结果。例如,当浏览器中显示的文档上传界面50中上传进度为100%表示录入成功。
(2)在查询数据周期内,当用户查询需求描述文档时,可以参见图8中步骤S801a至步骤S808a的描述:
S801a、终端通过浏览器向需求管理模块的逻辑层发送查询请求。路径步骤界面40、业务规则界面90等需求管理界面中存在多个选项,例如涉众利益选项、前置条件选项、后置条件选项、路径步骤选项以及补充约束选项等等;当用户选中任意选项时,可以生成对应的查询请求。例如,当用户点击路径步骤界面40中的前置条件选项401时,终端生成查询请求,查询请求中携带待查询数据的标签,例如查询请求中携带前置条件的数据标签。
S802a、需求管理模块的逻辑层处理查询请求。需求管理模块的逻辑层对查询请求进行处理,得到待查询数据的标签。
S803a、需求管理模块的数据处理层获取目标需求数据。需求管理模块的逻辑层解析得到待查询数据的标签后,将待查询数据的标签发送至需求管理模块的数据处理层,需求管理模块的数据处理层根据待查询数据的标签从需求管理模块的数据库中获取与待查询数据的标签对应的目标需求数据。例如,待查询数据的标签可以是前置条件的数据标签,目标需求数据可以是前置条件。
S804a、需求管理模块的数据处理层从需求管理模块的数据库中读取目标需求数据。
S805a、需求管理模块的数据库向需求管理模块的数据处理层返回目标需求数据。
S806a、需求管理模块的数据处理层向需求管理模块的逻辑层返回目标需求数据。
S807a、需求管理模块的逻辑层向终端的浏览器返回目标需求数据。
S808a、终端通过浏览器显示目标需求数据。例如,对于用户而言,当用户点击路径步骤界面40中的前置条件选项401时,终端的浏览器中显示查询的前置条件。
(3)在修改数据周期内,当用户对需求描述文档进行修改时,可以参见图8中步骤S801b至步骤S809b的描述:
S801b、终端通过浏览器向需求管理模块的逻辑层发送修改请求。例如,当用户存在对业务规则的修改需求时,用户可选中文档编辑界面70中的修改选项702,此时文档编辑界面70中的文档编辑区域701为可编辑状态,当用户通过文档编辑界面70的文档编辑区域701对需求描述文档进行修改时,终端生成修改请求,修改请求中携带修改数据。
S802b、需求管理模块的逻辑层处理修改需求。需求管理模块的逻辑层对修改请求进行解析,得到修改请求中的修改数据。
S803b、需求管理模块的逻辑层将修改数据中的新语料上报至特征处理模块。
S804b、特征处理模块向需求管理模块的逻辑层返回上报成功的上报结果。
S805b、需求管理模块的数据处理层接收需求管理模块的逻辑层发送的修改数据。
S806b、需求管理模块的数据处理层向需求管理模块的数据库上传修改数据。
S807b、需求管理模块的数据处理层接收需求管理模块的数据库返回的修改结果,并将修改结果返回至需求管理模块的逻辑层。
S808b、需求管理模块的逻辑层向终端的浏览器返回修改结果。
S809b、终端通过浏览器确认修改结果。修改结果返回至浏览器,以便于用户能够确认本次修改操作是否成功,例如,当修改结果为修改失败时,用户可再次执行修改操作,直至修改结果显示为修改成功。这能帮助用户便捷地完善需求描述文档中的内容,丰富业务需求。
用户还可以通过业务规则界面录入被测业务的业务规则,以及可以通过业务规则界面定义基本业务路径下的业务操作步骤与扩展业务路径下的业务操作步骤之间的补充约束。图9示出了本申请一个示例性实施例提供的一种业务规则界面的示意图,如图9所示,用户通过业务规则界面90录入优惠规则,并定义了基本业务路径下的业务操作步骤1与扩展业务路径下的业务操作步骤2a之间的补充约束。
需求管理模块获取到需求描述文档之后,可以对需求描述文档进行解析,得到需求数据。需求描述文档为第一格式的文档(例如需求描述文档一般为wo rd文档),需求描述文档可以用于描述被测业务的业务操作流程。需求数据为第二格式的数据(例如需求数据一般为json(JavaScript Object Notation,JS对象简谱)格式的数据),需求数据可以包括但不限于前置条件、后置条件、执行者、业务路径以及业务路径下的业务操作步骤等等。示例性地:一种支付业务场景下的json格式的需求数据如下代码所示:
/>
通过json格式表示需求数据,能够较好地描述需求数据中各个元素(即前置条件、后置条件、执行者、业务路径以及业务路径下的业务操作步骤等等)之间的结构化关系。
当用例生成模块根据被测业务的需求数据生成用例步骤之后,需求管理模块可以根据用例类型、用例是否自动化、用例名称、前置条件、用例步骤、预期结果生成测试文档,测试文档可以展示于终端的浏览器中,供用户查看。图10示出了本申请一个示例性实施例提供的一种测试文档的示意图,如图10所示,测试文档可以以表格的形式(例如一般以Excel表格(一种表格文档)的形式)展示在用户的终端中,图10中的每一行代表一个测试用例,测试文档以表格的形式展示多个测试用例,可以提高测试文档的可读性。
由此看来,需求管理模块可以向用户的终端提供需求管理界面(例如路径步骤界面、文档上传界面、文档合法性检查界面、文档编辑界面、业务规则界面等等),用户可以通过终端的浏览器中显示的需求管理界面访问需求管理模块,从而用户可以通过终端的浏览器中显示的需求管理界面录入被测业务的业务需求、上传需求描述文档、对需求描述文档进行编辑等等。获取到需求描述文档之后,需求管理模块可以对需求描述文档进行解析,得到需求数据。
二、特征处理模块1022。特征处理模块用于辅助需求管理模块将自然语言描述的需求描述文档转换为计算机语言描述的需求数据;此外,特征处理模块还用于对需求描述文档进行冲突过滤,以确保需求描述文档的可行性。特征处理模块可以对需求描述文档中采用自然语言描述的业务操作步骤进行特征化处理,提取业务操作步骤中的特征,并根据提取到的特征确定业务操作步骤的类型,例如可以根据提取到的业务操作步骤的特征确定该业务操作步骤属于系统校验类型、系统处理类型或系统反馈类型中的一种;特征处理模块还可以根据提取到的特征确定业务操作步骤的构造方式,例如可以根据提取到的业务操作步骤的特征确定该业务操作步骤的构造方式为API(Application ProgrammingInterface,应用程序接口)方式。
特征处理模块还可以维护特征间的冲突关系,当同一个业务操作步骤提取到的特征不相同时,例如某一个关于支付方式的业务操作步骤,提取到两个不同的特征,一个是采用银行卡支付的特征,一个是采用余额支付的特征,这两个特征不相同且互相冲突,特征处理模块便会根据这两个特征生成一个冲突语料。
业务操作步骤的类型、业务操作步骤的构造方式以及业务操作步骤的冲突语料组成的特征数据可以由特征处理模块上传至用例生成模块,作为用例步骤生成过程中的一些参考素材,例如在用例步骤的生成过程中,用例生成模块可以过滤掉包含冲突语料的业务操作步骤;或者在根据用例步骤生成测试用例的过程中,用例生成模块可以根据业务操作步骤的构造方式对业务操作步骤进行构造。
三、用例生成模块1023。用例生成模块用于对需求数据进行分析处理,进而生成测试用例,具体的实施方式可参考方法实施例中的描述。用例生成模块通过从需求管理模块1021和特征处理模块1022中获取数据,可以根据被测业务的需求数据自动生成被测业务的用例步骤,图11示出了本申请一个示例性实施例提供的一种用例生成模块的功能流程图,如图11所示,用例生成模块根据被测业务的需求数据生成被测业务的用例步骤的过程可参见步骤S1101至步骤S1105的描述:
S1101、用例生成模块根据需求数据构建有向图。
S1102、用例生成模块在有向图中遍历主用例路径。
S1103、用例生成模块在有向图中为每个关键业务节点探索一条用例路径,得到用例路径集合。
S1104、用例生成模块对用例路径集合进行优化。
S1105、用例生成模块在优化后的用例路径集合中,从每条用例路径中提取与该用例路径相关的用例步骤。
用例生成模块根据被测业务的需求数据自动生成被测业务的用例步骤的具体执行过程可参见图12所示实施例的描述,在此不再赘述。
本申请实施例中,需求管理模块可以对测业务的需求描述文档进行解析,得到被测业务的需求数据。特征处理模块可以对需求描述文档中采用自然语言描述的业务需求步骤进行特征化,得到需求描述文档中的一些特征数据(例如可以是业务操作步骤的类型、业务操作步骤的构造方式以及业务操作步骤的冲突语料)。用例生成模块可以根据被测业务的需求数据自动生成被测业务的用例步骤,用例步骤可以用于生成测试用例,从而可以采用测试用例对被测业务执行测试,用例步骤的生成过程中可以参考特征处理模块提供的特征数据。本申请实施例实现了从自然语言描述的需求描述文档到用例步骤的自动生成过程,相比于传统的MBT建模方式而言,不仅降低了对建模人员抽象思维的要求,降低了建模成本,还保证了用例步骤完全忠于业务需求,能够较好地满足对被测业务的测试需求。
可以理解的是,本申请实施例描述的数据处理系统是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
图12示出了本申请一个示例性实施例提供的一种数据处理方法的流程示意图,该数据处理方法可以由图1所示的数据处理系统中的服务器102执行,该数据处理方法可以包括以下步骤S1201至步骤S1204:
S1201、获取需求数据。
需求数据可以是对需求描述文档进行解析得到的,需求描述文档是采用自然语言描述的被测业务的业务操作流程。需求描述文档往往是第一格式的文档,例如需求描述文档一般是word文档,例如需求描述文档的格式可以为DOCX格式或DOC格式;需求数据一般是第二格式的数据,例如需求数据一般是json格式的数据。需求文档可以包括被测业务的业务路径以及业务路径下的业务操作步骤,通过json格式描述的需求数据能够更清楚地表示各个业务操作步骤之间的跳转逻辑。例如,在转账时需要先输入转账金额,再进行密码验证,因此转账业务的业务路径包括“输入金额”和“身份验证”两个业务操作步骤,业务路径用于指示在完成“输入金额”后,进行“身份验证”,即执行完“输入金额”的业务操作步骤后,跳转至“身份验证”的业务操作步骤,在执行“身份验证”的业务操作步骤之前需要执行“输入金额”的业务操作步骤。其中,被测业务可以是由一条或多条计算机代码组成的集合;例如,被测业务可以是一个软件,也可以是一个应用子程序。
在步骤S1201中,需求数据是根据获取到的需求描述文档进行解析得到的,需求描述文档的获取过程以及需求描述文档的解析过程具体可以参见上述需求管理模块1021的具体描述。
S1202、根据需求数据构建有向图。
获取到需求数据之后,可以根据需求数据构建有向图。有向图可以包括业务节点和边,有向图中的业务节点可以用于表示被测业务中的业务操作步骤,有向图中的边可以用于表示被测业务中的业务操作步骤之间的跳转逻辑。表2示出了有向图中的一些专用概念(包括业务节点、子业务节点、父业务节点、兄弟业务节点、业务节点类型、叶子业务节点、边、图、并行关系和串行关系下一步等等),如表2所示:
表2
需要说明的是,表2中业务节点类型可以是上述数据管理系统中的特征处理模块1022在对需求描述文档进行特征化时确定的,特征处理模块1022可以对需求描述文档中采用自然语言描述的业务操作步骤进行特征化处理,提取业务操作步骤中的特征,并根据提取到的特征确定业务操作步骤的类型,例如可以根据提取到的业务操作步骤的特征确定该业务操作步骤属于用户选择类型、系统校验类型、系统处理类型或系统反馈类型中的一种。
若被测业务包括N个业务操作步骤,那么有向图中包括N个业务节点,根据需求数据生成有向图的具体过程可以为:将被测业务的第i个业务操作步骤确定为有向图中的第i个业务节点,第i个业务操作步骤可以是基本业务路径或扩展业务路径下的任一个业务操作步骤;将被测业务的第j个业务操作步骤确定为有向图中的第j个业务节点,第j个业务操作步骤可以是基本业务路径或扩展业务路径下的与第i个业务操作步骤顺序相邻的业务操作步骤;以及将第i个业务操作步骤与第j个业务操作步骤之间的跳转逻辑确定为有向图中第i个业务节点与第j个业务节点之间的边,从而可以根据确定的业务节点和确定的边构建有向图;其中,N为大于1的整数,i、j均为正整数,并且i≤N,j≤N。例如,假设业务操作步骤A对应有向图中的业务节点A,业务操作步骤B对应有向图中的业务节点B,且业务操作步骤A与业务操作步骤B之间的跳转逻辑为:在执行完业务操作步骤A后执行业务操作步骤B,则建立业务节点A与业务节点B之间的边,该边的方向由业务节点A指向业务节点B。
有向图中除了包括N个业务节点和N个业务节点之间的边之外,有向图中还可以包括起始节点和结束节点,起始节点和结束节点是有向图中的虚拟节点,没有实际的意义,起始节点和结束节点的存在是为了保证有向图的完整性。
S1203、从有向图中探索得到目标用例路径。
遍历有向图中的各个业务节点,可以得到用例路径集合,用例路径集合中包括至少一条用例路径,用例路径集合中的用例路径的类型可以包括主用例路径或关键用例路径中的任一种,目标用例路径是用例路径集合中的任一条。其中:
(1)当目标用例路径的类型为主用例路径时,目标用例路径是从起始节点开始,依次遍历基本业务路径下的各个业务操作步骤对应的业务节点,直至结束节点停止而得到的。具体地,基本业务路径可以包含M个业务操作步骤,M为正整数;从起始节点开始,按照基本业务路径下的M个业务操作步骤的执行顺序,依次遍历有向图中的M个业务节点,直至结束节点停止,M个业务节点与基本业务路径下的M个业务操作步骤一一对应;将穿过起始节点、M个业务节点以及结束节点的遍历路径确定为目标用例路径。
例如,假设被测业务的有向图如图13所示,图13示出了本申请一个示例性实施例提供的一种有向图的示意图,有向图中包括起始节点,业务节点A,业务节点B,业务节点C1,业务节点C21,业务节点C22,业务节点D,业务节点E和结束节点,业务节点A对应业务操作步骤1,业务节点B对应业务操作步骤2,业务节点C1对应业务操作步骤3,业务节点C21对应业务操作步骤4,业务节点C22对应业务操作步骤5,业务节点D对应业务操作步骤6,业务节点E对应业务操作步骤7,需求数据指示的基本业务路径下的业务操作步骤的执行顺序为:业务操作步骤1→业务操作步骤2→业务操作步骤3→业务操作步骤6→业务操作步骤7,则按照该基本业务路径下的5个业务操作步骤的执行顺序,将用例路径“起始节点→业务节点A→业务节点B→业务节点C1→业务节点D→业务节点E→结束节点”确定为主用例路径。
(2)当目标用例路径的类型为关键用例路径时,需要在有向图中确定目标关键业务节点,目标用例路径是目标关键业务节点对应的用例路径,目标用例路径穿过起始节点、目标关键业务节点、结束节点。当目标用例路径的类型为关键用例路径时,从有向图中探索得到目标用例路径的实现方式可以包括步骤s11至步骤s14:
s11、在有向图中确定目标关键业务节点。
目标关键业务节点的类型可以包括第一类型和第二类型。若有向图中的一个业务节点用于表示由被测业务的用户在被测业务提供的交互界面中产生交互行为,并由被测业务对交互行为进行感知反馈的业务操作步骤,则将该业务节点确定为第一类型的目标关键业务节点。若有向图中的一个业务节点用于表示由被测业务向被测业务中的用户提供交互界面的业务操作步骤,则将该业务节点确定为第二类型的目标关键业务节点。
s12、采用最短路径图遍历算法在有向图中遍历查找起始节点与目标关键业务节点之间的第一路径。
最短路径图遍历算法是图论研究中的一个经典算法,旨在有向图中确定两个节点之间的最短路径,即第一路径是起始节点与目标关键业务节点之间的最短路径,第一路径相比于从起始节点到目标关键业务节点的其他路径来说,穿过的业务节点的数量最少。最短路径图遍历算法可包括但不限于Dijkstra算法、floyd算法等等,本申请实施例对此不作限定。
例如,假设被测业务的有向图如图14所示,图14示出了本申请另一个示例性实施例提供的一种有向图的示意图,假设业务节点C21为目标关键节点,如图14所示,起始节点与业务节点C21之间的路径包括:起始节点→业务节点A→业务节点B1→业务节点C21,以及起始节点→业务节点A→业务节点B21→业务节点B22→业务节点C21;由于起始节点→业务节点A→业务节点B1→业务节点C21包含的节点数量最少,因此将该路径确定为起始节点与业务节点C21之间的第一路径。
可选的,若从起始节点到目标关键业务节点的路径中存在两条路径或者两条以上路径包含的节点数量相同,则可以将各条路径中,有向边的权重之和最小的路径确定为最短路径;其中,有向边的权重可以是根据业务操作步骤执行的次序或者需求数据确定的。
s13、在有向图中遍历查找目标关键业务节点与结束节点之间的第二路径。
目标关键业务节点的类型不同,探索第二路径的方式也不相同。若目标关键业务节点的类型为第一类型,则在有向图中遍历查找目标关键业务节点与结束节点之间的第二路径的方式可包括:在有向图中探索主用例路径,主用例路径的探索过程可参见上述描述;从目标关键业务节点开始,沿结束节点的方向在有向图中探索从目标关键业务节点返回至主用例路径,并沿主用例路径到达结束节点的路径,并将该路径作为第二路径。当不存在从目标关键业务节点沿结束节点的方向返回主用例路径的路径时,可以采用最短路径图遍历算法在有向图中遍历查找目标关键业务节点与结束节点之间的最短路径,并将该最短路径作为第二路径。若目标关键业务节点的类型为第二类型,则在有向图中遍历查找目标关键业务节点与结束节点之间的第二路径的方式可包括:将目标关键业务节点与结束节点相连接形成的路径确定为第二路径。
s14、将第一路径与第二路径拼接形成的路径确定为目标用例路径。
可以将步骤s12确定得到的第一路径和步骤s13确定得到的第二路径拼接形成的路径确定为目标用例路径。基于上述流程得到的目标用例路径能够满足对测试任务的测试需求,目标用例路径中包含的业务节点较少且与被测业务紧密相关,可以省去一些多余的测试步骤,相对减小测试成本,提高测试速度和质量。
可选的,还可以通过统计用户对被测业务的实际操作行为序列,并以用户的实际操作行为序列为路径探索依据,探索得到用例路径。例如被测业务是支付业务,可以对用户在执行支付业务时的实际操作行为序列进行统计,并根据用户的实际操作行为序列在有向图中探索用例路径。通过这种方式,探索得到的用例路径更加符合被测业务的实际应用场景。
目标用例路径可以用于表示被测业务的一个业务操作序列。下面以支付业务场景中的一个业务操作序列为例进行说明,支付业务场景中的业务操作需求如下所示:
业务操作步骤1.【被测业务】请求用户确认XX信息;
业务操作步骤2d.【被测业务】验证用户反馈的结果为确认XX信息,且需要引导用户实名认证;
业务操作步骤2d1.【被测业务】请求用户提交实名认证信息;
业务操作步骤2d2.【被测业务】验证用户反馈的结果为提交实名认证信息,且需要引导用户绑定银行卡;
业务操作步骤2d3.【被测业务】请求用户添加银行卡;
业务操作步骤2d31.【被测业务】验证银行卡卡号;
业务操作步骤2d32.【被测业务】请求获取银行支付授权;
业务操作步骤2d33.【被测业务】验证支付权限;
业务操作步骤2d34.【被测业务】进入业务操作步骤2d4;
业务操作步骤2d4.【被测业务】进入业务操作步骤2;
业务操作步骤2.【被测业务】请求用户提交支付密码;
业务操作步骤3.【被测业务】验证用户反馈的结果为提交支付密码。
上述业务操作序列中,业务操作步骤后面的数字或字母表示业务操作步骤的编号,业务操作步骤的编号中不包含字母的业务操作步骤1至业务操作步骤3所形成的业务操作序列对应主用例路径。业务操作步骤2d中,由用户在交互界面中产生交互行为(即通过交互界面反馈XX信息),并由被测业务对交互行为进行感知反馈(即对反馈的XX信息的结果进行校验),由此可知,业务操作步骤2d对应的业务节点是第一类型的目标关键业务节点。由业务操作步骤1至业务操作步骤2d所形成的业务操作序列对应第一路径;由业务操作步骤2d至业务操作步骤2所形成的业务操作序列,对应从目标关键业务节点返回主用例路径的路径;由业务操作步骤2至业务操作步骤3所形成的业务操作序列,对应沿主用例路径到达结束节点的路径;即由业务操作步骤2d至业务操作步骤3所形成的业务操作序列对应第二路径。
步骤S1204,从目标用例路径中提取目标用例步骤。
目标用例路径可以用于表示被测业务的一个业务操作序列,从目标用例路径中提取目标用例步骤的方式可以包括:从目标用例路径表示的业务操作序列中提取一组或多组组合步骤;将一组或多组组合步骤形成的序列确定为目标用例步骤;其中,任一组组合步骤用于表示被测业务中的用户与被测业务之间的一个界面交互行为,任一组组合步骤包括第一业务操作步骤和第二业务操作步骤,第一业务操作步骤是指由被测业务向用户提供交互界面的步骤,第二业务操作步骤是指由用户在交互界面中产生交互行为,并由被测业务对交互行为进行感知反馈的步骤。
根据上述支付业务场景中的业务操作序列提取到的目标用例步骤如下所示:
组合步骤1.【被测业务】请求用户确认XX信息_【被测业务】验证用户反馈的结果为确认XX信息,且需要引导用户实名认证;
组合步骤2.【被测业务】请求用户提交实名认证信息_【被测业务】验证用户反馈的结果为提交实名认证信息;
组合步骤3.【被测业务】请求用户添加银行卡_【被测业务】验证银行卡卡号;
组合步骤4.【被测业务】请求获取银行支付授权_【被测业务】验证支付权限;
组合步骤5【被测业务】请求用户提交支付密码_【被测业务】验证用户反馈的结果为提交支付密码。
上述目标用例步骤中,以组合步骤1为例,组合步骤1包括的第一业务操作步骤为业务操作步骤1,组合步骤1包括的第二业务操作步骤为业务操作步骤2d,业务操作步骤1是指由被测业务向用户提供包含XX信息的交互界面的步骤,业务操作步骤2d是指由用户在交互界面中产生交互行为(即通过包含XX信息的交互界面反馈确认XX信息),并由被测业务对交互行为进行感知反馈(即对反馈的XX信息的结果进行校验)的步骤。业务操作步骤1和业务操作步骤2d组成组合步骤1,组合步骤1表示了被测业务中的用户与被测业务之间的一个界面(包含XX信息的交互界面)交互行为。以此类推,可以从上述支付业务场景下的业务操作序列中继续提取目标用例步骤中的组合步骤2至组合步骤5。
上述从目标用例路径中提取目标用例步骤的过程是隐式推导过程,即默认第一类型的业务节点(第一类型的业务节点用于表示由被测业务向被测业务中的用户提供交互界面的业务操作步骤)之后,往往跟随一个第二类型的业务节点(第二类型的业务节点用于表示由用户在交互界面中产生交互行为,并由被测业务对交互行为进行感知反馈的业务操作步骤),并且第一类型的业务节点与第二类型的业务节点可以用于表示被测业务中的用户与被测业务之间的一个界面交互行为。可选的,还可以通过统计用户对被测业务之间的实际界面交互行为,并在目标用例路径中保留统计结果中被频繁执行的界面交互行为,以此提取目标用例步骤。
从目标用例路径中提取得到目标用例步骤之后,可以根据目标用例步骤生成目标测试用例,并采用目标测试用例对被测业务执行测试,得到测试结果。目标用例步骤还可以与前置条件、后置条件进行组合,根据前置条件、目标用例步骤以及后置条件生成目标测试用例。
遍历有向图中的所有业务节点,得到用例路径集合,用例路径集合中包含至少一条用例路径,每一条用例路径分别用于表示被测业务的一个业务操作序列。遍历有向图得到的用例路径集合中可包括第一用例路径集合和第二用例路径集合。其中,第一用例路径集合和第二用例路径集合中均包含一条或多条用例路径。第一用例路径集合中的用例路径用于生成验证业务操作行为(即第一用例路径集合中的用例路径所穿过的关键业务节点用于表示由用户在被测业务提供的交互界面中产生交互行为,并由被测业务对交互行为进行感知反馈的业务操作步骤)的测试用例,第二用例路径集合中的用例路径用于生成验证业务规则(即第二用例路径集合中的用例路径所穿过的关键业务节点用于表示由被测业务向被测业务中的用户提供交互界面的业务操作步骤)的测试用例。本申请实施例还支持对第一用例路径集合和第二用例路径集合进行优化处理。所谓优化处理可以理解为去重处理,即若第一用例路径集合与第二用例路径集合包含相同的用例路径,则在第一用例路径集合中删除相同的用例路径。通过这种去重的方式,可以避免重复生成同一测试任务的测试用例,减少测试用例生成成本。在第一用例路径集合中删除相同的用例路径,在第二用例路径集合中保留相同的用例路径,保留的用例路径可以生成用于验证业务规则的测试用例,保证了被测业务向被测业务的用户提供的所有交互界面均被测试,提高了采用测试用例对被测业务进行测试时的准确率。
本申请实施例中,通过遍历有向图,可以得到用例路径集合,用例路径集合可以包括主用例路径类型的用例路径,以及一个或多个关键业务节点中的每个关键业务节点对应的关键用例路径类型的用例路径;通过用例路径集合中的每一条用例路径提取得到的用例步骤,可以保证根据用例步骤生成的测试用例完全忠于被测业务的业务需求,满足对被测业务的测试需求。并且,对用例路径集合中的用例路径进行优化的过程中,可以避免重复生成同一测试任务的测试用例,减少测试用例生成成本。并且,在探索用例路径的过程中采用最短路径图遍历算法,关注与生成测试用例紧密相关的业务节点(业务操作步骤),可以加快对有向图的遍历速度,提升根据被测业务的需求数据生成被测业务的用例步骤的效率。
上述详细阐述了本申请实施例的方法,为了便于更好地实施本申请实施例的上述方案,相应地,下面提供了本申请实施例的装置。
请参见图15,图15示出了本申请一个示例性实施例提供的一种数据处理装置的结构示意图,该数据处理装置可以搭载在数据处理设备中;该数据处理装置可以是数据处理设备中的一个应用程序或插件。图15所示的数据处理装置可以用于执行上述图12所描述的方法实施例中的部分或全部功能。其中,各个单元的详细描述如下:
获取单元1501,用于获取需求数据,需求数据包括被测业务的业务路径及业务路径下的业务操作步骤;
处理单元1502,用于根据需求数据构建有向图,有向图包括业务节点和边,业务节点用于表示被测业务中的业务操作步骤,边用于表示被测业务中的业务操作步骤之间的跳转逻辑;从有向图中探索得到目标用例路径,目标用例路径用于表示被测业务的一个业务操作序列;以及,从目标用例路径中提取目标用例步骤,目标用例步骤用于生成与目标用例路径相对应的目标测试用例。
在一种实施方式中,被测业务包括N个业务操作步骤;有向图包括N个业务节点;处理单元1502,具体用于:
将被测业务的第i个业务操作步骤确定为有向图中的第i个业务节点,将被测业务的第j个业务操作步骤确定为有向图中的第j个业务节点;
以及,将第i个业务操作步骤与第j个业务操作步骤之间的跳转逻辑确定为有向图中第i个业务节点与第j个业务节点之间的边;
根据确定的业务节点和确定的边构建有向图;
其中,N为大于1的整数,i、j均为正整数,并且i≤N,j≤N。
在一种实施方式中,处理单元1502,具体用于:
从目标用例路径表示的业务操作序列中提取一组或多组组合步骤;
将一组或多组组合步骤形成的序列确定为目标用例步骤;
其中,任一组组合步骤用于表示被测业务中的用户与被测业务之间的一个界面交互行为,任一组组合步骤包括第一业务操作步骤和第二业务操作步骤,第一业务操作步骤是指由被测业务向用户提供交互界面的步骤,第二业务操作步骤是指由用户在交互界面中产生交互行为,并由被测业务对交互行为进行感知反馈的步骤。
在一种实施方式中,处理单元1502,还用于:
遍历有向图中的业务节点,得到用例路径集合,用例路径集合中包含至少一条用例路径,每一条用例路径分别用于表示被测业务的一个业务操作序列;目标用例路径是用例路径集合中的任一条;
其中,用例路径集合中的用例路径的类型包括主用例路径或关键用例路径。
在一种实施方式中,业务路径包括基本业务路径,基本业务路径包含M个业务操作步骤,M为正整数;目标用例路径的用例类型是主用例路径;有向图还包括起始节点和结束节点;处理单元1502,具体用于:
从起始节点开始,按照基本业务路径下的M个业务操作步骤的执行顺序,依次遍历有向图中的M个业务节点,直至结束节点停止;M个业务节点与基本业务路径下的M个业务操作步骤一一对应;
将穿过起始节点、M个业务节点以及结束节点的遍历路径确定为目标用例路径。
在一种实施方式中,目标用例路径的用例类型是关键用例路径;有向图还包括起始节点和结束节点;处理单元1502,具体用于:
在有向图中确定目标关键业务节点;
采用最短路径图遍历算法在有向图中遍历查找起始节点与目标关键业务节点之间的第一路径;以及,在有向图中遍历查找目标关键业务节点与结束节点之间的第二路径;
将第一路径与第二路径拼接形成的路径确定为目标用例路径。
在一种实施方式中,处理单元1502,具体用于:
若目标关键业务节点的类型为第一类型,则在有向图中探索得到主用例路径,沿结束节点的方向在有向图中探索从目标关键业务节点返回至主用例路径,并沿主用例路径到达结束节点的第二路径;
或者,若目标关键业务节点的类型为第一类型,采用最短路径图遍历算法在有向图中遍历查找目标关键业务节点与结束节点之间的第二路径;
或者,若目标关键业务节点的类型为第二类型,则将目标关键业务节点与结束节点相连接形成的路径确定为第二路径;
其中,若目标关键业务节点用于表示由被测业务的用户在交互界面中产生交互行为,并由被测业务对交互行为进行感知反馈的业务操作步骤,则目标关键业务节点的类型为第一类型;若目标关键业务节点用于表示由被测业务向用户提供交互界面的业务操作步骤,则目标关键业务节点的类型为第二类型。
在一种实施方式中,用例路径集合包括第一用例路径集合和第二用例路径集合,第一用例路径集合和第二用例路径集合中均包含一条或多条用例路径,其中,第一用例路径集合中的用例路径用于生成验证业务操作行为的测试用例,第二用例路径集合中的用例路径用于生成验证业务规则的测试用例;处理单元1502,还用于:
对第一用例路径集合和第二用例路径集合进行优化处理。
在一种实施方式中,处理单元1502,具体用于:
若第一用例路径集合与第二用例路径集合包含相同的用例路径,则在第一用例路径集合中删除相同的用例路径。
在一种实施方式中,处理单元1502,还用于:
根据目标用例步骤生成目标测试用例;
采用目标测试用例对被测业务执行测试,得到测试结果。
在一种实施方式中,获取单元1501,具体用于:
获取需求描述文档,需求描述文档用于描述被测业务的业务操作流程,且需求描述文档为第一格式的文档;
对需求描述文档进行解析,得到需求数据,需求数据为第二格式的数据。
根据本申请的一个实施例,图12所示的数据处理方法所涉及的部分步骤可由图15所示的数据处理装置中的各个单元来执行。例如,图12中所示的步骤S1201可由图15所示的获取单元1501执行,步骤S1202至步骤S1204可由图15所示的处理单元1502执行。图15所示的数据处理装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,数据处理装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本申请的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算装置上运行能够执行如图12中所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图15中所示的数据处理装置,以及来实现本申请实施例的数据处理方法。计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算装置中,并在其中运行。
基于同一发明构思,本申请实施例中提供的数据处理装置解决问题的原理与有益效果与本申请方法实施例中数据处理方法解决问题的原理和有益效果相似,可以参见方法的实施的原理和有益效果,为简洁描述,在这里不再赘述。
请参见图16,图16示出了本申请一个示例性实施例提供的一种数据处理设备的结构示意图,该数据处理设备可以是图1所示的数据处理系统中的服务器102;该数据处理设备至少包括处理器1601、通信接口1602和存储器1603。其中,处理器1601、通信接口1602和存储器1603可通过总线或其他方式连接,本申请实施例以通过总线连接为例。其中,处理器1601(或称中央处理器(Central Processing Unit,CPU))是数据处理设备的计算核心以及控制核心,其可以解析数据处理设备内的各类指令以及处理数据处理设备的各类数据。通信接口1602可选的可以包括标准的有线接口、无线接口(如WI-FI、移动通信接口等),受处理器1601的控制可以用于收发数据;通信接口1602还可以用于数据处理设备内部数据的传输以及交互。存储器1603(Memory)是数据处理设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的存储器1603既可以包括数据处理设备的内置存储器,当然也可以包括数据处理设备所支持的扩展存储器。存储器1603提供存储空间,该存储空间存储了数据处理设备的操作系统,可包括但不限于:Android系统、iOS系统、Windows Phone系统等等,本申请对此并不作限定。
在本申请实施例中,处理器1601通过运行存储器1603中的可执行程序代码,执行如下操作:
获取需求数据,需求数据包括被测业务的业务路径及业务路径下的业务操作步骤;
根据需求数据构建有向图,有向图包括业务节点和边,业务节点用于表示被测业务中的业务操作步骤,边用于表示被测业务中的业务操作步骤之间的跳转逻辑;
从有向图中探索得到目标用例路径,目标用例路径用于表示被测业务的一个业务操作序列;
从目标用例路径中提取目标用例步骤,目标用例步骤用于生成与目标用例路径相对应的目标测试用例。
在一种实施方式中,被测业务包括N个业务操作步骤;有向图包括N个业务节点;处理器1601根据需求数据构建有向图的具体实施方式为:
将被测业务的第i个业务操作步骤确定为有向图中的第i个业务节点,将被测业务的第j个业务操作步骤确定为有向图中的第j个业务节点;
以及,将第i个业务操作步骤与第j个业务操作步骤之间的跳转逻辑确定为有向图中第i个业务节点与第j个业务节点之间的边;
根据确定的业务节点和确定的边构建有向图;
其中,N为大于1的整数,i、j均为正整数,并且i≤N,j≤N。
在一种实施方式中,处理器1601从目标用例路径中提取目标用例步骤的具体实施方式为:
从目标用例路径表示的业务操作序列中提取一组或多组组合步骤;
将一组或多组组合步骤形成的序列确定为目标用例步骤;
其中,任一组组合步骤用于表示被测业务中的用户与被测业务之间的一个界面交互行为,任一组组合步骤包括第一业务操作步骤和第二业务操作步骤,第一业务操作步骤是指由被测业务向用户提供交互界面的步骤,第二业务操作步骤是指由用户在交互界面中产生交互行为,并由被测业务对交互行为进行感知反馈的步骤。
在一种实施方式中,处理器1601通过运行存储器1603中的可执行程序代码,还执行如下操作:
遍历有向图中的业务节点,得到用例路径集合,用例路径集合中包含至少一条用例路径,每一条用例路径分别用于表示被测业务的一个业务操作序列;目标用例路径是用例路径集合中的任一条;
其中,用例路径集合中的用例路径的类型包括主用例路径或关键用例路径。
在一种实施方式中,业务路径包括基本业务路径,基本业务路径包含M个业务操作步骤,M为正整数;目标用例路径的用例类型是主用例路径;有向图还包括起始节点和结束节点;处理器1601从有向图中探索得到目标用例路径的具体实施方式为:
从起始节点开始,按照基本业务路径下的M个业务操作步骤的执行顺序,依次遍历有向图中的M个业务节点,直至结束节点停止;M个业务节点与基本业务路径下的M个业务操作步骤一一对应;
将穿过起始节点、M个业务节点以及结束节点的遍历路径确定为目标用例路径。
在一种实施方式中,目标用例路径的用例类型是关键用例路径;有向图还包括起始节点和结束节点;处理器1601从有向图中探索得到目标用例路径的具体实施方式为:
在有向图中确定目标关键业务节点;
采用最短路径图遍历算法在有向图中遍历查找起始节点与目标关键业务节点之间的第一路径;以及,在有向图中遍历查找目标关键业务节点与结束节点之间的第二路径;
将第一路径与第二路径拼接形成的路径确定为目标用例路径。
在一种实施方式中,处理器1601在有向图中遍历查找目标关键业务节点与结束节点之间的第二路径的具体实施方式为:
若目标关键业务节点的类型为第一类型,则在有向图中探索得到主用例路径,沿结束节点的方向在有向图中探索从目标关键业务节点返回至主用例路径,并沿主用例路径到达结束节点的第二路径;
或者,若目标关键业务节点的类型为第一类型,采用最短路径图遍历算法在有向图中遍历查找目标关键业务节点与结束节点之间的第二路径;
或者,若目标关键业务节点的类型为第二类型,则将目标关键业务节点与结束节点相连接形成的路径确定为第二路径;
其中,若目标关键业务节点用于表示由被测业务的用户在交互界面中产生交互行为,并由被测业务对交互行为进行感知反馈的业务操作步骤,则目标关键业务节点的类型为第一类型;若目标关键业务节点用于表示由被测业务向用户提供交互界面的业务操作步骤,则目标关键业务节点的类型为第二类型。
在一种实施方式中,用例路径集合包括第一用例路径集合和第二用例路径集合,第一用例路径集合和第二用例路径集合中均包含一条或多条用例路径,其中,第一用例路径集合中的用例路径用于生成验证业务操作行为的测试用例,第二用例路径集合中的用例路径用于生成验证业务规则的测试用例;处理器1601通过运行存储器1603中的可执行程序代码,还执行如下操作:
对第一用例路径集合和第二用例路径集合进行优化处理。
在一种实施方式中,处理器1601对第一用例路径集合和第二用例路径集合进行优化处理的具体实施方式为:
若第一用例路径集合与第二用例路径集合包含相同的用例路径,则在第一用例路径集合中删除相同的用例路径。
在一种实施方式中,处理器1601通过运行存储器1603中的可执行程序代码,还执行如下操作:
根据目标用例步骤生成目标测试用例;
采用目标测试用例对被测业务执行测试,得到测试结果。
在一种实施方式中,处理器1601获取需求数据的具体实施方式为:
获取需求描述文档,需求描述文档用于描述被测业务的业务操作流程,且需求描述文档为第一格式的文档;
对需求描述文档进行解析,得到需求数据,需求数据为第二格式的数据。
基于同一发明构思,本申请实施例中提供的数据处理设备解决问题的原理与有益效果与本申请方法实施例中数据处理方法解决问题的原理和有益效果相似,可以参见方法的实施的原理和有益效果,为简洁描述,在这里不再赘述。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,该计算机程序适于由处理器加载并执行上述方法实施例的数据处理方法。
本申请实施例还提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述数据处理的方法。
需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本申请实施例装置中的模块可以根据实际需要进行合并、划分和删减。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,可读存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
以上所揭露的仅为本申请一种较佳实施例而已,当然不能以此来限定本申请之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本申请权利要求所作的等同变化,仍属于申请所涵盖的范围。

Claims (13)

1.一种数据处理方法,其特征在于,所述方法包括:
获取需求数据,所述需求数据包括被测业务的业务路径及所述业务路径下的业务操作步骤;
根据所述需求数据构建有向图,所述有向图包括业务节点和边,所述有向图还包括起始节点和结束节点;所述业务节点用于表示所述被测业务中的业务操作步骤,所述边用于表示所述被测业务中的业务操作步骤之间的跳转逻辑;
从所述有向图中探索得到目标用例路径,所述目标用例路径用于表示所述被测业务的一个业务操作序列,所述目标用例路径的类型包括主用例路径或关键用例路径;
从所述目标用例路径中提取目标用例步骤,所述目标用例步骤用于生成与所述目标用例路径相对应的目标测试用例;
其中,当所述目标用例路径的类型是所述关键用例路径时,所述从所述有向图中探索得到目标用例路径,包括:在所述有向图中确定目标关键业务节点;采用最短路径图遍历算法在所述有向图中遍历查找所述起始节点与所述目标关键业务节点之间的第一路径;以及,在所述有向图中遍历查找所述目标关键业务节点与所述结束节点之间的第二路径;将所述第一路径与所述第二路径拼接形成的路径确定为所述目标用例路径;
所述在所述有向图中遍历查找所述目标关键业务节点与所述结束节点之间的第二路径,包括:若所述目标关键业务节点的类型为第一类型,则在所述有向图中探索得到主用例路径,沿所述结束节点的方向在所述有向图中探索从所述目标关键业务节点返回至所述主用例路径,并沿所述主用例路径到达所述结束节点的第二路径;若所述目标关键业务节点的类型为第二类型,则将所述目标关键业务节点与所述结束节点相连接形成的路径确定为所述第二路径;
若所述目标关键业务节点用于表示由所述被测业务的用户在交互界面中产生交互行为,并由所述被测业务对所述交互行为进行感知反馈的业务操作步骤,则所述目标关键业务节点的类型为所述第一类型;若所述目标关键业务节点用于表示由所述被测业务向所述用户提供所述交互界面的业务操作步骤,则所述目标关键业务节点的类型为所述第二类型。
2.如权利要求1所述的方法,其特征在于,所述被测业务包括N个业务操作步骤;所述有向图包括N个业务节点;所述根据所述需求数据构建有向图,包括:
将所述被测业务的第i个业务操作步骤确定为所述有向图中的第i个业务节点,将所述被测业务的第j个业务操作步骤确定为所述有向图中的第j个业务节点;以及,
将所述第i个业务操作步骤与所述第j个业务操作步骤之间的跳转逻辑确定为所述有向图中所述第i个业务节点与所述第j个业务节点之间的边;
根据确定的业务节点和确定的边构建所述有向图;
其中,N为大于1的整数,i、j均为正整数,并且i≤N,j≤N。
3.如权利要求1所述的方法,其特征在于,所述从所述目标用例路径中提取目标用例步骤,包括:
从所述目标用例路径表示的所述业务操作序列中提取一组或多组组合步骤;
将所述一组或多组组合步骤形成的序列确定为所述目标用例步骤;
其中,任一组所述组合步骤用于表示所述被测业务中的用户与所述被测业务之间的一个界面交互行为,任一组所述组合步骤包括第一业务操作步骤和第二业务操作步骤,所述第一业务操作步骤是指由所述被测业务向所述用户提供交互界面的步骤,所述第二业务操作步骤是指由所述用户在所述交互界面中产生交互行为,并由所述被测业务对所述交互行为进行感知反馈的步骤。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
遍历所述有向图中的业务节点,得到用例路径集合,所述用例路径集合中包含至少一条用例路径,每一条用例路径分别用于表示所述被测业务的一个业务操作序列;所述目标用例路径是所述用例路径集合中的任一条;
其中,所述用例路径集合中的用例路径的类型包括主用例路径或关键用例路径。
5.如权利要求4所述的方法,其特征在于,所述业务路径包括基本业务路径,所述基本业务路径包含M个业务操作步骤,M为正整数;当所述目标用例路径的类型是所述主用例路径时,所述从所述有向图中探索得到目标用例路径,包括:
从所述起始节点开始,按照所述基本业务路径下的所述M个业务操作步骤的执行顺序,依次遍历所述有向图中的M个业务节点,直至所述结束节点停止;所述M个业务节点与所述基本业务路径下的所述M个业务操作步骤一一对应;
将穿过所述起始节点、所述M个业务节点以及所述结束节点的遍历路径确定为所述目标用例路径。
6.如权利要求4所述的方法,其特征在于,所述用例路径集合包括第一用例路径集合和第二用例路径集合,所述第一用例路径集合和所述第二用例路径集合中均包含一条或多条用例路径,其中,所述第一用例路径集合中的用例路径用于生成验证业务操作行为的测试用例,所述第二用例路径集合中的用例路径用于生成验证业务规则的测试用例;所述方法还包括:
对所述第一用例路径集合和所述第二用例路径集合进行优化处理。
7.如权利要求6所述的方法,其特征在于,所述对所述第一用例路径集合和所述第二用例路径集合进行优化处理,包括:
若所述第一用例路径集合与所述第二用例路径集合包含相同的用例路径,则在所述第一用例路径集合中删除所述相同的用例路径。
8.如权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述目标用例步骤生成目标测试用例;
采用所述目标测试用例对所述被测业务执行测试,得到测试结果。
9.如权利要求1所述的方法,其特征在于,所述获取需求数据,包括:
获取需求描述文档,所述需求描述文档用于描述所述被测业务的业务操作流程,且所述需求描述文档为第一格式的文档;
对所述需求描述文档进行解析,得到所述需求数据,所述需求数据为第二格式的数据。
10.一种数据处理装置,其特征在于,所述数据处理装置包括:
获取单元,用于获取需求数据,所述需求数据包括被测业务的业务路径及所述业务路径下的业务操作步骤;
处理单元,用于根据所述需求数据构建有向图,所述有向图包括业务节点和边,所述有向图还包括起始节点和结束节点;所述业务节点用于表示所述被测业务中的业务操作步骤,所述边用于表示所述被测业务中的业务操作步骤之间的跳转逻辑;从所述有向图中探索得到目标用例路径,所述目标用例路径用于表示所述被测业务的一个业务操作序列,所述目标用例路径的类型包括主用例路径或关键用例路径;以及,从所述目标用例路径中提取目标用例步骤,所述目标用例步骤用于生成与所述目标用例路径相对应的目标测试用例;
其中,当所述目标用例路径的类型是所述关键用例路径时,所述从所述有向图中探索得到目标用例路径,包括:在所述有向图中确定目标关键业务节点;采用最短路径图遍历算法在所述有向图中遍历查找所述起始节点与所述目标关键业务节点之间的第一路径;以及,在所述有向图中遍历查找所述目标关键业务节点与所述结束节点之间的第二路径;将所述第一路径与所述第二路径拼接形成的路径确定为所述目标用例路径;
所述在所述有向图中遍历查找所述目标关键业务节点与所述结束节点之间的第二路径,包括:若所述目标关键业务节点的类型为第一类型,则在所述有向图中探索得到主用例路径,沿所述结束节点的方向在所述有向图中探索从所述目标关键业务节点返回至所述主用例路径,并沿所述主用例路径到达所述结束节点的第二路径;若所述目标关键业务节点的类型为第二类型,则将所述目标关键业务节点与所述结束节点相连接形成的路径确定为所述第二路径;
若所述目标关键业务节点用于表示由所述被测业务的用户在交互界面中产生交互行为,并由所述被测业务对所述交互行为进行感知反馈的业务操作步骤,则所述目标关键业务节点的类型为所述第一类型;若所述目标关键业务节点用于表示由所述被测业务向所述用户提供所述交互界面的业务操作步骤,则所述目标关键业务节点的类型为所述第二类型。
11.一种数据处理设备,其特征在于,所述数据处理设备包括:
处理器,适于实现计算机程序;以及,
计算机可读存储介质,所述计算机可读存储介质存储有所述计算机程序,所述计算机程序适于由所述处理器加载并执行如权利要求1至9任一项所述的数据处理方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机程序,所述计算机程序适于由处理器加载并执行如权利要求1至9任一项所述的数据处理方法。
13.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机指令,所述计算机指令被计算机设备的处理器读取并执行时,使得所述计算机设备执行如权利要求1至9任一项所述的数据处理方法。
CN202110015893.7A 2021-01-06 2021-01-06 一种数据处理方法、装置、设备及存储介质 Active CN114721932B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110015893.7A CN114721932B (zh) 2021-01-06 2021-01-06 一种数据处理方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110015893.7A CN114721932B (zh) 2021-01-06 2021-01-06 一种数据处理方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN114721932A CN114721932A (zh) 2022-07-08
CN114721932B true CN114721932B (zh) 2024-04-09

Family

ID=82234881

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110015893.7A Active CN114721932B (zh) 2021-01-06 2021-01-06 一种数据处理方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN114721932B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116701524B (zh) * 2023-08-07 2024-02-27 腾讯科技(深圳)有限公司 一种操作路径树的构建方法、装置、电子设备及存储介质

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004107087A2 (en) * 2003-05-29 2004-12-09 Flextronics Design Limited Generating test cases
CN105022691A (zh) * 2015-07-22 2015-11-04 国家电网公司 一种基于uml图的高度自动化软件测试方法
CN105068928A (zh) * 2015-08-04 2015-11-18 中国人民解放军理工大学 一种基于复杂网络理论的软件测试用例生成方法
CN108073519A (zh) * 2018-01-31 2018-05-25 百度在线网络技术(北京)有限公司 测试用例生成方法和装置
CN108459967A (zh) * 2018-03-21 2018-08-28 东南大学 基于用户接口状态流图的Web应用测试用例生成方法
CN109117363A (zh) * 2018-06-28 2019-01-01 腾讯科技(深圳)有限公司 一种测试用例生成方法、装置及服务器
CN109901984A (zh) * 2017-12-08 2019-06-18 北京京东尚科信息技术有限公司 生成大数据测试用例的方法和装置
CN109992498A (zh) * 2017-12-29 2019-07-09 北京京东尚科信息技术有限公司 测试用例的生成方法及系统、计算机系统
CN110008117A (zh) * 2019-03-12 2019-07-12 深圳壹账通智能科技有限公司 页面测试方法、装置、计算机设备和存储介质
CN110389894A (zh) * 2019-05-27 2019-10-29 南京祖母绿智能科技有限公司 测试用例生成的方法和装置
CN111897739A (zh) * 2020-08-21 2020-11-06 四川长虹电器股份有限公司 一种基于优化后深度优先算法的测试用例生成方法
WO2020253112A1 (zh) * 2019-06-19 2020-12-24 深圳壹账通智能科技有限公司 测试策略的获取方法、装置、终端及可读存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8589884B2 (en) * 2009-01-15 2013-11-19 Infosys Limited Method and system for identifying regression test cases for a software
US8819642B2 (en) * 2012-05-17 2014-08-26 Cognizant Technology Solutions India Pvt. Ltd. Method and system for generating and processing black box test cases
US10223246B2 (en) * 2012-07-30 2019-03-05 Infosys Limited System and method for functional test case generation of end-to-end business process models
US8949795B2 (en) * 2012-08-23 2015-02-03 International Business Machines Corporation Generating test cases for covering enterprise rules and predicates

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004107087A2 (en) * 2003-05-29 2004-12-09 Flextronics Design Limited Generating test cases
CN105022691A (zh) * 2015-07-22 2015-11-04 国家电网公司 一种基于uml图的高度自动化软件测试方法
CN105068928A (zh) * 2015-08-04 2015-11-18 中国人民解放军理工大学 一种基于复杂网络理论的软件测试用例生成方法
CN109901984A (zh) * 2017-12-08 2019-06-18 北京京东尚科信息技术有限公司 生成大数据测试用例的方法和装置
CN109992498A (zh) * 2017-12-29 2019-07-09 北京京东尚科信息技术有限公司 测试用例的生成方法及系统、计算机系统
CN108073519A (zh) * 2018-01-31 2018-05-25 百度在线网络技术(北京)有限公司 测试用例生成方法和装置
CN108459967A (zh) * 2018-03-21 2018-08-28 东南大学 基于用户接口状态流图的Web应用测试用例生成方法
CN109117363A (zh) * 2018-06-28 2019-01-01 腾讯科技(深圳)有限公司 一种测试用例生成方法、装置及服务器
CN110008117A (zh) * 2019-03-12 2019-07-12 深圳壹账通智能科技有限公司 页面测试方法、装置、计算机设备和存储介质
CN110389894A (zh) * 2019-05-27 2019-10-29 南京祖母绿智能科技有限公司 测试用例生成的方法和装置
WO2020253112A1 (zh) * 2019-06-19 2020-12-24 深圳壹账通智能科技有限公司 测试策略的获取方法、装置、终端及可读存储介质
CN111897739A (zh) * 2020-08-21 2020-11-06 四川长虹电器股份有限公司 一种基于优化后深度优先算法的测试用例生成方法

Also Published As

Publication number Publication date
CN114721932A (zh) 2022-07-08

Similar Documents

Publication Publication Date Title
JP7371141B2 (ja) リアルタイムデータフロープログラミング言語のためのツールおよび方法
US10839011B2 (en) Application programing interface document generator
US10769056B2 (en) System for autonomously testing a computer system
CN110944048B (zh) 业务逻辑配置方法及装置
US20140372963A1 (en) Method and apparatus for customized software development kit (sdk) generation
Ge et al. A data‐centric capability‐focused approach for system‐of‐systems architecture modeling and analysis
CN113641591B (zh) 测试用例生成方法及装置、测试方法及装置
CN112711526A (zh) Ui测试方法、装置、设备及存储介质
CN110928763A (zh) 测试方法、装置、存储介质及计算机设备
US10079738B1 (en) Using a network crawler to test objects of a network document
Ravulavaru Google Cloud AI Services Quick Start Guide: Build Intelligent Applications with Google Cloud AI Services
CN114721932B (zh) 一种数据处理方法、装置、设备及存储介质
CN112199261A (zh) 应用程序性能分析方法及装置、电子设备
CN114168149A (zh) 一种数据转换方法及装置
US10275462B2 (en) Automatic translation of string collections
US9934002B2 (en) Technology recommendation for software environment
Dong et al. A blockchain-based decentralized booking system
CN114721930A (zh) 一种数据处理方法、装置、设备及介质
KR20200103133A (ko) 하둡 기반의 빅데이터 시스템에서 etl 절차를 수행하는 방법 및 장치
Shrivastava Learning Salesforce Einstein
CN114721931B (zh) 一种数据处理方法、装置、设备及存储介质
US11675838B2 (en) Automatically completing a pipeline graph in an internet of things network
Danylov Methodology for improving programs based on means of code generation by artificial intelligence
Ayezabu Supabase vs Firebase: Evaluation of performance and development of Progressive Web Apps
Volk et al. Towards an Automatized Way for Modeling Big Data System Architectures

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