注册 | 登录 忘记密码? 51cto首页 | 博客 | 论坛 | 招聘
热点文章 用了十年的QQ号,第二次被..
 帮助

Oracle数据库专家项目开发经验 之三(2006中国杰出数据库工程师评选)


2007-03-28 21:25:19
 标签:Oracle 项目   [推送到技术圈]

刑海捷项目五:中国电信本地电信业务计费帐务系统统一检测项目
项目简介(功能与用途):
随着1998-1999年间,原中国电信“九七工程”(电话业务计算机综合管理系统)的全面展开与完善以及电信企业经营管理的需要,原来作为“九七工程”子系统的计费系统的重要性日益显著,有必要将其独立出来,开发与建设新的“本地电信业务计费帐务系统”。根据“九七工程”及其它信息系统建设的经验与教训,中国电信提出了“统一需求、统一设计、统一检测、按省实施”的工作方法,而“统一检测”是其中的关键一环,工作内容是对同中国电信签署了合作开发合同的六十余家软件厂商开发的系统进行检测。其目的主要在于保证本地计费帐务系统改造工作的顺利进行,保证本地计费帐务系统核心部分的统一性,为各省提供一个高质量的应用软件选择范围,促进应用软件开发商提高软件开发质量,不断完善、补充和修改应用软件。
 项目难点与解决方法:
