基于电信业务支撑系统计费账务功能的软件测试
   来源:中国科技博览     2021年07月06日 08:37

业务

兰天骄

[摘 要]本文主要介绍通过软件测试来控制需求,保证开发质量,利用改进后的V模型作为计费系统的测试模型来对系统进行测试,对计费系统的执行面向对象的测试并对测试结果进行分析,包括功能以及性能测试;利用测试工具将集成测试的接口测试放到功能测试中来介绍,避免了传统的集成测试手动测试接口的麻烦,提高了效率。

[关键词]软件测试,V模型,面向对象、计费系统测试

中图分类号:TP301 文献标识码:A 文章编号:1009-914X(2016)29-0311-01

1、前言

在中国联通集团公司不同时期战略、业务和技术发展牵引下,中国联通BSS核心系统由分散逐步走向集中,经过近几年来的持续建设和积累,促使联通IT支撑架构发生了深刻变化,建立起了全国集中BSS系统,即cBSS系统,系统按照模块建设,实现了计费账务应用软件的统一版本管理,完成了业务支撑系统计费账务功能的开发。计费账务功能主要实现由集中采集系统提供的原始话单的格式化,并对格式化完毕的标准话单结合用户资料进行计费处理,通过计费子系统对话单费用及固定费用进行合帐处理形成账户的帐单数据,统计查询子系统对用户费用、业务量和财务数据指标数据进行采集,最后通过账务管理功能完成账户费用的收取,对通讯企业日后的发展起到良好的作用,和积极的影响,对提高公司的办公效率,对支撑系统计费账务功能的研究也在不断的完善和进步,与同行一起沟通和交流。

2、电信业务支撑系统计费账务功能的测试设计与计划

2.1 计费账务系统测试目的和原则

2.1.1 测试目的

软件测试的目的决定了如何去组织测试。如果测试的目的是为了尽可能多地找出错误,那么测试就应该直接针对软件比较复杂的部分或是以前出错比较多的位置。如果测试目的是为了给最终用户提供具有一定可信度的质量评价,那么测试就应该直接针对在实际应用中会经常用到的商业假设。然而,不同的机构会有不同的测试目的;相同的机构也可能有不同测试目的,可能是测试不同区域或是对同一区域的不同层次的测试。

2.1.2 测试原则

目前企业中广泛应用的测试原则如下:

1、所有的测试都应追溯到用户需求。正如我们所知:软件测试的目标在于揭示错误。而最严重的错误(从用户角度来看)是那些导致程序无法满足需求的错误。

2、应该在测试工作真正开始前的较长时间内就进行测试计划。测试计划可以在需求模型一完成就开始,详细的测试用例定义可以在设计模型被确定后立即开始。因此,所有测试应该在任何代码产生前就进行计划和设计。

3、Pareto原则应用于软件测试。简单地讲,Pareto原则暗示着测试发现的错误中的80%很可能起源于程序模块中的20%。当然,问题在于如何孤立这些有疑点的模块并进行彻底的测试。

4、测试应从“小规模”开始,逐步转向“大规模”。最初的测试通常把焦点放在单个程序模块上,进一步测试的焦点则转向在集成的模块簇中寻找错误,最后在整个系统中寻找错误。

5、穷举测试是不可能的。即使是一个大小适度的程序,其路径排列的数量也非常大。因此,在测试中不可能运行路径的每一种组合。然而,充分覆盖程序逻辑,并确保程序设计中使用的所有条件是有可能的。

6、为了达到最佳效果,应该由独立的第三方来构造测试。“最佳效果”指最有可能发现错误的测试(测试的主要目标),所以创建系统的软件工程师并不是构造软件測试的最佳人选。

7、不充分的测试是不负责任的;过分的测试是一种资源的浪费,同样也是一种不负责任的表现。

2.2 测试模型设计

V模型的价值在于它非常明确地标明了测试过程中存在的不同级别,并且清楚地描述了这些测试阶段和开发过程期间各阶段的对应关系:

