中国移动福建公司业务支撑系统部 | 郑澜
避免人工失误移动计费系统尝试自动化测试
中国移动福建公司业务支撑系统部 | 郑澜
目前计费测试大多采用手工方式,能够测试的用例数量非常有限,测试结果也采用人工判断的方式,工作量大且效率低下。
面对激烈的市场竞争及复杂的业务模式,业务支撑系统开发量与维护量都呈现大幅增长的趋势。如何确保计费项目上线的质量,成为当前业务支撑系统的重中之重。目前计费测试大多采用手工方式,能够测试的用例数量非常有限,测试结果也采用人工判断的方式,工作量大且效率低下。采用计费自动化测试,不仅有助于全面提高测试质量,还能提高计费项目的上线正确率。
测试时间紧,测试任务重
业务支撑系统开发量的大幅增长引发了验收测试工作量的大幅增长,各个业务间的关联性越来越高,回归测试工作量也不断增大,计费测试需要采用自动化的方式在有限时间内完成大量的测试工作。
测试用例设计不规范
目前的情况是,绝大部分测试用例都依靠手工编写,但不同测试人员的经验和技能的差异会使得其设计出的测试用例参差不齐,这样做不仅使得评审测试用例的时间和人力投入较大,而且还容易出现遗漏。
手工测试覆盖面非常有限
手工测试效率较低,在有限时间内只能进行有软件变更部分的测试以及少量的回归测试,不可能将所有业务全部进行覆盖。更重要的是,手工测试结果完全靠人为判断,存在人工失误的风险。
在测试环境上进行大批量的话单计费测试是计费测试常用的一个手段,一般采用新旧系统分别计费后进行话单比对的方式来发现可能存在的问题。但由于一个用户可能申请多个套餐,系统对批价优先级相同并且计费结果相同的套餐在处理顺序上可能存在随机性的差异,就会造成套餐累加顺序不同,进而导致后续话单计费结果不同,有问题与没有问题的话单都出现计费结果不同的情况,并混杂在一起,使测试效果大打折扣。因此,我们迫切需要一个能够对测试过程与测试结果进行精细化管理与分析的自动化测试系统。
无成熟测试工具支持
CRM系统采用通用的Web界面开发,已能通过QTP等通用的自动化测试工具进行自动化测试,而计费系统具有很强的行业特性,目前还没有成熟测试工具支持,许多领域都需要自行探索。
综合分析了计费测试特点和业务流程,中国移动福建公司自主开发了计费自动化测试系统,即BAS系统(BOSS Automation testing System),测试的业务包括语音、短信、彩信、GPRS、WLAN、4G、宽带等话单。
计费自动化测试根据基础资费及套餐的优惠分段,有针对性地生成对各种计费场景全覆盖的测试话单库,再经过不同的测试线进行批价,最后由自动化测试系统对不同测试线的计费结果进行比对,从而找出可能存在的问题。
图1 计费自动化测试系统模块功能
这种测试方法能够有效地克服计费手工测试的许多缺点,测试覆盖面大、测试用例与测试过程规范、测试效率高、测试针对性强,根据测试需要既可以专门对单一套餐进行测试,也可以根据排列组合原理对多套餐组合进行测试。根据套餐资费的不同特点,一个套餐的测试一般仅需准备1~2个测试用户即可,测试话单在3~6万条左右。具体可以通过两种方法实现。
一是由自动化测试系统与测试环境待上线版本分别进行批价(即图1中的测试线1与测试线3),再将两个批价结果进行比对,用以检测测试环境待上线版本批价结果是否正确。这种方法对自动化测试系统的批价能力要求较高,自动化测试系统要与计费系统同步开发,开发成本较高,而且两个测试线都是新开发的版本,本身都有出错的可能。这种方法既能用于对待上线的新业务进行测试,也能用于对原有业务进行回归测试,在理论上较完美,但在实施过程中难度较大。
二是在测试环境由已上线版本与测试环境待上线版本分别进行批价(即图1中的测试线2与测试线3),再将两个批价结果进行比对,用以检测测试环境待上线版本批价结果是否正确。这种方法对自动化测试系统要求不高,无需具备批价能力,仅需具备生成测试话单库及原始话单的能力。除非计费系统出现重大改变,否则自动化测试系统无需进行变更,可实施性强,开发成本低。但如果出现已上线版本仍存在未被发现的问题,由于新旧版本计费结果相同,未被发现的问题将从此被掩盖。这种方法仅能用于对原有业务进行回归测试,不能用于对待上线的新业务进行测试,虽然在理论上有瑕疵,但可实施性强,每次上线前对300档用户数最多的套餐进行测试,测试覆盖用户达到90%以上。
计费自动化测试系统包括如下功能模块。
测试话单的生成:该模块主要是根据呼叫类型、计费方号码、对方号码、通话起始时间、通话时长、动态漫游号、漫游地等维度,根据一定的规则生成标准格式的话单,测试话单生成是计费自动化测试系统的源头,生成的测试话单是否全面将接影响测试的覆盖率。
原始话单生成:该模块根据当前业务支撑系统中的原始话单的格式需求,生成用于业务支撑系统处理的原始话单,包括各类二进制格式、文本格式的话单文件。
批价:该模块利用自动生成的测试详单,在计费自动化测试系统进行批价处理,以及批价后的检查。
结果比对:该模块对不同测试线批价后的详单进行比对,并自动生成对比结果、比对信息统计等。
测试效率高:计费自动化测试系统的每个模块处理由界面触发,系统后台处理,处理效率大大提升,不仅测试用例数大大增加,而且节约人工测试成本。
测试覆盖率高:测试话单量大大提高,测试覆盖率接近100%,基本能覆盖各种拨打情况。例如对一个套餐的测试,计费自动化测试系统共生成约6万条测试话单,基本做到了全覆盖测试。
测试准确率高:自动化测试结果由系统进行自动比对,杜绝了人为比对可能出现的差错,测试结果的准确性高。