此项目的特点在于它是对基于数据库的应用软件进行大规模(参测厂商有六十余家)的入围检测。
此次应用软件检测工作是中国电信首次,也是中国计算机行业少有的大规模进行的针对应用软件的集中检测工作,难点在于没有任何经验可以借鉴,因此检测准备工作是否细致、充分,直接关系到检测工作的成功与否。为此,在原中国邮电电信总局的领导下,检测工作组很早即着手开展了应用软件检测的各项准备工作,包括与国内外公司、专家进行交流、学习和讨论,检测总体方案的制定,检测平台方案的制定,检测组织方案的制定,检测工作人员的培训,检测环境的搭建,测试数据的准备,测试用例的编制,检测标准的量化等诸项工作。最终形成了总体检测方案以及各分项检测方案,成立了相应的组织机构,制订了严密的制度与管理条例。以下几个环节是该项目成功的关键。
一、检测工作的定位与角度
此次检测不同于软件厂商内部进行的软件测试,内部软件测试是软件开发周期内的一个重要环节,其目的在于找出程序中存在的问题和错误。而此次检测是在应用软件内部测试的基础上,从符合度和规范性两个方面进行的检查和测试,即检测应用软件与中国电信相关规范的符合程度。
二、检测内容
根据检测工作的定位、角度及当时软件开发普遍存在的问题,检测的主要内容包括文档评测、安装评测、数据字典静态检查、功能检测、性能检测等五个方面内容。
1 文档评测:当时国内软件开发还很不规范、重程序轻文档的现象普遍存在,而软件=程序+文档,没有规范的、与实际情况相符的文档,随着时间的推移与软件企业人员的流动,应用系统将越来越难以维护,这不仅是软件开发企业的问题,也将直接影响软件使用单位的利益。所以为了检查软件的开发过程是否规范,文档检查是必不可少的一环。
2 安装评测:应用程序的安装应该快速、简便,尤其是客户端的程序,不仅开发人员可以安装,维护人员也应容易掌握。
3 数据字典静态检查:相关规范规定各开发单位必须严格执行相关设计中规定的表名、字段名及字段类型和长度,不得修改。根据这些要求,我们开发出一套对数据字典进行检查的程序,该程序支持ORACLESYBASEINFORMIX等数据库管理系统。
4 功能检测:功能检测本着既全面又突出重点的原则,全面指的是测试用例所覆盖的功能点应含盖计费帐务系统的各个方面,重点突出指的是相关规范所强调的能够提高服务质量、增强竞争能力的一些有特色的新功能,这样既检测了计费帐务系统的完整性,又突出了新系统的重点,使功能检测的结果能够切实反应被测系统的真实水平。
5 性能检测:计费系统是电信企业关键的应用系统,不仅要求有完备的功能,而且要求有良好的性能。本次性能检测主要考察两个方面,一是帐务周期整体出帐历时,二是模拟有多个联机用户的情况下收费程序响应时间。鉴于当时我国软件行业多数企业没有实力或没有意识到应在开发阶段对系统进行大规模压力测试,致使只有到了实际运行后,才发现效率方面问题的状况,本次检测工作,使用了国际上比较流行的性能检测工具,模拟大量用户同时联机操作的情况,一方面检测了系统承受一定压力的状况,另一方面也促使各开发厂商尽早考虑效率方面的问题,为各厂商提高开发质量起到了积极的推动作用。
三、搭建检测平台
IBMHPDECSUN等四个厂家分别借用了配置基本相同的双机集群(CLUSTER)结构中高档小型机服务器作为主机系统;同时ORACLESYBASEINFORMIX 等数据库厂家分别借给中国电信多套大型关系数据库,使得每个主机系统上均安装了上述三套大型关系数据库,共计十二种主机、数据库的组合供被检测方选择。
四、检测数据
检测数据一部分从现业局提取,一部分由检测工作组构造。
五、检测用例
检测用例参照检测范围,并结合检测数据编制而成,体现了既全面又突出特点的原则。
六、检测用程序
开发出一套对数据字典进行检查的程序,该程序支持ORACLESYBASEINFORMIX等数据库管理系统。
七、实测
工作量由小到大逐渐展开,第一批安排一家、第二批两家、第三批三家,自第四批才开始满符负荷同时检测五家,在这个过程中,检测人员及时总结经验、解决新出现的问题,使测试工作得以顺利进行。
项目成功与失败的经验归纳:
本项目达到了检测的目的,取得了成功,主要经验如下:
1.         检测工作遵循软件工程理论的指导,并参考相关的国际、国家及行业标准;
2.         检测工作定位准确、目标实际,检测内容选择恰当,为具体工作得以顺利实施提供了前提保证;
3.         检测准备工作细致、周到,极大地减少了实测时可能遇到的风险与问题;
4.         组织这样大规模的测试,组织方需要有强大的协调能力,设备、技术支持到位(IBMHP等公司的专家多次提供宝贵意见,OracleSybase有专门工程师负责平台维护,有的工程师还进驻现场监控系统运行情况),后勤保障有力;
5.         检测工作组织管理有序,一方面人员职责明确、各司其职,另一方面能够发扬团队精神、互相帮助;
6.         检测结果客观、真实、准确,并尽量做到量化,有些检测项目还是由计算机来完成,尽可能减少了主观因素的干扰;
7.         采用流行的压力测试工具模拟大规模并发操作,促进软件开发企业尽早考虑系统性能问题。
 
你在项目中岗位与贡献:
本人为该项目技术支持组的成员与HP平台检测组组长,这一项目中的众多方案、流程、测试用例、测试报告及评判标准,多数都是由本人直接起草或是在本人的建议、指导下完成的,我还参与了检测平台的搭建,即在HPDECIBMSUN四套硬件平台上分别安装维护OracleSybaseInfomix等三种数据库管理系统。我全程参与了对全国60多家计费厂商产品的测试工作,负责现场疑难技术问题的处理,我还自行开发程序对各厂家的数据字典进行依从性检查。通过这一项目,使我在基于大型关系型数据库的应用系统的测试方面积累了宝贵的经验,也使我在以后有机会参与了更多的测试项目。
 
 
 
刑海捷项目六: 中国联通CDMA专业计费子系统上线测试
项目简介(功能与用途):
中国联通是国内唯一一家对所有电信业务拥有经营权的电信运营商。为了发挥综合业务的优势,实现灵活多变的营销策略,中国联通提出以“一个体系,多个子系统”的思路来建设综合业务支撑系统,CDMA专业计费子系统正是本着这一原则进行建设的,由数据采集、预处理、一次批价、统计、联机管理、系统管理等模块组成。2002年初,为了保证CDMA网络正式运营之后计费子系统的准确性与高可靠性,中国联通决定在正式运营之前对各地的CDMA专业计费子系统进行一次全面的测试。
本次测试本着公平、严谨、科学的原则,对被测厂商提供的软件进行全面、规范的测试。测试工作分为两个阶段:集中测试和现场测试阶段。
集中测试阶段,测试范围覆盖预处理、一次批价、统计管理、系统管理等模块,重点测试系统的准确性与处理效率。现场检测阶段,测试范围覆盖数据采集、联机指令、监测等模块。
项目难点与解决方法:
当时有6家厂商承担联通全国31个省级计费系统的工程任务,该项目的主要难点在于如何能切实全面测试各地系统的运行状况,并得到软件开发商的全力支持。
为了能圆满完成测试任务,我们将测试工作分成集中测试与现场测试两个部分。其中集中测试主要测试各地计费系统中共性的部分,而现场测试主要测试各地的差异性部分。
一、集中测试阶段
为了使测试取得更好的效果,测试人员做了大量、细致的准备工作,主要包括:
调研工作,为了使测试工作更具针对性,在项目启动之初,相关人员就做了大量的调研与收集资料的工作。其中主要包括向相关厂商及分公司发放调查表,了解目前系统运行情况及厂商对测试环境的需求;收集各地C网业务开通情况及现行的资费政策;收集交换机话单格式说明;收集局数据,为局数据核对做准备;
测试平台的搭建,根据厂商的需求,测试人员对测试用主机、网络进行了重新规划,并安排相关厂商安装了必要的软件环境;
测试用例的设计,软件工程理论与实际工程经验均表明,软件错误往往发生在系统输入与输出的边界值及一些特殊处理上,所以,测试人员在设计测试用例时重点考察了各种边界情况及其它一些易发生错误的地方(如通话跨时段、跨天等等情况);
测试数据的构造与提取,为了使测试内容更加全面,测试人员熟悉了当时使用的全部6种交换机的原始话单格式,并在没有辅助工具的条件下,手工构造了测试预处理模块所需的原始话单(二进制格式);另外,为了减轻被测厂商的工作量,测试人员还提前熟悉了各软件厂商内部的话单格式,尽可能依据厂商的内部格式,构造一次批价所需的数据;为了进行性能测试,相关负责同志还从某省提取了上千万的原始话单;
在测试工作的组织管理上,在项目启动之初,就形成了本项目的《总体方案》,之后又按计划逐渐形成了《测试流程》、《测试人员管理条例》、《被测厂商管理条例》、《测试机房管理条例》等管理文档,另外,还组织各软件厂商召开了测试工作的动员会,并向其发放了正式的通知函,这些都保证了测试工作有序、规范的进行。
正是上述充分的准备,为测试工作的成功打下了良好的基础。集中测试共对6家软件厂商的产品进行了测试,测试主要包括4个方面的内容:
1)功能测试:测试范围覆盖预处理、一次批价、统计管理、系统管理等模块;
2)性能测试:处理从现业局提取的约1000万原始话单,记录各阶段的处理时间;
3)局向数据审查:测试人员编写脚本,对比厂家提供的局向数据与结算中心提供的局向数据的差异;
4)对比测试:参加测试的厂商同时处理同一批话单,对比各自的计费结果,如有差异,核查其原因。
二、现场测试
集中测试结束后,测试人员又开始了现场测试的准备工作,主要包括以下几个方面:
试点测试,为了使现场测试更加全面和科学,首先在北京和河北两个分公司进行了试点测试,有关测试人员都参加了两个试点的现场测试,制定了统一的评判标准与统一的工作流程,保证全国的现场测试工作在公平、公正、科学的基础上顺利实施;
检查记录和测试用例的设计,为了使检测工作更全面,在进行了试点分公司的现场测试后,对检查记录和测试用例进行了进一步的修订和完善,并细化了现场交流的提纲;
在集中测试发现问题的基础上,测试人员准备了现场测试中需要重点检测和核实的方面,以便在现场测试时对厂家集中测试时发现的问题进行更深入的了解;
测试工作的组织管理方面,在《总体方案》的基础上,之后又按计划逐渐形成了《现场检测工作流程》、《现场检测座谈会流程》等管理文档,另外,还向各省分公司发放了现场测试通知及准备工作通知,这些都保证了测试工作能够有序、规范地进行。
上述全面、细致的准备工作,使得现场测试工作顺利进展。现场测试人员分成4组,每组平均对6~7个省进行测试,每个省的检测时间平均为2天半。共检测了由5个软件厂商实施的28个省级计费系统的现场运营情况,按计划在18天内完成了全国范围的测试。现场测试的主要测试内容包括:
1)文档审查:检查软件厂商提交给各分公司的文档的种类是否齐全;
2)采集模块的检测:由于系统已经上线运行,所以本次检测工作主要检查系统目前实际运行情况,听取相关技术人员的讲解,填写相关的记录表。如果生产环境允许,可以制造网络断点,以检查断点续传、自动告警、自动任务恢复等功能;
3)联机指令模块的检测:事先请各分公司准备好一定数量的测试号,测试时,通过综合营帐对这些测试号进行现场开通、增加特服、销号等操作,通过现场的拨打测试检查联机指令的发送是否成功;
4)监测模块的检测:检查应用系统是否能够完成对主机、数据库、网络和应用程序运行时的性能和状态进行监测;
5)对于在集中测试时,没有提供统计模块的软件厂商,现场测试时要检查其统计模块的功能。
项目成功与失败的经验归纳:
本项目达到了检测的目的,取得了成功。
1.         检测工作遵循软件工程理论的指导,并参考相关的国际、国家及行业标准;
2.         由于本次测试工作旨在CDMA系统正式运营之前,检查发现专业计费子系统中存在的问题,从而督促相关人员进行改进以降低正式运营后的风险。所以,为了使各软件开发商更加积极地参与本次测试工作以达到更好的测试效果,对于本次测试结果,不进行横向比较,不进行评级、打分,只作为系统改进的依据,这样极大地消除了软件提供商的顾虑与抵触心理,使他们更加积极地配合测试工作,而不是设置障碍,从而取得了比较好的测试效果;
3.         由于设计测试用例时重点考察了各种边界情况及其它一些易发生错误的地方,又引入了多家厂商处理相同话单后进行对比的测试方法,所以发现了软件当中不少深层次的错误,有的问题还很严重,促使厂商对软件进行修正。测试达到了预期效果,既减小了联通运营的风险,也减小了软件厂商日后维护的风险,达到了双赢的效果;
4.         集中测试与现场测试内容分配得当,即测试了各厂家计费系统的各个组成部分,也测试了各省本地化的内容,还最大程度上减少了核心部分的重复测试,节约了项目成本;
5.         组织这样大规模的测试,组织方需要有强大的协调能力,设备、技术支持到位,后勤保障有力;
6.         检测准备工作细致、周到,极大地减少了实测时可能遇到的风险与问题;
7.         检测工作组织管理有序,一方面人员职责明确、各司其职,另一方面能够发扬团队精神、互相帮助;
8.         检测结果客观、真实、准确,有些检测项目还是由计算机来完成,尽可能减少了主观因素的干扰。
你在项目中岗位与贡献:
本人为该项目技术方面的负责人,这一项目中的众多方案、流程、测试用例、测试报告及评判标准,多数都是由本人直接起草或是在本人的建议、指导下完成的。集中测试时,本人负责组织进行多厂家对比测试及现场疑难技术问题的解决;现场测试准备阶段,负责组织试点局的测试,制定统一的尺度与工作流程,对现场检查记录和测试用例进行了进一步的修订和完善,并细化了现场交流的提纲。现场测试时,负责北方七省区的现场检测工作,并协调、监控其他组的测试工作,为项目的成功做出了重要贡献。




    文章评论
 
 

发表评论

昵   称:
验证码:  点击图片可刷新验证码  博客过2级,无需填写验证码
内   容: