CN114003492A - 需求测试一体化生成方法及装置 - Google Patents

需求测试一体化生成方法及装置 Download PDF

Info

Publication number
CN114003492A
CN114003492A CN202111237359.7A CN202111237359A CN114003492A CN 114003492 A CN114003492 A CN 114003492A CN 202111237359 A CN202111237359 A CN 202111237359A CN 114003492 A CN114003492 A CN 114003492A
Authority
CN
China
Prior art keywords
case
demand
input
test
name
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
Application number
CN202111237359.7A
Other languages
English (en)
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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202111237359.7A priority Critical patent/CN114003492A/zh
Publication of CN114003492A publication Critical patent/CN114003492A/zh
Pending legal-status Critical Current

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

需求测试一体化生成方法及装置
技术领域
本公开涉及云计算技术领域,具体涉及软件测试领域,更具体地涉及一种需求测试一体化生成方法及装置。
背景技术
随着市场竞争的日趋激烈,对新产品研发的效率要求也越来越高,快速设计覆盖测试内容的测试案例是提升研发效率的关键一步。传统的测试设计方法需要花费较多时间设计测试内容,需求与测试设计尚未有效结合,需求端与测试端的设计结构异步进行,无法保障测试覆盖程度。如何提高需求与测试的设计效率和质量,智能衔接需求与测试,是目前亟需解决的技术问题。
发明内容
针对现有技术的上述不足,本公开提供一种需求测试一体化生成方法及装置,依托业务架构将需求阶段的输出物结构化解析,并作为测试阶段的输入,从而利用需求内容高效智能地生成测试案例,节约人工成本,提升业务研发效能。
根据本公开的第一个方面,提供了一种需求测试一体化生成方法,包括:响应于预先输入的一需求用例的数据结构,识别一需求用例的前置条件、业务规则和错误处理,将前置条件的类别、业务规则的简称和错误处理的类别分别赋值给各个测试案例的案例名称,将前置条件的内容、业务规则的规则描述和错误处理的内容分别赋值给与各个案例名称对应的规则要素数据;识别一需求用例的输入输出信息,判断输入输出信息是否为字典值形式,如果是,则将案例名称自动赋值为预设案例名称,将字典值形式经过要素组合后的输出结果赋值给与预设案例名称对应的规则要素数据;判断赋值后的各个案例名称是否来源于前置条件,如果是,则识别一需求用例的流程描述,将流程描述的第一步骤赋值给与案例名称对应的检查项;否则,识别一需求用例的后置条件,将后置条件赋值给与案例名称对应的检查项;将流程描述赋值给各个案例名称对应的步骤说明,生成各个测试案例的数据结构。
根据本公开的实施例,响应于预先输入的一需求用例的数据结构的步骤之前,还包括:搭建包括业务领域、价值流、活动和任务的流程模型;在流程模型中的任务层级,设置包括前置条件、流程描述、错误处理、后置条件的业务流程,设置业务规则、输入输出信息,搭建需求用例数据结构;搭建包括案例名称、规则要素数据、检查项和步骤说明的测试案例数据结构。
根据本公开的实施例,响应于预先输入的一需求用例的数据结构,还包括:在流程模型中的业务领域层级,输入需求项内容;在流程模型中的活动层级,输入需求用例名称;根据需求用例名称,识别与一需求用例对应的各个测试案例的业务场景。
根据本公开的实施例,判断输入输出信息是否为字典值形式,还包括:如果否,将输入输出信息生成一反例构成字典值形式。
根据本公开的实施例,将输入输出信息生成一反例构成字典值形式,包括:采用等价类划分方法,将输入输出信息自动生成一反例构成字典值形式。
根据本公开的实施例,预设案例名称为自动生成案例,要素组合采取全排列组合算法或pairwise双态组合算法,全排列组合算法包括笛卡尔积全态组合算法。
根据本公开的实施例,生成各个测试案例的数据结构的步骤之前,还包括:对各个测试案例预设不同程度的风险系数。
根据本公开的实施例,各个测试案例按照案例名称的来源于前置条件、业务规则、错误处理、输入输出信息,依次进行排列。
本公开的第二方面提供了一种需求测试一体化生成装置,包括:案例名称赋值模块,用于响应于预先输入的一需求用例的数据结构,识别一需求用例的前置条件、业务规则和错误处理,将前置条件的类别、业务规则的简称和错误处理的类别分别赋值给各个测试案例的案例名称,将前置条件的内容、业务规则的规则描述和错误处理的内容分别赋值给与各个案例名称对应的规则要素数据;输入输出赋值模块,用于识别一需求用例的输入输出信息,判断输入输出信息是否为字典值形式,如果是,则将案例名称自动赋值为预设案例名称,将字典值形式经过要素组合后的输出结果赋值给与预设案例名称对应的规则要素数据;检查项赋值模块,用于判断赋值后的各个案例名称是否来源于前置条件,如果是,则识别一需求用例的流程描述,将流程描述的第一步骤赋值给与案例名称对应的检查项;否则,识别一需求用例的后置条件,将后置条件赋值给与案例名称对应的检查项;以及案例生成模块,用于将流程描述赋值给各个案例名称对应的步骤说明,生成各个测试案例的数据结构。
根据本公开的实施例,案例名称赋值模块之前,还包括:流程模型搭建模块,用于搭建包括业务领域、价值流、活动和任务的流程模型;需求用例搭建模块,用于在流程模型中的任务层级,设置包括前置条件、流程描述、错误处理、后置条件的业务流程,设置业务规则、输入输出信息,搭建需求用例数据结构;以及测试案例搭建模块,用于搭建包括案例名称、规则要素数据、检查项和步骤说明的测试案例数据结构。
本公开的第三方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得一个或多个处理器执行上述需求测试一体化生成方法。
本公开的第四方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述需求测试一体化生成方法。
本公开的第五方面还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述需求测试一体化生成方法。
与现有技术相比,本公开提供的需求测试一体化生成方法及装置,至少具有以下有益效果:
本公开依托业务架构方法论,将需求阶段的输入完成结构化解析,从而输出测试阶段的有效测试案例设计,在测试阶段不必重复输入需求文档中需要测试的内容,并且通过系统智能完成测试识别与设计,大幅提升测试案例设计的覆盖效果与设计效率,压缩测试设计的时间与人力成本,从而提高了产品研发流程的整体效率。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的需求测试一体化生成方法及装置的系统架构;
图2示意性示出了根据本公开实施例的需求测试一体化生成方法的流程图;
图3示意性示出了根据本公开实施例的模型搭建过程的流程图;
图4示意性示出了根据本公开实施例的需求用例输入过程的流程图;
图5示意性示出了根据本公开实施例的模型搭建好的树形结构图;
图6示意性示出了根据本公开实施例的输入输出信息判断过程的流程图;
图7示意性示出了根据本公开实施例的需求测试一体化生成方法的操作流程图;
图8示意性示出了根据本公开一具体实施例在资金交易业务领域的测试案例生成过程;
图9示意性示出了根据本公开实施例的需求测试一体化生成装置的框图;
图10示意性示出了根据本公开实施例的模型搭建过程的框图;以及
图11示意性示出了根据本公开实施例的适于实现需求测试一体化生成方法的电子设备的方框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
在本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。
本公开的实施例提供一种需求测试一体化生成方法、装置、设备、存储介质和程序产品,涉及云计算以及软件测试技术领域。该方法包括:响应于预先输入的一需求用例的数据结构,识别一需求用例的前置条件、业务规则和错误处理,将前置条件的类别、业务规则的简称和错误处理的类别分别赋值给各个测试案例的案例名称,将前置条件的内容、业务规则的规则描述和错误处理的内容分别赋值给与各个案例名称对应的规则要素数据;识别一需求用例的输入输出信息,判断输入输出信息是否为字典值形式,如果是,则将案例名称自动赋值为预设案例名称,将字典值形式经过要素组合后的输出结果赋值给与预设案例名称对应的规则要素数据;判断赋值后的各个案例名称是否来源于前置条件,如果是,则识别一需求用例的流程描述,将流程描述的第一步骤赋值给与案例名称对应的检查项;否则,识别一需求用例的后置条件,将后置条件赋值给与案例名称对应的检查项;将流程描述赋值给各个案例名称对应的步骤说明,生成各个测试案例的数据结构。
图1示意性示出了根据本公开实施例的适于需求测试一体化生成方法及装置的系统架构100。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,根据该实施例的系统架构100可以为流程模型101,具体包括业务领域102、价值流103、活动104和任务105这四个层级,这四个层级逐级由浅入深,逐级深入。
本方法主要依托于流程模型101,以流程模型101中的业务领域、价值流、活动及任务为基本标准架构,对需求与测试进行结构化设计、编辑与存储。
其中,流程模型101是通过标准化、结构化的模型语言描述银行业务执行的过程,体现银行为满足内外部需求,按照一定的流程、规则处理并加工资源、交付价值的过程。
业务领域102为流程模型101的第一级,体现企业整体价值创造过程,是银行服务能力的表现,分为产品领域和管理领域两类。价值流103是流程模型101的第二级,是对业务领域102如何创造价值的一种相对高阶的描述,便于快速了解该业务领域的运作过程。活动104是流程模型101的第三级,是由事件触发,为满足干系人需求或特定业务目的的与干系人之间的交互过程,描述端到端完整的业务流程。任务105是流程模型101的第四级,是三级活动的主要组成单元,是一个角色在一定时间内执行的,具备明确的业务目的的步骤集合。
以下将基于图1描述的系统架构,通过图2~图8对公开实施例的需求测试一体化生成方法进行详细描述。
图2示意性示出了根据本公开实施例的需求测试一体化生成方法的流程图。
如图2所示,该实施例的需求测试一体化生成方法包括操作S210~操作S240。
在操作S210,响应于预先输入的一需求用例的数据结构,识别一需求用例的前置条件、业务规则和错误处理,将前置条件的类别、业务规则的简称和错误处理的类别分别赋值给各个测试案例的案例名称,将前置条件的内容、业务规则的规则描述和错误处理的内容分别赋值给与各个案例名称对应的规则要素数据。
在操作S220,识别一需求用例的输入输出信息,判断输入输出信息是否为字典值形式,如果是,则将案例名称自动赋值为预设案例名称,将字典值形式经过要素组合后的输出结果赋值给与预设案例名称对应的规则要素数据。
在操作S230,判断赋值后的各个案例名称是否来源于前置条件,如果是,则识别一需求用例的流程描述,将流程描述的第一步骤赋值给与案例名称对应的检查项;否则,识别一需求用例的后置条件,将后置条件赋值给与案例名称对应的检查项。
在操作S240,将流程描述赋值给各个案例名称对应的步骤说明,生成各个测试案例的数据结构。
通过本公开的实施例,将需求阶段与测试阶段的输出物完成结构化解析,利用结构化的解析结果,智能生成可以指导执行的测试案例,从而高效智能地形成测试案例,节约人工成本,提升业务研发效能。
图3示意性示出了根据本公开实施例的模型搭建过程的流程图。
如图3所示,在上述操作S10的响应于预先输入的一需求用例的数据结构的步骤之前,还可以包括操作S310~操作S330。
在操作S310,搭建包括业务领域、价值流、活动和任务的流程模型。
该流程模型可以按照图1所示的流程模型101进行搭建,形成四层级结构。
在操作S320,在流程模型中的任务层级,设置包括前置条件、流程描述、错误处理、后置条件的业务流程,设置业务规则、输入输出信息,搭建需求用例数据结构。
本操作为需求用例数据结构的搭建过程,需求用例用于具体描述一个用例的基本信息完整流程和业务规则等内容。需求用例作为本方法的输入信息,主要包括业务流程、业务规则和输入输出信息。
其中,业务流程用于描述用例承载内容的工作流,具体可以包括前置条件、流程描述、错误处理和后置条件。前置条件是指开始执行需求用例之前必须满足的先决条件。流程描述通常的表现形式是人机交互步骤,它展示了角色与系统之间的交互顺序,是一个从前置条件向后置条件流动的对话。错误处理用于描述“错误流”,也称异常,主要是指潜在的阻止用例成功执行的条件。后置条件用于描述在需求用例执行完成后的一个或多个系统状态。
业务规则用于描述用例对业务逻辑和约束的描述,是用于维持业务结构或控制和影响业务的行为。输入输出信息用于概括出当前字段承载信息,如果涉及字典值形式,应在此项信息内加以标记说明。
在操作S330,搭建包括案例名称、规则要素数据、检查项和步骤说明的测试案例数据结构。
本操作为测试案例数据结构的搭建过程,测试案例是在测试分析设计过程中输出的对测试点进行合理的步骤及数据的设计从而对IT系统进行验证和核实的可交付成果。
测试案例的数据结构主要包括案例名称、规则要素数据、检查项和步骤说明,该测试案例根据前述输入的需求用例数据结构进行自动生成。
其中,规则要素数据分别包括规则信息、要素信息和数据设计信息。规则信息针对业务功能需要遵循的安全性、易用性、性能、兼容性的业务规则进行分析。要素信息为可能对业务功能执行结果产生影响的要素及取值。数据设计信息包括选择算法生成要素组合。
检查项用以明确每一种业务功能执行结果的检查核对内容,可在案例执行完毕后进行预期结果的检查确认。步骤说明是指对需要补充步骤内容的测试案例进行步骤设计,用于辅助执行人员更好的根据界面内容测试。
根据前述已经创建好的需求用例数据结构,用户可以输入完整的结构化的需求用例。
图4示意性示出了根据本公开实施例的需求用例输入过程的流程图。
如图4所示,在上述操作S10的响应于预先输入的一需求用例的数据结构,还可以包括操作S410~操作S430。
在操作S410,在流程模型中的业务领域层级,输入需求项内容。
在操作S420,在流程模型中的活动层级,输入需求用例名称。
在操作S430,根据需求用例名称,识别与一需求用例对应的各个测试案例的业务场景。
由此,根据需求用例在活动层级的输入信息,可以直接确认出该需求用例需要进行测试执行所适用的业务场景。
图5示意性示出了根据本公开实施例的模型搭建好的树形结构图。
如图5所示,可以看出需求用例与测试案例之间的结构与直观的对应关系。本公开的实施例结合业务架构中的四层级流程模型,将需求用例与测试案例之间建立了同等颗粒度的设计工具,从而解决了需求与测试之间关联性识别的问题。
以需求阶段为例,通过系统工具建立需求用例对标活动,需求用例的详细规则、流程等对标任务的树形结构关系。以测试阶段为例,建立业务场景对标活动,测试案例的详细规则、流程等对标任务的树形结构关系。由此,建立一套基于业务架构的统一描述,为智能输出测试案例提供基础。
本公开实施例中,判断输入输出信息是否为字典值形式,还包括:如果否,将输入输出信息生成一反例构成字典值形式。为了便于理解,以下结合附图6对该输入输出信息判断过程进行说明。
图6示意性示出了根据本公开实施例的输入输出信息判断过程的流程图。
如图6所示,上述操作S220的输入输出信息判断过程可以包括操作S2201~操作S2205。
在操作S2201,识别一需求用例的输入输出信息。
在操作S2202,判断输入输出信息是否为字典值形式,如果是,则进入操作S2204,否则,则进入操作S2203。
在操作S2203,将输入输出信息生成一反例构成字典值形式,然后进入操作S2204。
在操作S2204,将案例名称自动赋值为预设案例名称,将字典值形式经过要素组合后的输出结果赋值给与预设案例名称对应的规则要素数据。
由此,本公开实施例将输入输出信息统一转化为字典值形式,经过要素组合,形成排列组合结果,以供生成较为全面完整的规则要素数据。
进一步地,本公开实施例中,将输入输出信息生成一反例构成字典值形式,包括:采用等价类划分方法,将输入输出信息自动生成一反例构成字典值形式。等价类划分法把程序的输入域划分为若干部分,然后从每个部分中选取少量具有代表性数据当作测试用例,每一类的代表性数据在测试中的作用等价于这一类中的其他值。
本公开实施例中,预设案例名称为自动生成案例,要素组合采取全排列组合算法或pairwise双态组合算法,全排列组合算法包括笛卡尔积全态组合算法。为了便于区分,可以普遍采用全排列组合算法。若要素及其字典值形式较多,可以采取pairwise双态组合算法,提升组合效率。
此处设置预设案例名称为自动生成案例,主要是为了将该预设案例名称与前述通过前置条件的类别、业务规则的简称和错误处理的类别赋值后的案例名称进行显著区别。
本公开实施例中,生成各个测试案例的数据结构的步骤之前,还包括:对各个测试案例预设不同程度的风险系数。风险系数的设置为每个测试案例预先定义了风险等级,便于指导测试执行。
图7示意性示出了根据本公开实施例的需求测试一体化生成方法的操作流程图。
如图7所示,更加直观地描述了本公开实施例的测试案例的自动生成过程。在输入完整的结构化需求用例之后,可以并行地识别需求用例的前置条件、业务规则和错误处理,分别将前置条件的类别、业务规则的简称和错误处理的类别赋值分别赋值给各个测试案例的案例名称,相应地,对应于每个测试案例的案例名称,将前置条件的内容、业务规则的规则描述和错误处理的内容分别赋值给与各个案例名称对应的规则要素数据。
针对识别出的需求用例的输入输出信息,则对该输入输出信息进行是否为字典值形成的判断,在不是字典值形式时通过生成反例转换为字典值形成。然后,将案例名称自动赋值为预设案例名称,将字典值形式经过要素组合后的输出结果赋值给与预设案例名称对应的规则要素数据。
针对各个测试案例的检查项,通过判断每个测试案例是否来源于前置条件,分别进行两种不同形式的赋值。如果来源于前置条件,则将该测试案例的检查项设置为需求用例的流程描述的第一步骤。否则,将统一将测试案例的检查项设置为需求用例的后置条件。
最后,根据需求用例的流程描述,补充各个案例名称的步骤说明,再加上各个测试案例预设的风险系数,生成各个测试案例的数据结构。
通过本公开的实施例,在既定的业务架构下,输入完整的需求用例将直接指导测试案例的设计,即可智能化输出一组可直接用于执行的测试案例,从而将需求用例与测试案例进行一体化联动,提高了研发效率。
图8示意性示出了根据本公开一具体实施例在资金交易业务领域的测试案例生成过程。
如图8所示,在一具体实施例中,以业务领域为资金交易为例,首先需要用户按照需求用例的数据结构输入需求用例信息。展开来说,针对需求用例,在业务领域层级,对应输入需求项内容;在活动层级,输入需求用例名称;在任务层级,对应输入业务流程、业务规则和输入输出信息。其中,业务流程包括前置条件、流程描述、错误处理和后置条件。由于该具体实施例不涉及错误处理,因此省略该错误处理内容。由此,预先输入一个完整且结构化的需求用例。
根据需求用例与测试案例的映射关系,如图8所示智能输出一组测试案例。其中,前五行测试案例是通过前置条件和业务规则生成,输出案例名称、规则要素数据等,同时智能识别步骤说明的第一步或需求用例的后置条件,输出至测试案例的检查项。最后六条测试案例是通过需求用例的输入信息生成,组合了需求用例的输入信息及其字典值和后置条件,规则要素数据为组合计算的结构。同时,所有测试案例对应步骤说明,用于指导测试执行,其内容是通过需求用例的流程描述生成。
具体来说,在经过要素组合时,本具体实施例可以采取笛卡尔积全态组合算法。例如,要素A的取值集合为{a1,a2},要素B的取值集合为{b1,b2,b3},则智能输出6条测试案例,其集合可以展示为{(a1,b1)(a1,b2)(a1,b3)(a2,b1)(a2,b2)(a2,b3)},也就是说在测试执行阶段,需要覆盖以上6种组合才会覆盖全面的测试风险。例如图8,在需求用例中输入了“币种对”取值为“1-欧元/美元、2-美元/日元、3-英镑/美元”,“交易对手”取值为“白名单”,系统自动识别只有一个取值的要素并生成反例,即“交易对手”取值为“1-白名单,2-非白名单”,并将二者进行笛卡尔积全态组合算法,即输出六条测试案例,其组合分别为{(币种对=欧元/美元,交易对手=白名单),(币种对=美元/日元,交易对手=白名单),(币种对=英镑/美元,交易对手=白名单),(币种对=欧元/美元,交易对手=非白名单),(币种对=美元/日元,交易对手=非白名单),(币种对=英镑/美元,交易对手=非白名单)}。
若要素及其字典值较多,则采取pairwise双态组合算法,利用正交分析的测试技术,将要素两两组合并去除重复的两两组合情况,通过过滤大幅降低要素组合的结果数量,从而满足不可遍历功能点的测试场景,提升设计效率,由此将排列组合结果输出为测试案例的规则要素数据字段。
通过以上系统处理,智能化输出一系列可直接用于执行的测试案例,即图四测试阶段部分。
以上只是示例性说明,本实施例不限于此。例如,在一些实施例中,各个测试案例可以按照案例名称的来源于前置条件、业务规则、错误处理、输入输出信息,依次进行排列。将各个测试案例按顺序排列,便于指导测试执行,压缩测试设计的时间与人力成本。
基于上述需求测试一体化生成方法,本公开还提供了一种需求测试一体化生成装置。以下将结合图9~图10对该装置进行详细描述。
图9示意性示出了根据本公开实施例的需求测试一体化生成装置的框图。
如图9所示,该实施例的需求测试一体化生成装置900包括案例名称赋值模块910、输入输出赋值模块920、检查项赋值模块930和案例生成模块940。
案例名称赋值模块910,用于响应于预先输入的一需求用例的数据结构,识别一需求用例的前置条件、业务规则和错误处理,将前置条件的类别、业务规则的简称和错误处理的类别分别赋值给各个测试案例的案例名称,将前置条件的内容、业务规则的规则描述和错误处理的内容分别赋值给与各个案例名称对应的规则要素数据。在一实施例中,案例名称赋值模块910可以用于执行前文描述的操作S210,在此不再赘述。
输入输出赋值模块920,用于识别一需求用例的输入输出信息,判断输入输出信息是否为字典值形式,如果是,则将案例名称自动赋值为预设案例名称,将字典值形式经过要素组合后的输出结果赋值给与预设案例名称对应的规则要素数据。在一实施例中,输入输出赋值模块920可以用于执行前文描述的操作S220,在此不再赘述。
检查项赋值模块930,用于判断赋值后的各个案例名称是否来源于前置条件,如果是,则识别一需求用例的流程描述,将流程描述的第一步骤赋值给与案例名称对应的检查项;否则,识别一需求用例的后置条件,将后置条件赋值给与案例名称对应的检查项。在一实施例中,检查项赋值模块930可以用于执行前文描述的操作S220,在此不再赘述。
案例生成模块940,用于将流程描述赋值给各个案例名称对应的步骤说明,生成各个测试案例的数据结构。在一实施例中,案例生成模块940可以用于执行前文描述的操作S220,在此不再赘述。
通过本公开的实施例,将需求阶段与测试阶段的输出物完成结构化解析,利用结构化的解析结果,智能生成可以指导执行的测试案例,从而高效智能地形成测试案例,节约人工成本,提升业务研发效能。
图10示意性示出了根据本公开实施例的模型搭建过程的框图。
如图10所述,案例名称赋值模块910之前,还可以包括模型搭建模块1000。模型搭建模块1000可以包括流程模型搭建模块1010、流程模型搭建模块1010和测试案例搭建模块1030。
流程模型搭建模块1010,用于搭建包括业务领域、价值流、活动和任务的流程模型。在一实施例中,流程模型搭建模块1010可以用于执行前文描述的操作S310,在此不再赘述。
需求用例搭建模块1020,用于在流程模型中的任务层级,设置包括前置条件、流程描述、错误处理、后置条件的业务流程,设置业务规则、输入输出信息,搭建需求用例数据结构。在一实施例中,需求用例搭建模块1020可以用于执行前文描述的操作S320,在此不再赘述。
测试案例搭建模块1030,用于搭建包括案例名称、规则要素数据、检查项和步骤说明的测试案例数据结构。在一实施例中,测试案例搭建模块1030可以用于执行前文描述的操作S330,在此不再赘述。
通过本公开的实施例,结合业务架构中的四层级流程模型,将需求用例与测试案例之间建立了同等颗粒度的设计工具,从而解决了需求与测试之间关联性识别的问题。
根据本公开的实施例,案例名称赋值模块910、输入输出赋值模块920、检查项赋值模块930和案例生成模块940、流程模型搭建模块1010、流程模型搭建模块1010和测试案例搭建模块1030中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,案例名称赋值模块910、输入输出赋值模块920、检查项赋值模块930和案例生成模块940、流程模型搭建模块1010、流程模型搭建模块1010和测试案例搭建模块1030中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,案例名称赋值模块910、输入输出赋值模块920、检查项赋值模块930和案例生成模块940、流程模型搭建模块1010、流程模型搭建模块1010和测试案例搭建模块1030中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图11示意性示出了根据本公开实施例的适于实现需求测试一体化生成方法的电子设备的方框图。
如图11所示,根据本公开实施例的电子设备1100包括处理器1101,其可以根据存储在只读存储器(ROM)1102中的程序或者从存储部分1108加载到随机访问存储器(RAM)1103中的程序而执行各种适当的动作和处理。处理器1101例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC))等等。处理器1101还可以包括用于缓存用途的板载存储器。处理器1101可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 1103中,存储有电子设备1100操作所需的各种程序和数据。处理器1101、ROM 1102以及RAM 1103通过总线1104彼此相连。处理器1101通过执行ROM 1102和/或RAM1103中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 1102和RAM 1103以外的一个或多个存储器中。处理器1101也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备1100还可以包括输入/输出(I/O)接口1105,输入/输出(I/O)接口1105也连接至总线1104。电子设备1100还可以包括连接至I/O接口1105的以下部件中的一项或多项:包括键盘、鼠标等的输入部分1106;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1107;包括硬盘等的存储部分1108;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1109。通信部分11011经由诸如因特网的网络执行通信处理。驱动器1110也根据需要连接至I/O接口1105。可拆卸介质1111,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1110上,以便于从其上读出的计算机程序根据需要被安装入存储部分1108。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的需求测试一体化生成方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 1102和/或RAM 1103和/或ROM 1102和RAM 1103以外的一个或多个存储器。
本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机系统中运行时,该程序代码用于使计算机系统实现本公开实施例所提供的需求测试一体化生成方法。
在该计算机程序被处理器1101执行时执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分1109被下载和安装,和/或从可拆卸介质1111被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
在这样的实施例中,该计算机程序可以通过通信部分1109从网络上被下载和安装,和/或从可拆卸介质1111被安装。在该计算机程序被处理器1101执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

