首页 >> >> 通信世界 >> 总第475期 >> IT支撑 >> 正文
 
CRM的自动化测试研究
http://www.cww.net.cn   2010年8月2日 09:32    通信世界周刊    
作 者:中国移动福建公司信息系统部 郑澜

软件测试是软件开发生命周期中的一个重要环节,其目的在于发现软件中的错误,确保软件的质量。随着近几年移动通信新业务的不断推出及3G的正式商用,移动通信的业务关联度越来越高,业务支撑系统内部结构也变得越来越复杂。在业务支撑系统的每次新业务上线测试中,新业务对老业务的影响程度越来越难以预估,这给测试工作带来了许多不确定的因素。

全覆盖的回归测试必不可少

在实际的软件上线中,常常会出现新业务上线后功能正常、但一些老业务功能却变得不正常的情况。究其原因,在于新业务在开发过程中,修改了一些与老业务共用的模块或内部接口,由于对系统关联度认知与把控不够,造成了一些相关联的老业务没有测试或是测试不充分,最终导致了新业务上线后老业务功能异常的情况。我们通常将对老业务的测试称为“回归测试”,回归测试的正确性对软件质量有着举足轻重的作用。

在可预见的未来几年内,移动通信的业务种类将会越来越多,各业务间的关联度会越来越高。为防止新老业务相互影响的情况发生,应加强业务支撑系统内部软件结构的梳理与规划,在编写测试用例时充分考虑到业务的关联性,但这主要还是依赖于人为的判断。俗话说:“智者千虑,必有一失。”谁也不能保证在每次的新业务测试中,都能准确地判断出与之相关联的老业务做到回归测试的百分之百覆盖。在这种情况下,进行全系统的地毯式全覆盖测试,就成为回归测试的一个重要解决方案

业务支撑系统是一个非常庞大的计算机软件系统,功能繁多,进行全系统的地毯式全覆盖测试,将会出现成千上万甚至是几十万个测试用例,这并非靠手工测试所能完成,于是我们需要引入自动化测试的方法。自动化测试是指通过计算机软件编程,由计算机来自动完成测试工作的一种测试方法,与手工测试一样,包括数据准备、测试执行、结果校验等环节。自动化测试系统本身就是一个计算机软件系统,在CRM(Client   Relation   Management,客户关系管理)领域,目前较成熟的产品有QTP(Quick Test Professional)、WinRunner等等。

如何建设自动化测试系统

建设自动化测试系统,首先必须建立起完备的测试用例库。在CRM测试中,需要记录每个业务测试的预置条件、测试步骤、结果验证标准等信息,但这些信息还仅仅只能应用于手工测试。在自动化测试中,测试用例库中还必须详细地记录预置条件相关界面中各个界面元素的名称、需要输入的数值、测试执行的按钮或链接、结果验证相关界面中各个界面元素的名称及其对应的数值。

完成测试用例库的编写后,就可以进行自动化脚本的编写开发工作。以QTP为例,采用的是VB Script,开发者需具备一定的VB编程基础。自动化测试与手工测试一样,包括数据录入、测试执行、结果验证等部分,将原先通过手工逐步操作的内容以脚本的形式记录下来,包括文本框的数据输入、下拉框的数据选择、执行按钮的点击等等。与软件编程一样,自动化脚本的编写也是一项艰苦的软件开发工作。自动化脚本编写完成后,就可以由电脑来进行自动化测试了。

自动化测试的执行效率非常高,一个复杂的测试项目,从录入数据、测试执行到结果验证一般只需几秒钟就可以完成,远远高于手工测试的速度。全系统的自动化回归测试一般只需要几个小时到十几个小时就能完成,这就使得在每次新版本上线前,都能进行一次全系统的回归测试,有效地确保了软件的质量。新上线业务对一些相关联业务的影响有时难以准确判断,通过全系统的自动化测试,能够在测试阶段及时发现,从而杜绝了在上线后出现故障。

自动化测试系统的建设是一个工作量巨大的工程,不仅在测试用例库的编写上比手工测试更为复杂、严格,而且自动化脚本的编写也是一项相当耗时耗力的工作,绝不亚于被测试软件的开发过程,因此自动化测试系统建设的成本是非常高的。

[1]  [2]  
相关新闻
编 辑:徐亮    联系电话:010-67110006-887
[收藏] [打印] [进入论坛] [推荐给朋友]
关键字搜索:CRM  测试  
文章评论查看评论()
昵称:  验证码:
 
重要新闻推荐
每日新闻排行
企业黄页
会议活动