CN106201899A - 基于业务分析实现自动生成测试案例的系统和方法 - Google Patents
基于业务分析实现自动生成测试案例的系统和方法 Download PDFInfo
- Publication number
- CN106201899A CN106201899A CN201610613263.9A CN201610613263A CN106201899A CN 106201899 A CN106201899 A CN 106201899A CN 201610613263 A CN201610613263 A CN 201610613263A CN 106201899 A CN106201899 A CN 106201899A
- Authority
- CN
- China
- Prior art keywords
- test
- analysis
- business
- data
- program
- 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
Links
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
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)
- Stored Programmes (AREA)
Abstract
本发明涉及一种基于业务分析实现自动生成测试案例的系统和方法,包括业务分析层,用于摸清业务实现的意愿,明确系统判断的准则;系统结构分析层,用于对被测系统的程序元素、运行时序和检测对象进行分析,明确系统测试的程序验证模型;测试设计层,用于进行测试点的分析管理和测试数据分析管理;测试案例自动化生成引擎,用于将测试分析的数据转化为测试案例。采用该系统和方法,避免了业务人员不懂技术,技术人员不懂业务而导致的软件设计“需求失真”的问题,减少软件功能设计不符合业务意图的需求而导致经常返工的现象;通过统一的管理规范,将业务、设计和测试分析的过程行为的记录了下来,沉淀为软件设计过程的资产,具有广泛的应用范围。
Description
技术领域
本发明涉及计算机软件技术领域,尤其涉及企业应用系统测试,具体是指一种基于业务分析实现自动生成测试案例的系统和方法。
背景技术
随着软件应用系统的发展,业务不断增大和复杂化,软件测试面临的挑战越来越大,如何建设有效的测试分析方法和体系,来提升软件测试过程的覆盖率、正确率和执行的效率,已成为企业提升自身软件质量亟待解决的测试难题之一。在国内,软件测试依然处于比较薄弱的环节,缺乏有效的测试分析方法,经常出现无效的测试案例,测试针对性不足。同时,由于国内测试人员能力不足、流动频繁、资产管理机制不完善等凸显问题,导致测试资产流失严重,难以保证测试的完整性,不利于测试资产复用、分析、优化等核心测试能力的建设。
为了改变这种测试现状,有效地提升测试质量,企业需要建设符合自身有效的测试分析方法、规范和流程,提高测试案例设计的有效性,沉淀测试资产,建设测试资产复用机制,实现软件质量统计和分析的能力,持续优化软件质量的实施过程,保证软件质量的安全。
以往的测试分析方法主要有两种方式,一种是基于软件需求规格说明书的分析方法,即需求是衡量软件的终极标准,测试分析是针对需求的功能点描述,分析具体的测试情景、测试点和测试步骤,并根据分析的结果设计测试用例,对需求的功能点进行功能性和非功能性的测试过程。通常这种方式采用的是文档模板的编辑方式,即利用Word或者Excel等工具,制定测试分析和案例设计的规范和目录,测试人员在文档规范的指引下,梳理测试的思路,完成用例设计的过程,这也是多数企业目前常用的测试分析方式。
第二种方式是基于系统功能点的分析方法。即在软件需求不完善和缺失的情形下,测试人员直接根据个人的测试经验和能力,对系统功能的理解或者开发人员的编写的功能验证清单,进行测试分析和案例的设计,来开展测试的工作。
深入理论研究表明,真正能够作为终极标准的是业务本身,而非需求,业务有其内在的逻辑,可以通过“业务分析”的过程予以揭示,这种逻辑是独立于IT技术的。软件需求无外乎是对业务的某种表达,这种表达既不完全也未必全然正确,同样会导致不正确的测试分析,引入缺陷。
软件测试重在防患于未然,而测试分析是其主要的体现。缺乏对业务的测试分析,靠经验判断的测试范围极易产生偏差,导致测试质量的不达标,使系统上线后的生产运营仍旧存在较大风险;而且,以文档的编辑方式,软件需求、设计和测试分析等关联性弱,问题追溯性差;同时,文档编辑方式,过程资产存储难统一,容易丢失,不利于测试资产的积累。
发明内容
本发明的目的是克服了上述现有技术的缺点,提供了一种能够实现通过业务情景、规则和业务要素、功能逻辑和测试步骤的分析,自动生成测试案例和积累测试过程资产的基于业务分析实现自动生成测试案例的系统和方法。
为了实现上述目的,本发明的具有如下构成:
该计算机软件系统中基于业务分析实现自动生成测试案例的系统,其特征在于,所述的系统包括:
业务分析层,用于摸清业务实现的意愿,明确系统判断的准则;
系统结构分析层,用于对被测系统的程序元素、运行时序和检测对象进行分析,明确系统测试的程序验证模型;
测试设计层,用于进行测试点的分析管理和测试数据分析管理;
测试案例自动化生成引擎,用于将测试分析的数据转化为测试案例,
所述的业务分析层、系统结构分析层和测试设计层均与所述的测试案例自动化生成引擎连接。
较佳地,所述的业务分析层包括:
业务情景分析模块,用于提供业务情景的分析视图向导和分类管理;
规则分析模块,用于对业务情景的规则进行分析管理;
业务要素分析模块,用于对业务流程的每个节点的业务要素进行分析管理。
较佳地,所述的系统结构分析层包括:
功能流程分析模块,用于提供系统功能调度逻辑关系分析向导;
程序元素分析模块,用于功能流程中被测元素分析管理;
检测对象分析模块,用于系统程序执行完成之后,分析执行结果的检测方法和对象。
较佳地,所述的测试设计层包括:
测试点分析模块,用于提供测试点的分析向导;
测试数据管理模块,用于根据业务分析的结果,提供测试数据分析的向导功能,并与具体的业务情景和功能流程进行关联的过程;
预期数据管理模块,用于配置并管理预期数据。
较佳地,所述的系统还包括:
资产管理层,用于根据业务分析、系统结构分析和测试分析的数据和关联关系进行业务功能实现率和业务测试覆盖率的统计分析,对系统测试过程进行数据化和精细化管理。
还包括一种利用上述系统的计算机软件系统中基于业务分析实现自动生成测试案例的方法,其特征在于,所述的方法包括如下步骤:
(1)摸清业务实现的意愿,明确系统判断的准则;
(2)对被测系统的程序元素、运行时序和检测对象进行分析,明确系统测试的程序验证模型;
(3)对测试点的分析管理和测试数据进行分析管理。
较佳地,所述的步骤(1)具体包括以下步骤:
(1-1)配置业务情景名称和描述,通过图元拖拽和连线的方式绘制业务情景流程和业务要素;
(1-2)添加业务规则和非业务规则;
(1-3)配置业务要素的信息,并关联至业务规则和非业务规则;
(1-4)根据业务要素关联的规则,分析针对该业务要素测试的业务测试数据和预期结果数据;
(1-5)生成该业务情景与业务实体之间的关联关系图;
(1-6)导出并生成业务文档。
更佳地,所述的业务规则和非业务规则包括规则描述、限制条件和异常控制信息。
更佳地,所述的业务要素的信息包括要素名称、输入限制条件、输出限制条件、相关联的业务规则和相关联的非业务规则。
更佳地,所述的业务测试数据和预期结果数据包括正常值、异常值和边界值。
更佳地,所述的文档包括业务情景分析、规则分析和要素分析的信息。
较佳地,所述的步骤(2)具体包括以下步骤:
(2-1)根据业务情景,分析被测系统的功能流程名称和描述,通过图元拖拽和连线方式配置功能时序流程和程序元素,建立业务情景和功能流程一对多的关联关系;
(2-2)配置程序的类型;
(2-3)根据程序元素的调度路径,将程序的输入参数和输出参数的数据模型反射为界面模型;
(2-4)分析程序元素操作的被检测对象,并配置检测对象的检测路径,建立程序元素和检测对象一对多的关联关系;
(2-5)将被检测对象的结构转换为界面可配置的模型。
更佳地,所述的程序的类型包括UI元素、接口元素和配置程序元素的调度路径。
更佳地,所述的被检测对象包括数据表类型、文件类型和报文类型的检测对象。
较佳地,所述的步骤(3)具体包括以下步骤:
(3-1)配置测试点的信息,并关联对应的业务情景和功能流程,明确所述测试点测试测试意图;
(3-2)将业务情景中分析的测试数据和预期结果数据导入到功能流程中,测试数据对程序的输入参数、输出参数和检测对象的结构进行一一匹配,生成多组数据的测试案例;
(3-3)将匹配好的测试数据和功能流程生成测试用例的执行程序,完成用例的执行步骤。
更佳地,所述的测试点的信息包括测试点名称和描述信息。
更佳地,所述的执行程序包括用例执行环境准备、检测点测试数据准备、程序输入参数数据准备、被测程序调度、检测点检测和程序输出参数数据比对。
较佳地,所述的步骤(3)之后还包括以下步骤:
(4)根据业务分析、系统结构分析和测试分析的数据和关联关系进行业务功能实现率和业务测试覆盖率的统计分析,对系统测试过程进行数据化和精细化管理。
更佳地,所述的步骤(4)具体包括以下步骤:
(4-1)根据业务分析数据、系统结构分数据和案例设计数据,以多维度统计业务的数据、功能点的数据和测试案例的数量,体现软件设计过程的效率和成果;
(4-2)根据业务分析数据、系统结构分数据和案例设计数据的关联关系,统计业务情景实现的覆盖率、业务情景测试的覆盖率和系统功能点的覆盖率,体现软件设计过程的完成度和工作完成质量。
采用了该发明中的基于业务分析实现自动生成测试案例的系统和方法,可以实现有效的业务测试分析过程,有效地指导软件建设的业务分析过程,避免了业务人员不懂技术,技术人员不懂业务而导致的软件设计“需求失真”的问题,减少软件功能设计不符合业务意图的需求而导致经常返工的现象,同时,通过统一的管理规范,将业务、设计和测试分析的过程行为的记录了下来,沉淀为软件设计过程的资产,建设资产复用机制,提升软件生产过程的效率。
附图说明
图1为本发明的基于业务分析实现自动生成测试案例的系统和方法的总体架构图。
图2为本发明的基于业务分析实现自动生成测试案例的系统和方法系统数据表设计E-R图。
具体实施方式
为了能够更清楚地描述本发明的技术内容,下面结合具体实施例来进行进一步的描述。
在一种有效的实施方式中,该计算机软件系统中基于业务分析实现自动生成测试案例的系统,其特征在于,所述的系统包括:
业务分析层,用于摸清业务实现的意愿,明确系统判断的准则;
系统结构分析层,用于对被测系统的程序元素、运行时序和检测对象进行分析,明确系统测试的程序验证模型;
测试设计层,用于进行测试点的分析管理和测试数据分析管理;
测试案例自动化生成引擎,用于将测试分析的数据转化为测试案例,
所述的业务分析层、系统结构分析层和测试设计层均与所述的测试案例自动化生成引擎连接。
在一种较佳的实施方式中,所述的业务分析层包括:
业务情景分析模块,用于提供业务情景的分析视图向导和分类管理;
规则分析模块,用于对业务情景的规则进行分析管理;
业务要素分析模块,用于对业务流程的每个节点的业务要素进行分析管理。
在一种较佳的实施方式中,所述的系统结构分析层包括:
功能流程分析模块,用于提供系统功能调度逻辑关系分析向导;
程序元素分析模块,用于功能流程中被测元素分析管理;
检测对象分析模块,用于系统程序执行完成之后,分析执行结果的检测方法和对象。
在一种较佳的实施方式中,所述的测试设计层包括:
测试点分析模块,用于提供测试点的分析向导;
测试数据管理模块,用于根据业务分析的结果,提供测试数据分析的向导功能,并与具体的业务情景和功能流程进行关联的过程;
预期数据管理模块,用于配置并管理预期数据。
在一种较佳的实施方式中,所述的系统还包括:
资产管理层,用于根据业务分析、系统结构分析和测试分析的数据和关联关系进行业务功能实现率和业务测试覆盖率的统计分析,对系统测试过程进行数据化和精细化管理。
还包括一种利用上述系统的计算机软件系统中基于业务分析实现自动生成测试案例的方法,其特征在于,所述的方法包括如下步骤:
(1)摸清业务实现的意愿,明确系统判断的准则;
(2)对被测系统的程序元素、运行时序和检测对象进行分析,明确系统测试的程序验证模型;
(3)对测试点的分析管理和测试数据进行分析管理。
在一种较佳的实施方式中,所述的步骤(1)具体包括以下步骤:
(1-1)配置业务情景名称和描述,通过图元拖拽和连线的方式绘制业务情景流程和业务要素;
(1-2)添加业务规则和非业务规则;
(1-3)配置业务要素的信息,并关联至业务规则和非业务规则;
(1-4)根据业务要素关联的规则,分析针对该业务要素测试的业务测试数据和预期结果数据;
(1-5)生成该业务情景与业务实体之间的关联关系图;
(1-6)导出并生成业务文档。
在一种更佳的实施方式中,所述的业务规则和非业务规则包括规则描述、限制条件和异常控制信息。
在一种更佳的实施方式中,所述的业务要素的信息包括要素名称、输入限制条件、输出限制条件、相关联的业务规则和相关联的非业务规则。
在一种更佳的实施方式中,所述的业务测试数据和预期结果数据包括正常值、异常值和边界值。
在一种更佳的实施方式中,所述的文档包括业务情景分析、规则分析和要素分析的信息。
在一种较佳的实施方式中,所述的步骤(2)具体包括以下步骤:
(2-1)根据业务情景,分析被测系统的功能流程名称和描述,通过图元拖拽和连线方式配置功能时序流程和程序元素,建立业务情景和功能流程一对多的关联关系;
(2-2)配置程序的类型;
(2-3)根据程序元素的调度路径,将程序的输入参数和输出参数的数据模型反射为界面模型;
(2-4)分析程序元素操作的被检测对象,并配置检测对象的检测路径,建立程序元素和检测对象一对多的关联关系;
(2-5)将被检测对象的结构转换为界面可配置的模型。
在一种更佳的实施方式中,所述的程序的类型包括UI元素、接口元素和配置程序元素的调度路径。
在一种更佳的实施方式中,所述的被检测对象包括数据表类型、文件类型和报文类型的检测对象。
在一种较佳的实施方式中,所述的步骤(3)具体包括以下步骤:
(3-1)配置测试点的信息,并关联对应的业务情景和功能流程,明确所述测试点测试测试意图;
(3-2)将业务情景中分析的测试数据和预期结果数据导入到功能流程中,测试数据对程序的输入参数、输出参数和检测对象的结构进行一一匹配,生成多组数据的测试案例;
(3-3)将匹配好的测试数据和功能流程生成测试用例的执行程序,完成用例的执行步骤。
在一种更佳的实施方式中,所述的测试点的信息包括测试点名称和描述信息。
在一种更佳的实施方式中,所述的执行程序包括用例执行环境准备、检测点测试数据准备、程序输入参数数据准备、被测程序调度、检测点检测和程序输出参数数据比对。
在一种较佳的实施方式中,所述的步骤(3)之后还包括以下步骤:
(4)根据业务分析、系统结构分析和测试分析的数据和关联关系进行业务功能实现率和业务测试覆盖率的统计分析,对系统测试过程进行数据化和精细化管理。
在一种更佳的实施方式中,所述的步骤(4)具体包括以下步骤:
(4-1)根据业务分析数据、系统结构分数据和案例设计数据,以多维度统计业务的数据、功能点的数据和测试案例的数量,体现软件设计过程的效率和成果;
(4-2)根据业务分析数据、系统结构分数据和案例设计数据的关联关系,统计业务情景实现的覆盖率、业务情景测试的覆盖率和系统功能点的覆盖率,体现软件设计过程的完成度和工作完成质量。
在一种具体的实施方式中,本发明分为两部分:
第1部分:技术解决方案功能模块组成说明:
基于业务分析实现自动生成测试案例的系统和方法,包括业务分析层、系统结构分析层、测试设计层和资产管理层四个模块,以及测试案例自动化生成引擎,其主要特点是,所述的业务分析层是为了摸清业务实现的意愿,明确软件系统如何断言是正确或者错误的准则,包括:
业务情景分析模块,提供业务情景的分析视图向导和分类管理。主要将整体的业务需求拆分为一个个独立的业务意图—最小业务情景单元。业务情景明确了该业务实现的流程、规则、要素等信息;
规则分析模块,用于业务情景的规则分析管理。规则是业务情景的规则组,分为业务规则和非业务规则。业务规则构成了实现该业务情景的流程控制、异常限制和条件。非业务规则是以软件系统的存在为基础,对系统性能、可拓展性和可维护性等约束,也叫系统规则;
业务要素分析模块,提供实现业务流程每个节点的业务要素分析管理。业务要素是在业务规则中被描述的对象,这些对象具备特定的业务能力,通过各种规则共同完成业务情景的流程办理过程。
系统设计有概要设计和详细设计等过程,而这些设计的实现最终会落实为一系列带有业务时序的程序节点,同时,程序处理结果体现为可观测的物理操作之上。因此,所述的系统结构分析层,是对被测系统的程序元素、运行时序和检测对象进行分析,明确系统测试的程序验证模型,主要包括:
功能流程分析模块,提供系统功能调度逻辑关系分析向导,主要根据业务情景的流程,在系统中梳理出该业务流程对应程序的运行时序,程序运行时序可以指导测试步骤的执行过程,模拟程序的行为和业务的办理过程;
程序元素分析模块,用于功能流程中被测元素分析管理。主要管理UI元素和程序接口等调度方式、入参模型、运行条件等信息。系统测试用例是基于界面UI元素交互验证过程,集成测试是对一系列带有时序接口的测试过程,单元测试是对单个接口的功能验证过程;
检测对象分析模块,用于系统程序执行完成之后,分析执行结果的检测方法和对象,如:文本读写、数据库读写、报文收发、页面交互反馈。检测对象分为输入对象和输出对象,不同的检测对象配套有相应的检测组件,传入预期结果后会自动完成对比过程。
所述的测试设计层,主要进行测试点的分析管理和测试数据分析管理,包括:
测试点分析模块,提供测试点的分析向导,主要将业务情景、规则与对应的功能流程进行映射关联,一对多的关系,同时,根据业务情景的规则和意图,对功能流程的业务覆盖式测试提供指导性的工作;
测试数据管理模块,根据业务分析的结果,提供测试数据分析的向导功能,包括测试数据和预期结果数据的分析,并与具体的业务情景和功能流程进行关联的过程。
所述的资产管理层,主要是根据业务分析、系统结构分析和测试分析的数据和关联关系,进行业务功能实现率和业务测试覆盖率等统计分析,实现软件测试过程的数据化和精细化管理过程。
所述的测试案例自动化生成引擎,主要将测试分析的数据自动转化为测试案例,包括:
测试案例自动生成引擎,提供自动化生成测试案例的程序群。主要把测试点的业务规则抽象的测试数据和预期结果数据,将测试数据导入功能流程中,生成系统程序验证过程的运行环境准备、测试数据准备、被测程序调度、检测点检测和出参数据比对等测试步骤或自动化测试脚本。
第2部分:技术解决方案实现方法的流程步骤说明:
基于业务分析实现自动生成测试案例的系统和方法,其主要特点是,所述的方法包括业务分析流程、系统结构分析流程和测试案例设计流程,所述的业务分析流程,包括以下步骤:
(1)所述的业务分析视图向导中配置业务情景名称和描述,通过图元拖拽和连线的方式绘制业务情景流程和业务要素;
(2)所述的业务情景,点击添加业务规则的按钮,在弹出的业务规则向导中添加业务规则和非业务规则,包括规则描述、限制条件、异常控制等信息;
(3)所述的业务情景流程中双击业务要素,在弹出的业务要素向导中配置要素的信息,包括要素名称,输入、输出限制条件,关联业务规则和非业务规则等信息;
(4)根据所述业务要素关联的规则,分析针对该业务要素测试的正常、异常和边界值等业务测试数据和预期结果数据;
(5)所述的业务流程管理视图中,点击导出业务情景业务E-R图,会自动生成该业务情景业务实体之间的关联关系图;
(6)所述的业务流程管理视图中,点击导出并生成业务的Word或Excel文档,文档包含了业务情景分析,规则分析和要素分析等信息;
所述的系统结构分析流程,包括以下步骤:
(7)根据所述的业务情景,在所述的功能流程向导中分析被测系统的功能流程名称和描述,通过图元拖拽和连线方式配置功能时序流程和程序元素,建立业务情景和功能流程一对多的关联关系;
(8)所述的功能流程中双击程序元素节点,在弹出的程序元素向导中配置程序的类型,包括UI元素和接口元素,以及配置程序元素的调度路径;
(9)所述的程序元素向导中,根据程序元素的调度路径,自动将程序的入参和出参数据模型反射为界面模型;
(10)所述的检测对象视图中,分析所述程序元素操作的被检测对象,主要包括数据表、文件和报文等类型的检测对象,并配置检测对象的检测路径,建立程序元素和检测对象一对多的关联关系;
(11)所述的检测对象视图中,点击生成检测对象界面模型按钮,自动将检测对象:数据表结构、文件结构、报文结构转换为界面可配置的模型;
所述的测试案例设计流程,包括以下步骤:
(12)所述的测试点分析向导配置测试点,包括测试点名称和描述等信息,并关联对应的业务情景和功能流程,明确所述测试点测试测试意图;
(13)所述的测试案例自动生成引擎,将业务情景中分析的测试数据和预期结果数据,导入到功能流程中,测试数据跟程序元素入参、出参,以及检测对象数据表结构、文件结构和报文结构进行一一匹配,生成多组数据的测试案例;
所述的测试案例自动生成引擎将匹配好的测试数据和功能流程生成测试用例的执行程序:包括用例执行环境准备、检测点测试数据准备、程序入参数据准备、被测程序调度、检测点检测和程序出参数据比对等等,完成用例的执行步骤。
在实际应用中,本发明的基于业务分析实现自动生成测试案例的系统和方法的具体过程如下:
1、业务情景分析向导
业务情景分析向导是提供业务分析统一规范和模型,集成了业务情景流程、规则和业务要素的配置过程,向导的配置过程,是业务流程、规则和要素等管理信息和关联关系等数据的配置过程,具体过程为如下:
(1)业务模块表,包括业务模块唯一ID,名称,业务说明等信息;
(2)业务情景表,包括唯一ID,情景名称,业务说明等信息,业务情景ID与业务模块唯一ID形成多对一的关联关系;
(3)业务流程表,包括唯一ID,图元类型,图元名称,图元位置,连线名称,连线位置,业务情景流程和业务情景形成一对一的关联关系;
(4)业务规则表,包括规则唯一ID,规则名称,规则类型,规则的内容等等,业务规则与业务情景、业务流程为多对一关系;
(5)业务要素表,包括唯一ID,要素名称,要素功能列表,要素功能规则,要素所属业务情景等字段,业务要素表与业务情景、业务流程是多对一关系,与业务规则是多对多关系;
(6)构建业务情景分析视图向导,视图向导中提供业务模块信息,业务情景信息,情景流程图元拖拽连线信息,业务规则信息,业务要素信息等信息表数据的录入,并通过唯一的ID关联起来,最后数据录入到对应的数据表;
2、系统结构分析向导
业务分析测试意图的分析过程,而系统结构分析,是测试目标的分析过程。根据业务功能意图的指导,对被测系统的功能进行分析过程,是明确被测系统的功能流程、被测程序和检测对象调度信息和关联关系的配置过程,对主要过程如下:
(7)功能点表,包括功能点唯一ID,功能点名称,功能点功能描述等字段,功能点表跟业务情景表是多对一关系;
(8)功能流程表,包括功能流程唯一ID,图元类型,图元名称,图元位置,连线名称,连线位置等字段,功能流程表与功能点表是一对一或多对一的关联关系;
(9)程序元素表,包括程序唯一ID,程序元素名称,程序元素类型,程序调度路径等字段,程序元素表与功能流程表是多对一关系;
(10)检测对象表,包括检测对象唯一ID,检测对象名称,检测对象类型,检测对象调度路径等字段,检测对象表与程序元素表是多对一关系;
(11)构建系统结构分析视图向导,视图向导提供了功能点信息,功能流程图元拖拽连线信息,程序元素信息、检测对象等信息表数据的录入,并通过唯一ID关联起来,最后数据录入到对应的数据表。
3、测试设计视图向导
根据测试设计视图向导,用户可以根据业务情景分析和系统结构的分析结果,抽象出程序的测试数据,以及测试数据与被测程序、检测对象的关联关系,具体过程如下:
(12)测试点分析表,包括测试点唯一ID,测试点名称和描述,所述业务情景、所述功能流程等字段,跟业务情景、功能流程是多对一关系;
(13)测试数据管理表,包括测试数据编号,测试数据所属元素类型(包括程序参数类型、数据表数据类型、文件数据类型和报文数据类型)、数据的功能类型(清理环境类型、入参数据类型和预期数据类型)、数据的所属程序元素、所述检测对象等字段,测试数据与程序元素表、检测对象表是多对一的关系
(14)构建测试设计视图向导,视图向导提供了测试数据配置,测试数据关联程序元素和检测对象的关联关系,点击保存,数据存入对应的数据表。
4、测试案例自动生成引擎
所述的测试案例自动生成引擎是测试案例生成的关键环节。该引擎提供了测试案例执行过程的程序群,包括:环境准备程序、检测对象数据准备程序、被测程序入参数据准备程序、被测程序调度程序、检测对象结果检测程序、被测程序出参数据比对程序等,点击生成测试案例时,引擎自动化把数据和被测系统结构组装起来,生成测试案例,具体过程如下:
(15)所述的环境准备程序根据测试点的分析,从系统结构管理的检测对象表中,获取相关的检测对象信息,接着从测试局管理表中获取环境清理数据(包括表操作DML语句、文件操作语句),利用清理语句清理检测对象错乱数据,保证执行环境的独立性和正确性;
(16)所述的检测对象数据准备程序从检测对象表中,获取相关的检测对象信息,接着从测试局管理表中获取入参数据,完成检测对象的数据准备工作;
(17)所述的被测程序入参数据准备程序,从程序元素表中获取程序元素信息,并从数据管理表中获取程序的入参数据,完成入参数据的准备工作;
(18)所述的被测程序调度程序,从程序元素表中获取程序元素调度信息,完成被测程序元素的调度执行过程;
(19)所述的用检测对象结果检测程序从检测对象表中,获取相关的检测对象信息,接着从测试局管理表中获取预期结果数据,完成预期结果数据和实际结果数据的比对过程;
(20)所述的被测程序出参数据比对程序,从程序元素表中获取程序元素信息,并从数据管理表中获取程序的出参预期结果数据,完成出参预期结果数据和实际结果数据的比对过程;
(21)案例执行完成之后,收集案例执行的日志、异常和数据,存入到对应的日志、异常表和结果表,生成案例执行的结果报表,完成案例执行流程;
5、资产统计分析
(22)所述的资产管理层根据业务分析数据表、系统结构分数据表和案例设计数据表,以多维度(个人、时间、部门等等)统计业务的数据、功能点的数据和测试案例的数量,体现软件设计过程的效率和成果;
所述的资产管理层根据业务分析数据表、系统结构分数据表和案例设计数据表的关联关系,统计业务情景实现的覆盖率,统计业务情景测试的覆盖率和系统功能点的覆盖率。反应软件设计过程的完成度和工作完成质量。
采用了该发明中的基于业务分析实现自动生成测试案例的系统和方法,可以实现有效的业务测试分析过程。从业务分析开始,将整体业务细化为一个个具体的业务情景,按照业务情景的意图,通过图元拖拽和连线的方式,将业务情景表达为业务流程的办理过程,业务流程中集成了业务情景建设需要到的业务规则和非业务规则,同时,业务流程继续细化为具体的业务要素,明确业务流程每个环节的业务能力和环节之间的流转关系。在软件设计阶段,开发人员根据业务情景的分析可以快速地完成功能流程设计和功能点设计过程。同时,测试人员根据测试情景的分析,抽象出情景的测试步骤、测试数据和结果数据,并在被测系统中分析功能执行流程、测试点和检测点,自动生成测试案例的过程。从而建设了业务分析、设计分析和测试分析过程的标准,有效地指导软件建设的业务分析过程,避免了业务人员不懂技术,技术人员不懂业务而导致的软件设计“需求失真”的问题,减少软件功能设计不符合业务意图的需求而导致经常返工的现象。在测试方面,测试人员对业务分析更加准确,对系统结构了解更深,对业务功能测试覆盖更全面,提升了软件系统质量保证工作的有效性。同时,通过统一的管理规范,将业务、设计和测试分析的过程行为的记录了下来,沉淀为软件设计过程的资产,建设资产复用机制,提升软件生产过程的效率。
在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。
Claims (19)
1.一种计算机软件系统中基于业务分析实现自动生成测试案例的系统,其特征在于,所述的系统包括:
业务分析层,用于摸清业务实现的意愿,明确系统判断的准则;
系统结构分析层,用于对被测系统的程序元素、运行时序和检测对象进行分析,明确系统测试的程序验证模型;
测试设计层,用于进行测试点的分析管理和测试数据分析管理;
测试案例自动化生成引擎,用于将测试分析的数据转化为测试案例,
所述的业务分析层、系统结构分析层和测试设计层均与所述的测试案例自动化生成引擎连接。
2.根据权利要求1所述的计算机软件系统中基于业务分析实现自动生成测试案例的系统,其特征在于,所述的业务分析层包括:
业务情景分析模块,用于提供业务情景的分析视图向导和分类管理;
规则分析模块,用于对业务情景的规则进行分析管理;
业务要素分析模块,用于对业务流程的每个节点的业务要素进行分析管理。
3.根据权利要求1所述的计算机软件系统中基于业务分析实现自动生成测试案例的系统,其特征在于,所述的系统结构分析层包括:
功能流程分析模块,用于提供系统功能调度逻辑关系分析向导;
程序元素分析模块,用于功能流程中被测元素分析管理;
检测对象分析模块,用于系统程序执行完成之后,分析执行结果的检测方法和对象。
4.根据权利要求1所述的计算机软件系统中基于业务分析实现自动生成测试案例的系统,其特征在于,所述的测试设计层包括:
测试点分析模块,用于提供测试点的分析向导;
测试数据管理模块,用于根据业务分析的结果,提供测试数据分析的向导功能,并与具体的业务情景和功能流程进行关联的过程;
预期数据管理模块,用于配置并管理预期数据。
5.根据权利要求1所述的计算机软件系统中基于业务分析实现自动生成测试案例的系统,其特征在于,所述的系统还包括:
资产管理层,用于根据业务分析、系统结构分析和测试分析的数据和关联关系进行业务功能实现率和业务测试覆盖率的统计分析,对系统测试过程进行数据化和精细化管理。
6.一种利用权利要求1至5中任一项所述的系统的计算机软件系统中基于业务分析实现自动生成测试案例的方法,其特征在于,所述的方法包括如下步骤:
(1)摸清业务实现的意愿,明确系统判断的准则;
(2)对被测系统的程序元素、运行时序和检测对象进行分析,明确系统测试的程序验证模型;
(3)对测试点的分析管理和测试数据进行分析管理。
7.根据权利要求6所述的计算机软件系统中基于业务分析实现自动生成测试案例的方法,其特征在于,所述的步骤(1)具体包括以下步骤:
(1-1)配置业务情景名称和描述,通过图元拖拽和连线的方式绘制业务情景流程和业务要素;
(1-2)添加业务规则和非业务规则;
(1-3)配置业务要素的信息,并关联至业务规则和非业务规则;
(1-4)根据业务要素关联的规则,分析针对该业务要素测试的业务测试数据和预期结果数据;
(1-5)生成该业务情景与业务实体之间的关联关系图;
(1-6)导出并生成业务文档。
8.根据权利要求7所述的计算机软件系统中基于业务分析实现自动生成测试案例的方法,其特征在于,所述的业务规则和非业务规则包括规则描述、限制条件和异常控制信息。
9.根据权利要求7所述的计算机软件系统中基于业务分析实现自动生成测试案例的方法,其特征在于,所述的业务要素的信息包括要素名称、输入限制条件、输出限制条件、相关联的业务规则和相关联的非业务规则。
10.根据权利要求7所述的计算机软件系统中基于业务分析实现自动生成测试案例的方法,其特征在于,所述的业务测试数据和预期结果数据包括正常值、异常值和边界值。
11.根据权利要求7所述的计算机软件系统中基于业务分析实现自动生成测试案例的方法,其特征在于,所述的文档包括业务情景分析、规则分析和要素分析的信息。
12.根据权利要求6所述的计算机软件系统中基于业务分析实现自动生成测试案例的方法,其特征在于,所述的步骤(2)具体包括以下步骤:
(2-1)根据业务情景,分析被测系统的功能流程名称和描述,通过图元拖拽和连线方式配置功能时序流程和程序元素,建立业务情景和功能流程一对多的关联关系;
(2-2)配置程序的类型;
(2-3)根据程序元素的调度路径,将程序的输入参数和输出参数的数据模型反射为界面模型;
(2-4)分析程序元素操作的被检测对象,并配置检测对象的检测路径,建立程序元素和检测对象一对多的关联关系;
(2-5)将被检测对象的结构转换为界面可配置的模型。
13.根据权利要求12所述的计算机软件系统中基于业务分析实现自动生成测试案例的方法,其特征在于,所述的程序的类型包括UI元素、接口元素和配置程序元素的调度路径。
14.根据权利要求12所述的计算机软件系统中基于业务分析实现自动生成测试案例的方法,其特征在于,所述的被检测对象包括数据表类型、文件类型和报文类型的检测对象。
15.根据权利要求6所述的计算机软件系统中基于业务分析实现自动生成测试案例的方法,其特征在于,所述的步骤(3)具体包括以下步骤:
(3-1)配置测试点的信息,并关联对应的业务情景和功能流程,明确所述测试点测试测试意图;
(3-2)将业务情景中分析的测试数据和预期结果数据导入到功能流程中,测试数据对程序的输入参数、输出参数和检测对象的结构进行一一匹配,生成多组数据的测试案例;
(3-3)将匹配好的测试数据和功能流程生成测试用例的执行程序,完成用例的执行步骤。
16.根据权利要求15所述的计算机软件系统中基于业务分析实现自动生成测试案例的方法,其特征在于,所述的测试点的信息包括测试点名称和描述信息。
17.根据权利要求15所述的计算机软件系统中基于业务分析实现自动生成测试案例的方法,其特征在于,所述的执行程序包括用例执行环境准备、检测点测试数据准备、程序输入参数数据准备、被测程序调度、检测点检测和程序输出参数数据比对。
18.根据权利要求6所述的计算机软件系统中基于业务分析实现自动生成测试案例的方法,其特征在于,所述的步骤(3)之后还包括以下步骤:
(4)根据业务分析、系统结构分析和测试分析的数据和关联关系进行业务功能实现率和业务测试覆盖率的统计分析,对系统测试过程进行数据化和精细化管理。
19.根据权利要求18所述的计算机软件系统中基于业务分析实现自动生成测试案例的方法,其特征在于,所述的步骤(4)具体包括以下步骤:
(4-1)根据业务分析数据、系统结构分数据和案例设计数据,以多维度统计业务的数据、功能点的数据和测试案例的数量,体现软件设计过程的效率和成果;
(4-2)根据业务分析数据、系统结构分数据和案例设计数据的关联关系,统计业务情景实现的覆盖率、业务情景测试的覆盖率和系统功能点的覆盖率,体现软件设计过程的完成度和工作完成质量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610613263.9A CN106201899B (zh) | 2016-07-29 | 2016-07-29 | 基于业务分析实现自动生成测试案例的系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610613263.9A CN106201899B (zh) | 2016-07-29 | 2016-07-29 | 基于业务分析实现自动生成测试案例的系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106201899A true CN106201899A (zh) | 2016-12-07 |
CN106201899B CN106201899B (zh) | 2019-01-08 |
Family
ID=57496763
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610613263.9A Active CN106201899B (zh) | 2016-07-29 | 2016-07-29 | 基于业务分析实现自动生成测试案例的系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106201899B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106845781A (zh) * | 2016-12-22 | 2017-06-13 | 中信银行股份有限公司 | 用于业务测试的场景及流程的生成系统和方法 |
CN107480067A (zh) * | 2017-08-18 | 2017-12-15 | 中国银行股份有限公司 | 一种金融类产品的测试分析方法及装置 |
CN107908559A (zh) * | 2017-11-15 | 2018-04-13 | 中国农业银行股份有限公司 | 一种测试案例设计方法及装置 |
CN109062788A (zh) * | 2018-07-17 | 2018-12-21 | 招银云创(深圳)信息技术有限公司 | 测试用例生成方法、装置、计算机设备和存储介质 |
CN109977386A (zh) * | 2019-03-20 | 2019-07-05 | 青牛智胜(深圳)科技有限公司 | 一种基于流式制作的外呼流程制作方法及工具 |
CN111124928A (zh) * | 2019-12-27 | 2020-05-08 | 成都康赛信息技术有限公司 | 一种基于数据的测试用例设计方法 |
CN111813661A (zh) * | 2020-06-15 | 2020-10-23 | 福建省农村信用社联合社 | 一种全局业务数据驱动自动测试方法、装置、设备和介质 |
CN111858324A (zh) * | 2020-07-13 | 2020-10-30 | 中国工商银行股份有限公司 | 一种测试案例的自动生成方法及装置 |
CN113032240A (zh) * | 2019-12-09 | 2021-06-25 | 中车时代电动汽车股份有限公司 | 一种软件测试自动化管理系统及方法 |
CN113220599A (zh) * | 2021-06-22 | 2021-08-06 | 中国农业银行股份有限公司 | 测试用例集的生成方法、装置、设备及存储介质 |
CN113254337A (zh) * | 2021-05-24 | 2021-08-13 | 北京创源微致软件有限公司 | 软件功能测试系统、方法及服务器 |
CN114003495A (zh) * | 2021-10-29 | 2022-02-01 | 四川虹美智能科技有限公司 | 无人售卖柜的安卓应用重构方法、装置及存储介质 |
CN114637692A (zh) * | 2022-05-17 | 2022-06-17 | 杭州优诗科技有限公司 | 测试数据生成及测试案例管理方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102043716A (zh) * | 2010-12-24 | 2011-05-04 | 南京联创科技集团股份有限公司 | 基于业务驱动的软件自动化测试方法 |
CN103530231A (zh) * | 2013-10-12 | 2014-01-22 | 北京京东尚科信息技术有限公司 | 一种基于业务流程控制的应用程序测试方法及系统 |
CN103678135A (zh) * | 2013-12-25 | 2014-03-26 | 普元信息技术股份有限公司 | 大数据环境下实现跨进程与跨线程调试的系统与方法 |
CN104991777A (zh) * | 2015-07-14 | 2015-10-21 | 普元信息技术股份有限公司 | 实现Web应用程序自动化测试视图化开发的系统及方法 |
CN105446876A (zh) * | 2015-11-03 | 2016-03-30 | 北京京东尚科信息技术有限公司 | 一种基于业务维度的自动化测试方法、装置及系统 |
-
2016
- 2016-07-29 CN CN201610613263.9A patent/CN106201899B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102043716A (zh) * | 2010-12-24 | 2011-05-04 | 南京联创科技集团股份有限公司 | 基于业务驱动的软件自动化测试方法 |
CN103530231A (zh) * | 2013-10-12 | 2014-01-22 | 北京京东尚科信息技术有限公司 | 一种基于业务流程控制的应用程序测试方法及系统 |
CN103678135A (zh) * | 2013-12-25 | 2014-03-26 | 普元信息技术股份有限公司 | 大数据环境下实现跨进程与跨线程调试的系统与方法 |
CN104991777A (zh) * | 2015-07-14 | 2015-10-21 | 普元信息技术股份有限公司 | 实现Web应用程序自动化测试视图化开发的系统及方法 |
CN105446876A (zh) * | 2015-11-03 | 2016-03-30 | 北京京东尚科信息技术有限公司 | 一种基于业务维度的自动化测试方法、装置及系统 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106845781A (zh) * | 2016-12-22 | 2017-06-13 | 中信银行股份有限公司 | 用于业务测试的场景及流程的生成系统和方法 |
CN107480067A (zh) * | 2017-08-18 | 2017-12-15 | 中国银行股份有限公司 | 一种金融类产品的测试分析方法及装置 |
CN107908559B (zh) * | 2017-11-15 | 2021-05-07 | 中国农业银行股份有限公司 | 一种测试案例设计方法及装置 |
CN107908559A (zh) * | 2017-11-15 | 2018-04-13 | 中国农业银行股份有限公司 | 一种测试案例设计方法及装置 |
CN109062788A (zh) * | 2018-07-17 | 2018-12-21 | 招银云创(深圳)信息技术有限公司 | 测试用例生成方法、装置、计算机设备和存储介质 |
CN109977386A (zh) * | 2019-03-20 | 2019-07-05 | 青牛智胜(深圳)科技有限公司 | 一种基于流式制作的外呼流程制作方法及工具 |
CN113032240A (zh) * | 2019-12-09 | 2021-06-25 | 中车时代电动汽车股份有限公司 | 一种软件测试自动化管理系统及方法 |
CN111124928A (zh) * | 2019-12-27 | 2020-05-08 | 成都康赛信息技术有限公司 | 一种基于数据的测试用例设计方法 |
CN111813661A (zh) * | 2020-06-15 | 2020-10-23 | 福建省农村信用社联合社 | 一种全局业务数据驱动自动测试方法、装置、设备和介质 |
CN111813661B (zh) * | 2020-06-15 | 2022-07-08 | 福建省农村信用社联合社 | 一种全局业务数据驱动自动测试方法、装置、设备和介质 |
CN111858324A (zh) * | 2020-07-13 | 2020-10-30 | 中国工商银行股份有限公司 | 一种测试案例的自动生成方法及装置 |
CN111858324B (zh) * | 2020-07-13 | 2023-08-25 | 中国工商银行股份有限公司 | 一种测试案例的自动生成方法及装置 |
CN113254337A (zh) * | 2021-05-24 | 2021-08-13 | 北京创源微致软件有限公司 | 软件功能测试系统、方法及服务器 |
CN113220599A (zh) * | 2021-06-22 | 2021-08-06 | 中国农业银行股份有限公司 | 测试用例集的生成方法、装置、设备及存储介质 |
CN113220599B (zh) * | 2021-06-22 | 2024-03-19 | 中国农业银行股份有限公司 | 测试用例集的生成方法、装置、设备及存储介质 |
CN114003495A (zh) * | 2021-10-29 | 2022-02-01 | 四川虹美智能科技有限公司 | 无人售卖柜的安卓应用重构方法、装置及存储介质 |
CN114637692A (zh) * | 2022-05-17 | 2022-06-17 | 杭州优诗科技有限公司 | 测试数据生成及测试案例管理方法 |
CN114637692B (zh) * | 2022-05-17 | 2022-08-19 | 杭州优诗科技有限公司 | 测试数据生成及测试案例管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106201899B (zh) | 2019-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106201899B (zh) | 基于业务分析实现自动生成测试案例的系统和方法 | |
Baier et al. | Bridging abstraction layers in process mining | |
Oriol et al. | FAME: supporting continuous requirements elicitation by combining user feedback and monitoring | |
Vanderfeesten et al. | Evaluating workflow process designs using cohesion and coupling metrics | |
US20160162819A1 (en) | Workflow definition, orchestration and enforcement via a collaborative interface according to a hierarchical procedure list | |
Kusumoto et al. | Estimating effort by use case points: method, tool and case study | |
Lübke et al. | Modeling test cases in BPMN for behavior-driven development | |
Gupta et al. | Nirikshan: Mining bug report history for discovering process maps, inefficiencies and inconsistencies | |
Zhang et al. | Attended process automation in audit: A framework and a demonstration | |
Hayes | Building a requirement fault taxonomy: Experiences from a NASA verification and validation research project | |
Ali et al. | Testing highly complex system of systems: an industrial case study | |
Felderer et al. | Using defect taxonomies for requirements validation in industrial projects | |
Sadeghi et al. | A proposed validation framework for the system theoretic process analysis (STPA) technique | |
O’Hara et al. | Human factors engineering program review model (NUREG-0711) revision 3: update methodology and key revisions | |
CN117541195A (zh) | 一种审计项目智能管理方法及系统 | |
Ansari et al. | Development and validation of a failure-cause-searching and solution-finding algorithm based on complaint information from the use phase | |
Zaid et al. | Issues in software cost estimation | |
Vidoni | Software engineering and R programming: A call for research | |
Kelemen et al. | Towards complexity analysis of software process improvement frameworks | |
Wiesner et al. | An ontology-based environment for effective collaborative and concurrent process engineering | |
Nakatani et al. | Requirements maturation analysis by accessibility and stability | |
Stojanov | Inductive approaches in software process assessment | |
Bai et al. | Hybrid modeling and simulation for trustworthy software process management: a stakeholder‐oriented approach | |
Wetzlmaier et al. | Improving manual change impact analysis with tool support: A study in an industrial project | |
Ardila et al. | FQMaP: Towards a framework quantitative management of processes in small software development organizations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |