论文部分内容阅读
摘要:为提高软件测试自动化资源的可维护性和可重用性,结合在实际项目中软件自动化测试实践,本文提出了基于业务流程驱动(Business Process Testing)模型的自动化测试方案,阐述了该方案的需求背景,介绍了BPT自动化测试框架以及运行流程,并对该方案的实施情况进行了总结。实践表明该方案为企业提升软件开发质量,提高测试工作效率进行了很好的探索与尝试。
关键词:BPT模型;回归测试;自动化测试;测试框架
中图分类号:TP311.52文献标识码:A文章编号:1007-9599 (2013) 05-0000-02
1引言
传统的自动化测试技术,通常是针对被测系统的特点,专门开发的自动化测试脚本。当系统频繁变更时,脚本受到的影响很大,可重复使用的效率很低。另外,自动测试对于测试人员的开发技术要求较高,这就限制了自动化测试的大规模普及和推广。为此,本文提出了基于业务流程驱动(Business Process Testing)模型的BOSS系統自动化回归测试方案,通过构建业务流程模块,简化和加快测试设计流程,让没有专业编程知识的非技术资深专家,也能够参与建立、执行、记录自动化测试工作,同时降低测试资源维护成本,从而提高了测试资源的重用性和软件测试工作效率。
2基于BPT模型的BOSS系统自动化测试需求背景
随着电信行业全业务竞争时代的到来,国内通信行业竞争日趋激烈,业务支撑系统也同样面临着与时俱进的发展考验。BOSS(Business & Operation Support System)系统作为移动企业核心运营支撑系统,承担了业务受理、客户服务等重要职能。当前,BOSS系统规模日渐庞大、复杂,新版本更新频率高达每周一次,软件测试作为软件质量保障的重要环节,如果仍然停留在原有的手工测试和人工管理的水平,已经难以实现对软件质量的全过程科学化管理,使软件质量控制方面存在较大风险。只有坚持通过创新测试技术和方法,才能不断提升系统质量,满足用户日益多元化的需求。为了进一步加强系统质量管理风险防控能力,我们提出建立基于业务流程驱动(Business Process Testing)模型的BOSS系统自动化回归测试方案。
3基于BPT模型的自动化测试框架建设思路
针对BOSS系统规模庞大,复杂度高,变更频繁,手工测试难以满足用户对质量日趋个性化等现状,基于BPT模型的自动化回归测试框架设计遵循了以下原则:
(1)让业务逻辑与测试脚本分离,如图1所示,该方案使没有编程技术背景的业务专家和自动化测试技术人员都能在协同工作平台上高效合作,发挥各自优势;
(2)让测试数据与测试脚本分离,将数据存储在数据库中,测试执行时直接从数据表中读取输入,以增强脚本的利用率和可维护性;
(3)框架结构高内聚低耦合,采用分层架构设计,使模块内功能专一,模块间功能独立,在满足自动化测试框架基本功能需求的基础上,减少框架维护工作量。
图1Business Process Testing工作流程
如图2所示,该方案不同于使用工具简单录制、回放,而是通过构建该自动化测试平台,对业务系统模块的功能点进行抽象和分离,将脚本函数模块化、层次化,提取公共函数,分离业务用例,通过细化每个功能点,使功能点与脚本函数对应起来,并对公共的基本操作和业务函数进行提取和封装,避免对脚本的重复开发,简化对脚本的修改和维护。使用测试管理工具HP Quality Center实现需求管理、测试执行、缺陷跟踪及质量评估等环节的质量管理过程自动化。
图2BPT自动化测试框架
BPT模型包含基础公共函数库、业务模块公共函数库、业务模块级函数库三个级别。
(1)基础公用函数库:通过对自动测试脚本进行二次封装,对被测系统的基本操作和常用功能实现简洁统一的接口,是一组为简化自动化测试脚本编写而开发的公共函数。(2)业务模块公共函数库:从被测系统中提取出公共业务函数,包括:登录、关闭应用、状态恢复函数等,即把登陆等GUI操作参数化后,包装成函数,供其他脚本直接调用,当某操作变化时,只要修改相应函数即可。(3)业务模块函数库:根据被测系统的不同模块,将业务专家编写的业务用例“原子化”,如功能变更数据校验、换品牌数据校验等功能分装成独立函数,建立模块化的结构,便于组件复用。
一般情况下,基础公共函数不需要修改,业务模块公共函数很少需要修改,需要定期维护的大部分为业务模块函数,从而在一定程度上降低了脚本维护量。
4基于BPT模型的自动化回归测试技术实现
基于BPT模型的自动化回归测试框架工作流程如下:(1)由测试经理在HP QC中制定测试计划;(2)由业务专家在HP QC中编写测试需求;(3)由测试工具工程师配置测试环境,准备及管理自动测试数据库;(4)由测试工具工程师在HP QC中进行自动测试流程的执行配置及管理;(5)由测试工具工程师将业务专家编写的测试需求转化成测试脚本,并根据业务变化,定期维护脚本库;(6)HP QC根据预先设定的测试执行计划驱动框架调用各函数库和数据库,自动发起回归测试;(7)测试脚本运行中将完成验证点校验、异常情况处理及测试环境恢复初始化等关键环节;(8)每个用例运行完毕后生成自动测试结果报告和缺陷跟踪报告;(9)所有用例运行完毕后,HP QC将生成整个软件自动测试版本的分析评估报告。
工作成果
测试资源 数量 资源投入 人天
框架函数 11 调研,熟悉环境 2
公共函数 21 框架开发、调试 5
模块函数 12 脚本开发、调试 7
测试案例 38 案例完善 1
功能变更 15 QC配置 2
换品牌 3 数据准备 0.5
批量功能变更 20 执行时间 0.13
5结论
本文讨论了基于BPT模型的BOSS系统自动化测试技术,分析了BPT模型的自动化回归测试实施过程中的需求和难点,重点是构建了基于BPT模型的BOSS系统自动化回归测试框架,该框架有助于提高测试资源的复用性,扩大自动化回归测试的覆盖率,使测试专家和业务专家在BPT自动化测试框架内都能发挥各自的优势,便于尽早的投入测试并发现缺陷,降低了缺陷修复的成本,对于提高测试效率与质量、提高系统的可靠性与可维护性具有重要意义。
参考文献:
[1]孙月英,张红梅.混合测试框架的研究与实现[J].桂林电子科技大学学报,2011(10):365-368.
[2]汪健.面向业务的软件自动化测试框架,高科技产品研发[J].硅谷,2012(21):70-71.
[3]Cem Kaner,James Bach,Bret Pettichord.软件测试经验与教训[M].韩柯等译,机械工业出版社,2004:81-109.
关键词:BPT模型;回归测试;自动化测试;测试框架
中图分类号:TP311.52文献标识码:A文章编号:1007-9599 (2013) 05-0000-02
1引言
传统的自动化测试技术,通常是针对被测系统的特点,专门开发的自动化测试脚本。当系统频繁变更时,脚本受到的影响很大,可重复使用的效率很低。另外,自动测试对于测试人员的开发技术要求较高,这就限制了自动化测试的大规模普及和推广。为此,本文提出了基于业务流程驱动(Business Process Testing)模型的BOSS系統自动化回归测试方案,通过构建业务流程模块,简化和加快测试设计流程,让没有专业编程知识的非技术资深专家,也能够参与建立、执行、记录自动化测试工作,同时降低测试资源维护成本,从而提高了测试资源的重用性和软件测试工作效率。
2基于BPT模型的BOSS系统自动化测试需求背景
随着电信行业全业务竞争时代的到来,国内通信行业竞争日趋激烈,业务支撑系统也同样面临着与时俱进的发展考验。BOSS(Business & Operation Support System)系统作为移动企业核心运营支撑系统,承担了业务受理、客户服务等重要职能。当前,BOSS系统规模日渐庞大、复杂,新版本更新频率高达每周一次,软件测试作为软件质量保障的重要环节,如果仍然停留在原有的手工测试和人工管理的水平,已经难以实现对软件质量的全过程科学化管理,使软件质量控制方面存在较大风险。只有坚持通过创新测试技术和方法,才能不断提升系统质量,满足用户日益多元化的需求。为了进一步加强系统质量管理风险防控能力,我们提出建立基于业务流程驱动(Business Process Testing)模型的BOSS系统自动化回归测试方案。
3基于BPT模型的自动化测试框架建设思路
针对BOSS系统规模庞大,复杂度高,变更频繁,手工测试难以满足用户对质量日趋个性化等现状,基于BPT模型的自动化回归测试框架设计遵循了以下原则:
(1)让业务逻辑与测试脚本分离,如图1所示,该方案使没有编程技术背景的业务专家和自动化测试技术人员都能在协同工作平台上高效合作,发挥各自优势;
(2)让测试数据与测试脚本分离,将数据存储在数据库中,测试执行时直接从数据表中读取输入,以增强脚本的利用率和可维护性;
(3)框架结构高内聚低耦合,采用分层架构设计,使模块内功能专一,模块间功能独立,在满足自动化测试框架基本功能需求的基础上,减少框架维护工作量。
图1Business Process Testing工作流程
如图2所示,该方案不同于使用工具简单录制、回放,而是通过构建该自动化测试平台,对业务系统模块的功能点进行抽象和分离,将脚本函数模块化、层次化,提取公共函数,分离业务用例,通过细化每个功能点,使功能点与脚本函数对应起来,并对公共的基本操作和业务函数进行提取和封装,避免对脚本的重复开发,简化对脚本的修改和维护。使用测试管理工具HP Quality Center实现需求管理、测试执行、缺陷跟踪及质量评估等环节的质量管理过程自动化。
图2BPT自动化测试框架
BPT模型包含基础公共函数库、业务模块公共函数库、业务模块级函数库三个级别。
(1)基础公用函数库:通过对自动测试脚本进行二次封装,对被测系统的基本操作和常用功能实现简洁统一的接口,是一组为简化自动化测试脚本编写而开发的公共函数。(2)业务模块公共函数库:从被测系统中提取出公共业务函数,包括:登录、关闭应用、状态恢复函数等,即把登陆等GUI操作参数化后,包装成函数,供其他脚本直接调用,当某操作变化时,只要修改相应函数即可。(3)业务模块函数库:根据被测系统的不同模块,将业务专家编写的业务用例“原子化”,如功能变更数据校验、换品牌数据校验等功能分装成独立函数,建立模块化的结构,便于组件复用。
一般情况下,基础公共函数不需要修改,业务模块公共函数很少需要修改,需要定期维护的大部分为业务模块函数,从而在一定程度上降低了脚本维护量。
4基于BPT模型的自动化回归测试技术实现
基于BPT模型的自动化回归测试框架工作流程如下:(1)由测试经理在HP QC中制定测试计划;(2)由业务专家在HP QC中编写测试需求;(3)由测试工具工程师配置测试环境,准备及管理自动测试数据库;(4)由测试工具工程师在HP QC中进行自动测试流程的执行配置及管理;(5)由测试工具工程师将业务专家编写的测试需求转化成测试脚本,并根据业务变化,定期维护脚本库;(6)HP QC根据预先设定的测试执行计划驱动框架调用各函数库和数据库,自动发起回归测试;(7)测试脚本运行中将完成验证点校验、异常情况处理及测试环境恢复初始化等关键环节;(8)每个用例运行完毕后生成自动测试结果报告和缺陷跟踪报告;(9)所有用例运行完毕后,HP QC将生成整个软件自动测试版本的分析评估报告。
工作成果
测试资源 数量 资源投入 人天
框架函数 11 调研,熟悉环境 2
公共函数 21 框架开发、调试 5
模块函数 12 脚本开发、调试 7
测试案例 38 案例完善 1
功能变更 15 QC配置 2
换品牌 3 数据准备 0.5
批量功能变更 20 执行时间 0.13
5结论
本文讨论了基于BPT模型的BOSS系统自动化测试技术,分析了BPT模型的自动化回归测试实施过程中的需求和难点,重点是构建了基于BPT模型的BOSS系统自动化回归测试框架,该框架有助于提高测试资源的复用性,扩大自动化回归测试的覆盖率,使测试专家和业务专家在BPT自动化测试框架内都能发挥各自的优势,便于尽早的投入测试并发现缺陷,降低了缺陷修复的成本,对于提高测试效率与质量、提高系统的可靠性与可维护性具有重要意义。
参考文献:
[1]孙月英,张红梅.混合测试框架的研究与实现[J].桂林电子科技大学学报,2011(10):365-368.
[2]汪健.面向业务的软件自动化测试框架,高科技产品研发[J].硅谷,2012(21):70-71.
[3]Cem Kaner,James Bach,Bret Pettichord.软件测试经验与教训[M].韩柯等译,机械工业出版社,2004:81-109.