论文部分内容阅读
信息化系统能给应用的业务领域带来巨大的变革,但是随着业务领域行业的功能细化与服务全面化,伴之而来的是给相关业务领域的信息化系统开发带来了巨大的挑战,即要求系统开发人员同时精通相关业务及软件开发两个领域的知识,这对开发人员是不现实的。此外,成功开发信息系统的前提是满足客户的需求,如何对客户的业务需求全面、准确地理解是信息系统开发的关键和基础。
在现实的信息系统开发中对需求的理解不够全面、不准确的事常有发生。
影响业务需求建模的因素有很多,比如自然语言特有的歧义性,业务人员、开发人员、测试人员由于技术知识背景不同,造成对业务需求的理解不一致等。
可能造成交付的信息系统部不能按照客户的需求运转,给社会带来巨大损失。
针对上述问题,本文研究基于业务规则的形式化表达以及业务规则分析方法在自动化测试中的应用,业务规则分析方法能消除对业务需求理解不全面、不准确的问题。经过深入的理论研究发现,最终能作为标准的是业务本身,业务由一系列的规则组成,软件需求无外乎是对业务的某种表达,但是这种表达即不完全也未必全然正确,业务有其内在的“逻辑”,这种逻辑可以通过“业务分析”的过程予以揭示,这种逻辑是独立于IT技术的。不管有没有相应的计算机应用,任何业务都可以表达为流程(业务流)、规则和要素。
在得到一种业务意图的所有业务规则后,按业务流,以时间轴为中心线将业务规则形式化表达出来,形式化表达出来的每一条规则语句都是该业务意图的一条分支路径。本文采用将业务规则完全组合的方法,所以生成的业务规则语句涵盖了业务意图的所有分支路径。在本文中还建立了规则语句筛选模块,该模块对组合后的规则语句进行筛选,筛选掉在业务系统中无实际意义的规则语句,最终得到的业务规则语句能真实、全面代表真实的业务需求。
高度复杂的业务系统不仅给系统的开发带来了很大的难度,也给软件测试带来了极大的挑战。软件测试是软件质量保证的重要手段,在软件开发及验收的过程中得到了高度重视,因此对高效、准确、自动化的软件测试方法的需求也日趋迫切。一条规则语句代表一个业务意图的解决分支路径,由于规则语句由原子规则组成(在软件测试中一条规则语句代表一个测试用例,原子规则代表测试用例中的一个属性),因此业务规则语句能与测试数据进行自动化组合,这就能自动化生成测试用例,将在软件中的自动化应用在测试用例生成阶段。
本文基于所研究的业务规则分析方法设计了业务分析平台BAP(BusinessAnalysis Plat form),该平台实现了业务规则组合、规则语句筛选、测试用例生成等功能,由该BAP 平台生成的测试用例可应用于基于WebService 服务接口的自动化测试。此外,本文所研究的业务规则分析方法在设计与实现报表系统自动化测试平台中也得到了有效地应用。