Claims (13)

1.一种需求测试一体化生成方法,包括:
响应于预先输入的一需求用例的数据结构,识别所述一需求用例的前置条件、业务规则和错误处理,将所述前置条件的类别、业务规则的简称和错误处理的类别分别赋值给各个测试案例的案例名称,将所述前置条件的内容、业务规则的规则描述和错误处理的内容分别赋值给与所述各个案例名称对应的规则要素数据;
识别所述一需求用例的输入输出信息,判断所述输入输出信息是否为字典值形式,如果是,则将所述案例名称自动赋值为预设案例名称,将所述字典值形式经过要素组合后的输出结果赋值给与所述预设案例名称对应的规则要素数据;
判断赋值后的各个案例名称是否来源于所述前置条件,如果是,则识别所述一需求用例的流程描述,将所述流程描述的第一步骤赋值给与案例名称对应的检查项;否则,识别所述一需求用例的后置条件,将所述后置条件赋值给与案例名称对应的检查项;
将所述流程描述赋值给各个案例名称对应的步骤说明,生成各个测试案例的数据结构。
2.根据权利要求1所述的方法,其中,所述响应于预先输入的一需求用例的数据结构的步骤之前,还包括:
搭建包括业务领域、价值流、活动和任务的流程模型;
在所述流程模型中的任务层级,设置包括前置条件、流程描述、错误处理、后置条件的业务流程,设置业务规则、输入输出信息,搭建需求用例数据结构;
搭建包括案例名称、规则要素数据、检查项和步骤说明的测试案例数据结构。
3.根据权利要求2所述的方法,其中,所述响应于预先输入的一需求用例的数据结构,还包括:
在所述流程模型中的业务领域层级,输入需求项内容;
在所述流程模型中的活动层级,输入需求用例名称;
根据所述需求用例名称,识别与所述一需求用例对应的各个测试案例的业务场景。
4.根据权利要求1所述的方法,其中,所述判断所述输入输出信息是否为字典值形式,还包括:
如果否,将所述输入输出信息生成一反例构成字典值形式。
5.根据权利要求4所述的方法,其中,所述将所述输入输出信息生成一反例构成字典值形式,包括:
采用等价类划分方法,将所述输入输出信息自动生成一反例构成字典值形式。
6.根据权利要求1所述的方法,其中,所述预设案例名称为自动生成案例,所述要素组合采取全排列组合算法或pairwise双态组合算法,所述全排列组合算法包括笛卡尔积全态组合算法。
7.根据权利要求1所述的方法,其中,所述生成各个测试案例的数据结构的步骤之前,还包括:
对各个测试案例预设不同程度的风险系数。
8.根据权利要求1所述的方法,其中,所述各个测试案例按照案例名称的来源于前置条件、业务规则、错误处理、输入输出信息,依次进行排列。
9.一种需求测试一体化生成装置,包括:
案例名称赋值模块,用于响应于预先输入的一需求用例的数据结构,识别所述一需求用例的前置条件、业务规则和错误处理,将所述前置条件的类别、业务规则的简称和错误处理的类别分别赋值给各个测试案例的案例名称,将所述前置条件的内容、业务规则的规则描述和错误处理的内容分别赋值给与所述各个案例名称对应的规则要素数据;
输入输出赋值模块,用于识别所述一需求用例的输入输出信息,判断所述输入输出信息是否为字典值形式,如果是,则将所述案例名称自动赋值为预设案例名称,将所述字典值形式经过要素组合后的输出结果赋值给与所述预设案例名称对应的规则要素数据;
检查项赋值模块,用于判断赋值后的各个案例名称是否来源于所述前置条件,如果是,则识别所述一需求用例的流程描述,将所述流程描述的第一步骤赋值给与案例名称对应的检查项;否则,识别所述一需求用例的后置条件,将所述后置条件赋值给与案例名称对应的检查项;以及
测试案例生成模块,用于将所述流程描述赋值给各个案例名称对应的步骤说明,生成各个测试案例的数据结构。
10.根据权利要求9所述的装置,其中,所述案例名称赋值模块之前,还包括:
流程模型搭建模块,用于搭建包括业务领域、价值流、活动和任务的流程模型;
需求用例搭建模块,用于在所述流程模型中的任务层级,设置包括前置条件、流程描述、错误处理、后置条件的业务流程,设置业务规则、输入输出信息,搭建需求用例数据结构;以及
测试案例搭建模块,用于搭建包括案例名称、规则要素数据、检查项和步骤说明的测试案例数据结构。
11.一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据权利要求1~8中任一项所述的方法。
12.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据权利要求1~8中任一项所述的方法。
13.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现根据权利要求1~8中任一项所述的方法。
CN202111237359.7A 2021-10-22 2021-10-22 需求测试一体化生成方法及装置 Pending CN114003492A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111237359.7A CN114003492A (zh) 2021-10-22 2021-10-22 需求测试一体化生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111237359.7A CN114003492A (zh) 2021-10-22 2021-10-22 需求测试一体化生成方法及装置

Publications (1)

Publication Number Publication Date
CN114003492A true CN114003492A (zh) 2022-02-01

Family

ID=79923953

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111237359.7A Pending CN114003492A (zh) 2021-10-22 2021-10-22 需求测试一体化生成方法及装置

Country Status (1)

Country Link
CN (1) CN114003492A (zh)

Similar Documents

Publication Publication Date Title
US10042932B2 (en) Analytics based on pipes programming model
US10127147B2 (en) Automated software compliance analysis
CN110532185B (zh) 测试方法、装置、电子设备和计算机可读存储介质
US10275234B2 (en) Selective bypass of code flows in software program
US9715372B2 (en) Executable guidance experiences based on implicitly generated guidance models
US20100161676A1 (en) Lifecycle management and consistency checking of object models using application platform tools
US20110106515A1 (en) System and method for resource identification
US11892935B2 (en) Verification of control coupling and data coupling analysis in software code
CN116483888A (zh) 程序评估方法及装置、电子设备和计算机可读存储介质
US9898262B2 (en) User interface event orchestration
CN113535565B (zh) 一种接口用例生成方法、装置、设备和介质
CN114003492A (zh) 需求测试一体化生成方法及装置
CN114791885A (zh) 接口测试方法、装置、设备及介质
CN113935847A (zh) 线上流程的风险处理方法、装置、服务器及介质
CN110928761B (zh) 需求链及其应用的系统和方法
CN113032256A (zh) 自动化测试方法、装置、计算机系统和可读存储介质
CN113778451A (zh) 文件加载方法、装置、计算机系统和计算机可读存储介质
CN110737427A (zh) 互联网技术架构及其构建方法、装置、电子设备和介质
CN112000366B (zh) 基于代码生成器的系统参数配置方法及装置
Larrea et al. White-Box Testing Framework for Object-Oriented Programming. An Approach Based on Message Sequence Specification and Aspect Oriented Programming
CN114490580A (zh) 由自动化脚本执行的可配置的数据迁移方法及装置
CN114169485A (zh) 证件制作方法、装置、电子设备及可读存储介质
CN112860344A (zh) 组件处理方法、装置、电子设备和存储介质
CN113448848A (zh) 基于用例法的转化方法及装置、电子设备和存储介质
CN113377377A (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