论文部分内容阅读
摘 要: 针对传统自动化测试维护成本大、复用性差、技术要求高等问题,提出一种面向业务的软件自动化测试框架。按照业务逻辑和测试脚本分离、测试脚本和测试数据分离、功能模块高内聚低耦合的设计原则,进行分层架构设计,在此基础上开发一系列实用易用的功能模块。实践证明,该自动化测试框架功能丰富、扩展便捷,有效降低自动化测试难度,提高测试工作效率。
关键词: 自动化测试;面向业务;自动化测试框架
0 引言
传统自动化测试,通常针对被测系统特点专项开发自动化测试脚本,当系统功能变更频繁时,自动化测试维护成本很大;测试资产不便于统一的管理,重要测试资产不便于积累和复用;另外,自动化测试对测试人员的开发技术要求,限制了自动化测试的大规模普及和推广。为此,本文给出了一种业务与技术分析、脚本与数据分离的面向业务的测试框架BOSATF(Business Oriented Software Automated Testing Framework)。
1 BOSATF架构设计
1.1 架构设计原则
业务逻辑和测试脚本分离:框架提供协同工作平台,业务人员设计业务组件和业务流,自动化测试技术人员关注具体自动化脚本的开发,两个角色分工明确、高效配合。
测试脚本和测试数据分离:脚本和数据分别独立构建,同一测试脚本适用不同的测试数据,并使得脚本和数据的变更对整个测试工程的维护量降到最低。
框架功能模块高内聚低耦合:分层架构设计,模块内功能专一,模块间功能独立,在满足自动化测试框架基本功能需求的基础上,减少框架维护工作量。
1.2 分层架构设计
BOSATF由资源层、构建层、控制层、服务层和基础函数层等五大组件构成。
资源层提供框架运行过程中所需要自动化测试脚本、测试用例、测试数据和业务流程。各类资源逻辑上互相独立。
构建层负责资源层调度和管理,实现脚本、数据、用例、业务流程的统一管理,为构建层提供一致性服务。
控制层协调构建层基础服务,遵循测试执行计划和测试机群管理规则,按照计划分配测试资源,保证测试执行有序进行。
服务层主要功能有日志信息的收集、缺陷的管理、测试过程中错误场景的恢复以及测试报告的生成。
基础函数层主要提供框架运行过程所需要的通用功能,包括日志管理、字符串格式转换、身份证号生成、保费校验和移动设备控件识别等功能。
2 BOSATF功能模块
2.1 测试用例管理
采用“业务流程分析法”,遵循“合并”和“拆分”原则,把手工测试案例转化成自动化测试案例,并建立映射关系,明确手工测试和自动化测试的对应关系,让测试人员实时掌握自动化测试进度,以便及时制定和调整测试执行方案。
实现自动化测试用例和成熟测试管理工具的互联互通,实现测试用例的导入、导出和多模式测试用例管理功能。
2.2 测试数据的管理
部分中间业务流程测试数据的准备时间占总测试周期的30%。针对这个问题,框架支持测试数据自动生成功能。根据被测功能特点,定制测试数据生成策略,批量自动生成测试数据。
框架同时提供“一次性数据”解决方案。针对部分业务模块测试数据无法恢复的情况,框架记录测试历史数据,避免数据的重复使用。
2.3 业务流程定义模块
该模块提供了可视化业务流程定义功能,降低了框架使用的技术难度。通过该模块,测试人员无需关注技术细节,只需要从业务人员视角定义业务操作流程,实现自动化测试脚本的自动组装。
2.4 测试执行管理
测试执行管理模块调用测试脚本、测试用例、测试数据、业务流程定义等相关服务,分配硬件执行机器资源,执行测试计划。同时,收集测试执行过程信息,为服务层的缺陷管理、测试报告管理提供基础数据依据。
2.5 场景恢复模块
目的是在出现故障的情况下能尽快的恢复系统,保证能快速、准确地正常恢复测试场景。根据故障的不同,明确地定义恢复的策略,制定不同的恢复机制,确保自动化测试在可预知风险前提下,快速恢复测试场景,按计划执行测试案例,保证测试进度。
2.6 缺陷管理模块
该模块采用与常用缺陷管理工具(QC、BugFree、JIRA)集成的办法,提供对发现缺陷的管理功能。支持缺陷状态的自定义,实现缺陷的自动提交,测试处理进度的自动追踪。
2.7 测试报告模块
以測试执行过程日志记录为基础,结合测试计划、测试执行管理等基础信息,提供多模式(TXT,Excel,Word,PDF)测试报告生成功能。
2.8 测试机群管理模块
该模块在实现自动化测试框架基本功能基础上,结合虚拟化IT运维趋势,开发了基于虚拟机技术的机群管理模块。
测试机群从职责上划分为五类:自动化控制调度服务器、资产管理服务器、资产备份服务器、测试执行机群及公共函数服务器。
3 结论
针对传统自动化测试框架不足之处,结合实际工作需求,提出了一种面向业务的软件自动化测试框架-BOSATF。它独立于自动化测试实施过程,作为专题项目开展工作,实现了业务流程管理和技术实现的分离,降低了自动化测试成本,提高了自动化测试大规模推广的技术可行性。
该框架在实现自动化测试框架基本功能基础上,结合虚拟化IT运维趋势,开发了基于虚拟机的机群管理模块。同时,框架提供了开放式集成接口,为与成熟的软件测试管理工具互通集成提供了途径。
实践证明,该自动化测试框架功能丰富、扩展便捷,有效降低了自动化测试难度,提高了测试工作效率。
参考文献:
[1]丁祥武、张钦、韩朱忠,SQL测试用例集的自动生成[J].计算机应用与软件,2012,29(8):185-188.
[2]黄彪贤、熊建斌、李振坤,金融软件功能自动化测试的分析及应用,计算机工程与设计,2012, 33(2):787-790.
[3]裘明星,软件测试中有效运用自动化测试的研究[D].复旦大学,2005.
[4]苏庆、吴伟民、黎凯伦,结构性自动软件测试的设计方法与实现[J].计算机工程与设计,2006,27(8):1417-1419.
关键词: 自动化测试;面向业务;自动化测试框架
0 引言
传统自动化测试,通常针对被测系统特点专项开发自动化测试脚本,当系统功能变更频繁时,自动化测试维护成本很大;测试资产不便于统一的管理,重要测试资产不便于积累和复用;另外,自动化测试对测试人员的开发技术要求,限制了自动化测试的大规模普及和推广。为此,本文给出了一种业务与技术分析、脚本与数据分离的面向业务的测试框架BOSATF(Business Oriented Software Automated Testing Framework)。
1 BOSATF架构设计
1.1 架构设计原则
业务逻辑和测试脚本分离:框架提供协同工作平台,业务人员设计业务组件和业务流,自动化测试技术人员关注具体自动化脚本的开发,两个角色分工明确、高效配合。
测试脚本和测试数据分离:脚本和数据分别独立构建,同一测试脚本适用不同的测试数据,并使得脚本和数据的变更对整个测试工程的维护量降到最低。
框架功能模块高内聚低耦合:分层架构设计,模块内功能专一,模块间功能独立,在满足自动化测试框架基本功能需求的基础上,减少框架维护工作量。
1.2 分层架构设计
BOSATF由资源层、构建层、控制层、服务层和基础函数层等五大组件构成。
资源层提供框架运行过程中所需要自动化测试脚本、测试用例、测试数据和业务流程。各类资源逻辑上互相独立。
构建层负责资源层调度和管理,实现脚本、数据、用例、业务流程的统一管理,为构建层提供一致性服务。
控制层协调构建层基础服务,遵循测试执行计划和测试机群管理规则,按照计划分配测试资源,保证测试执行有序进行。
服务层主要功能有日志信息的收集、缺陷的管理、测试过程中错误场景的恢复以及测试报告的生成。
基础函数层主要提供框架运行过程所需要的通用功能,包括日志管理、字符串格式转换、身份证号生成、保费校验和移动设备控件识别等功能。
2 BOSATF功能模块
2.1 测试用例管理
采用“业务流程分析法”,遵循“合并”和“拆分”原则,把手工测试案例转化成自动化测试案例,并建立映射关系,明确手工测试和自动化测试的对应关系,让测试人员实时掌握自动化测试进度,以便及时制定和调整测试执行方案。
实现自动化测试用例和成熟测试管理工具的互联互通,实现测试用例的导入、导出和多模式测试用例管理功能。
2.2 测试数据的管理
部分中间业务流程测试数据的准备时间占总测试周期的30%。针对这个问题,框架支持测试数据自动生成功能。根据被测功能特点,定制测试数据生成策略,批量自动生成测试数据。
框架同时提供“一次性数据”解决方案。针对部分业务模块测试数据无法恢复的情况,框架记录测试历史数据,避免数据的重复使用。
2.3 业务流程定义模块
该模块提供了可视化业务流程定义功能,降低了框架使用的技术难度。通过该模块,测试人员无需关注技术细节,只需要从业务人员视角定义业务操作流程,实现自动化测试脚本的自动组装。
2.4 测试执行管理
测试执行管理模块调用测试脚本、测试用例、测试数据、业务流程定义等相关服务,分配硬件执行机器资源,执行测试计划。同时,收集测试执行过程信息,为服务层的缺陷管理、测试报告管理提供基础数据依据。
2.5 场景恢复模块
目的是在出现故障的情况下能尽快的恢复系统,保证能快速、准确地正常恢复测试场景。根据故障的不同,明确地定义恢复的策略,制定不同的恢复机制,确保自动化测试在可预知风险前提下,快速恢复测试场景,按计划执行测试案例,保证测试进度。
2.6 缺陷管理模块
该模块采用与常用缺陷管理工具(QC、BugFree、JIRA)集成的办法,提供对发现缺陷的管理功能。支持缺陷状态的自定义,实现缺陷的自动提交,测试处理进度的自动追踪。
2.7 测试报告模块
以測试执行过程日志记录为基础,结合测试计划、测试执行管理等基础信息,提供多模式(TXT,Excel,Word,PDF)测试报告生成功能。
2.8 测试机群管理模块
该模块在实现自动化测试框架基本功能基础上,结合虚拟化IT运维趋势,开发了基于虚拟机技术的机群管理模块。
测试机群从职责上划分为五类:自动化控制调度服务器、资产管理服务器、资产备份服务器、测试执行机群及公共函数服务器。
3 结论
针对传统自动化测试框架不足之处,结合实际工作需求,提出了一种面向业务的软件自动化测试框架-BOSATF。它独立于自动化测试实施过程,作为专题项目开展工作,实现了业务流程管理和技术实现的分离,降低了自动化测试成本,提高了自动化测试大规模推广的技术可行性。
该框架在实现自动化测试框架基本功能基础上,结合虚拟化IT运维趋势,开发了基于虚拟机的机群管理模块。同时,框架提供了开放式集成接口,为与成熟的软件测试管理工具互通集成提供了途径。
实践证明,该自动化测试框架功能丰富、扩展便捷,有效降低了自动化测试难度,提高了测试工作效率。
参考文献:
[1]丁祥武、张钦、韩朱忠,SQL测试用例集的自动生成[J].计算机应用与软件,2012,29(8):185-188.
[2]黄彪贤、熊建斌、李振坤,金融软件功能自动化测试的分析及应用,计算机工程与设计,2012, 33(2):787-790.
[3]裘明星,软件测试中有效运用自动化测试的研究[D].复旦大学,2005.
[4]苏庆、吴伟民、黎凯伦,结构性自动软件测试的设计方法与实现[J].计算机工程与设计,2006,27(8):1417-1419.