顾建瑜++赵宫明
摘 要:基于数据源分解判定业务回归测试范围是通过建立回归测试范围数据分析模型,对上线的软件版本实际变更内容与全业务功能的关联影响量化分析,获得变更内容的影响范围,为业务回归测试的范围确定提供科学、有效的数据支撑。
关键词:数据源分解 回归测试 需求版本 数据实体
中图分类号:TN967 文献标识码:A 文章编号:1674-098X(2016)12(a)-0096-02
吉林移动的业务运营支撑系统规模庞大、结构复杂、内部的关联关系复杂。由于业务发展变化迅速,信息化系统也会做频繁的版本变更,对系统变更的质量保障至关重要。
对系统版本变更的交付测试验证,是系统质量保障的重要手段,不仅仅要测试当前变更的功能,还要分析当前变更的功能有哪些关联影响,对于被影响的业务、功能,要执行业务回归测试,以减少系统上线的质量漏洞。
1 现有判定业务回归测试范围方法存在的缺点
目前业务回归测试范围的确定主要依赖于测试人员积累的经验,根据经验判断要做哪些相关业务、功能的回归测试。这些经验缺少基于可靠数据的量化分析。
通常系统版本上线时间要求都非常紧,不可能做全面的业务回归测试,而业务回归测试范围确定不准确,会导致质量验证的漏洞,严重影响系统可靠性。
2 基于数据源分解判定业务回归测试范围的方案
该方案是建立回归测试范围数据分析模型,该模型包括:全业务数据源分析引擎、需求版本数据源识别引擎、回归测试范围数据源多元比对引擎,旨在提出一种基于数据源分解的可量化的业务回归测试范围分析模型。
2.1 全业务数据源分析引擎
其是将业务运营支撑系统中所有的业务功能、源程序、数据结构等,通过数据源之间的调用关系寻找它们的依赖关系,包括:
(1)将业务运营支撑系统全业务数据源按数据源类型分类。(2)利用Java中的BufferedReade和FileReader进行递归运算遍历业务运营支撑系统全业务数据源,组建全业务数据源关联关系模型,确定业务运营支撑系统数据源的范围边界。(3)将遍历后得到的关系结果存储到数据库中。
2.2 需求版本数据源识别引擎
主要通过需求版本重叠探测器、需求版本属性识别器、需求版本规则识别器三方面。
(1)需求版本重叠探测器:判定需求版本是否与版本库需求重叠提交,避免工作资源的浪费。(2)需求版本属性识别器:确定并记录需求版本所对应的各类数据源的修改点。(3)需求版本规则识别器:利用全业务数据源分析引擎解析需求版本所对应数据源之间的依赖关系。
2.3 回归测试范围数据源多元比对引擎
采用ORACLE数据游标指针技术作为源数据的比对方式。
3 主要技术实施方案描述
下面对基于数据源分解判定业务回归测试范围在业务运营支撑系统的实际应用中所采用的技术实施方案进行描述,包括三个方面。
3.1 全业务数据源分析引擎描述
将业务运营支撑系统的全业务数据源分为5类:业务功能、源程序、函数与结构体、数据实体、实体字段,把全业务源数据分解为若干的部分。
利用Java中的BufferedReade和FileReader进行递归运算遍历业务运营支撑系统全业务数据源,组建全业务数据源关联关系模型。利用Java程序编写递归函数,对现有业务运营支撑系统全业务涉及的所有源数据进行读取。利用源数据分类及每个类别所特有的关键字对源数据进行解析。将遍历后得到的关系结果以多维变长数据形式存储到数据库中,作为技术数据保存。
3.2 需求版本数据源识别引擎描述
其包含需求版本重叠探测器、需求版本属性识别器、需求版本规则识别器三方面,通过以下技术措施一并实现。
建立业务运营支撑系统需求版本属性识别器。确定并记录需求版本所对应的各类数据源的修改点,包括软件版本变更的内容清单(变更的功能,变更的程序,变更的数据实体)。通过需求版本属性识别器,将变更的数据源名称入库,并对该次需求版本变更的数据源通过全业务数据源分析引擎解析入库。利用自动化版本比对,得到修改点。将结果同样以多维变长数据存储到数据库中,作为全业务数据源分析引擎结果比对的基础数据。
3.3 回归测试范围数据源多元比对引擎描述
采用数据游标指针技术对源数据进行笛卡尔乘积运算比对。确定全业务数据源与需求版本数据源比对范围。包括:程序比对、函数比对、机构体比对、关键字比对、数据实体比对、数据字段比对。利用数据库技术将需求版本数据源识别引擎所分析的结果,逐一与全业务数据源分析引擎的全业务关联关系进行比对。一个系统功能与多个应用程序/函数/数据实体相互对应,而多个应用程序/函数/数据实体也同样对应一个或多个系统功能/应用程序,这样逐个数据源分解就会形成一个网状结构,众多的全业务数据源与需求版本数据源交织在一起,构成了它们之间存在的必然关联,形成了基于数据源分解判定业务回归测试模型的核心部分。这也正是这个技术专利的关键所在,随意触发一个需求版本的数据源,都可以透过这些关联将与其密切关联、受其影响的系统功能/应用程序及数据实体轻易找到,从而保证了回归测试的完整性及准确性。
4 基于数据源分解判定业务回归测试范围的优点
采用基于数据源分解判定业务回归测试范围的方案后,有效降低了软件版本升级对原有系统的不确定性影響,大幅提升了系统的可靠性和稳定性。
4.1 业务回归测试范围分析有可靠的数据依据
通过数据源分解可以对系统全业务涉及的所有数据源进行分析,保证了基础数据的最大范围,避免了数据源的遗漏,有效提高了业务回归测试的覆盖度,从而提高了对系统交付测试验证的质量,减少了质量漏洞,降低了需求版本上线风险。
4.2 业务回归测试范围分析效率的提升
现有技术方案采用人为经验判断及人工读取代码的方式进行,而该方案采用的是计算机智能数据源分解自动化处理的方式。一个经验丰富的开发人员每分钟编写代码约30行,读取代码约60行,而该发明采用计算机自动分析每分钟分析数量8 500行左右,是人工分析的140倍。该方案随着硬件性能的提升,具备更大效能提升的空间。
4.3 业务回归测试范围分析知识可持续积累和复用
采用数据源分解的业务回归测试范围、测试方案管理可以有效地形成知识的积累和沉淀,并借此创建知识库,有助于业务人员、测试人员水平的快速提高及知识传递。
参考文献
[1]王轶辰.软件测试从入门到精通[M].电子工业出版社,2010.
[2]埃克尔,著.Java编程思想[M].陈昊鹏,译.机械工业出版社,2007.
[3]史嘉权.数据库系统概论[M].清华大学出版社,2006.