·单元测试的主要目的是针对编码过程中可能存在的各种错误,例如用户输入验证过程中的边界值的错误。

·集成测试主要目的是针对详细设计中可能存在的问题,尤其是检查各单元与其它程序部分之间的接口上可能存在的错误。

·系统测试主要针对概要设计,检查了系统作为一个整体是否有效地得到运行,例如在产品设置中是否达到了预期的高性能。

·验收测试通常由业务专家或用户进行,以确认产品能真正符合用户业务上的需要。

模型左边是开发阶段,右边是与各个开发阶段对应的测试。他们的执行顺序都是从上到下,测试与开发并行进行。如需求分析阶段就有制定测试计划和测试需求这两个测试步骤;软件设计阶段就设计此阶段的测试用例并测试设计阶段得出的结果。每个阶段都要设计相应的测试用例,一旦得出了可测试的结果,就对其进行测试。这也符合尽早地和不断地进行测试这个原则。而且这样的话测试小组和开发小组就可以更好地合作,有利于资源利用。

根据制定的测试模型加之用户对计费账务系统需求的紧迫性,因此,测试流程决定根据改进后的V模型进行测试。

用户将需求提至需求管理平台,针对用户提出的需求进行需求点设计,之后进行测试,对于测试中遇到的问题,测试人员可以与用户以及可开发人员进行三方沟通,以确定最终需求。与此同时完成系统的系统测试用例设计。

需求分析测试通过后,在系统设计中,测试人员将完成的系统原型进行界面以及简单的功能测试同时将代码提交到任务管理中。这时,测试组长会将测试任务单分派到测试人员,测试人员同时完成集成测试用例。功能测试中出现的问题通过任务管理回复给开发人员修改。

2.3 计费账务系统测试方法设计

由于系统开发语言为Java和C++,该两种语言均具备OOP的特征,因此,系统的测试方法应以面向对象的测试方法为主。

1、编码

测试方法为代码审查与单元测试。OOP的最小单位为类,因此,在每完成一个类的开发后,开发人员均需要进行配对代码审查。同时,需要使用自动化工具建立自动化单元测试,以保证所有的单元测试均具备可追溯性和自动化执行性。

2、系统各功能模块

测试方法主要为模块内的各业务单元的集成测试(也可称为模块内部的系统测试)。

3、系统各层次间与各功能间的通信

测试方法为接口测试、业务流测试、数据流测试。针对接口测试,由开发测试工程师(SDET)开发出独立的接口测试工具,针对接口的输入输出进行比对。业务测试则是根据业务需求模拟出各种应用场景(Scenario),来检验系统各模块间的业务流向是否正确。数据流测试则是基于业务流之上的,对业务流中的数据进行校验的测试,需将业务流的每一步所产生的数据记录日志中,并对其进行分析。

4、系统性能测试

使用性能自动化工具自动模拟一定数量的用户并发触发系统,检测系统在指定并发时的各响应及其性能指标是否符合需求。

5、安全性测试

可以模拟数据灾难的发生和黑客的入侵。对于用户权限的测试,需要使用不同权限搭配的用户进行测试。

3、结束语

随着中国电信市场的不断开放,竞争程度也日趋激烈,发展高端客户,创新商业模式已经成为中国联通公司的主要战略措施,尤其是全国集中计费的模式已成了为当前的主要任务。为了满足不断发展的电信市场的需求,计费账务功能需要完整的计费账务运作体系。该支撑系统计费账务功能的软件测试对电信系统在日后具有重要的作用。

参考文献

[1] 《项目管理——项目思维与管理关键》丁荣贵著机械工业出版社.

[2] 《软件测试的艺术》(美)GlenfordJ.Myers等著,王峰陈杰译,机械工业出版社.

[3] 《面向对象的软件测试》(美)JohnD.McGregorDavidA.sykes著,杨文宏李新辉杨洁等译,机械工业出版社.

测试 文章 系统