摘要:第三方验收测试是按照项目任务书或合同、供需双方约定的验收依据文档对信息系统进行的测试与评审,决定是否接收或拒收系统。本文通过对某市交管局122接处警系统进行的验收测试项目进行介绍,引出第三方验收测试的测试流程、测试内容和测试所能解决的问题等内容,从而为信息系统建设提供质量保障和质量把关。
0.引言
随着城市经济建设的飞速发展,机动车数量迅速增加,交通事故及城市交通疏导的工作量也随之增加,市民对交通管理的服务需求也在快速增长。据某市交管局统计数据表明,近一年来,随着报警量的增长,其日平均呼叫量在14000至17000余次,高峰时达到28000余次。[1]
为了适应形势的发展,保证道路交通畅通,为市民提供更好的服务,某市交管局建立了一个性能更完善、功能更强大、系统运行更加安全可靠稳定、具有系统热备份功能的先进的122接处警系统。
为保障系统能够顺利上线,中国软件评测中心作为第三方权威软件测试机构,受该市交管局的委托,对其122接处警系统进行了全面、严格的验收测试。
1.项目背景
1.1.系统介绍
该122接处警系统利用现代化的通信技术和计算机技术,综合利用网络和信息资源,以接处警系统为核心,集成了地理信息系统、地图定位系统、大型数据库系统、大屏显示系统等子系统。系统采用指挥中心统一接警,支队、执勤队分级处警的方式,能够受理事故、拥堵、路况信息、咨询服务、投诉、反映等各类案件,实现接警、处警、指挥调度、监督管理、语音咨询、督察投诉等功能,同时能够对接处警信息进行统计、查询和深层次分析及智能化系统管理,并且提供系统全程数字录音、中英文语音服务等。
该系统具有以下特点:
①实时性。接警、处警业务处理的实时、高效、准确。
②高可靠性。CTI硬件平台提供了可靠性保证,交换机、CTI等均通过双机方式进行热备。满足系统365天ⅹ24小时不间断运行,在一台服务器出现故障时,系统能够继续正常工作。
③可扩展性。系统具备可灵活配置的工作流程和可扩展的开放体系结构,具有冗余扩充空间,能够根据技术、业务的发展和用户需求随时调整增加功能,灵活扩展接警坐席。
④延续性。能够进行新旧系统的平滑过渡而不造成122接处警系统服务中断。
1.2.系统软硬件结构
122接处警系统分为前端交换机部分和业务系统两部分。前端交换机部分由AVAYA系列交换机、CTI服务器、NICE录音服务器等模块组成,可运行于Windows2000Server、Windows2003R2、Solaris9、RedhatLiunx8.0等操作系统之上。如图1所示。[2]
图1前端交换机系统结构
业务系统为B/S架构,包括F5负载均衡器、Websphere应用服务器、Oracle数据库、GIS地图服务器等,各种服务器运行平台包括Windows2003、AIX等操作系统。如图2所示。[2]
图2业务系统结构
2.测试设计
验收测试是按照项目任务书或合同、供需双方约定的验收依据文档进行的对整个系统的测试与评审,决定是否接收或拒收系统。验收测试的测试流程如图3所示,可分为四个阶段,分别是需求分析阶段、测试计划阶段、测试执行阶段和测试总结阶段。
图3验收测试流程
2.1.测试需求分析
测试需求是应用需求的衍生,在测试需求分析阶段,我们首先对该系统的招标文件及需求文档进行详细分析,制定具体的测试实施方案。之后,通过召开测试方案评审会的方式与业主进行多次、充分的沟通及讨论,使得参与各方信息得以共享,最终确定重点测试内容(图4)有以下三个方面:
图4重点测试内容
2.1.1.功能需求分析
功能测试需求分析可以从以下三方面来进行:
首先,明确测试范围,即测试功能点有哪些。在本次测试中,该122接处警系统的关注点主要包括接警单填写及提交、处警单填写及提交、软电话功能、统计功能、短信报警接口、监督回访功能、数字录音功能、接处警地图功能、IVR功能等。
其次,明确业务流程。在本次测试中,业务流程主要有接警业务处理流程和处警业务处理流程。
最后,挖掘显式需求背后的隐式需求。这些需求包括对数据、日期等的有效性校验、是否符合使用人员的特殊功能要求等等。
2.1.2.性能需求分析
在进行性能需求分析时,首先应确定性能测试的内容。例如,"被测系统中有负载压力需求的功能点有哪些","预计有多少用户并发访问","用户使用在什么时候达到高峰期"等。需求分析方法主要包括任务分布图法、交易混合图法和用户概况图法等。
之后,根据80-20原理估算测试强度,得到服务器处理请求应达到的能力。
2.1.3.可靠性需求分析
该市交管局在《122接处警系统招标文件》中明确了对可靠性方面的需求,即"指挥中心的硬件设备均实现热备份,确保任意一个单点故障不影响系统正常运行"。因此,衍生出的测试需求也很明确,就是系统核心服务器如交换机、CCLink服务器、web服务器、数据库服务器等须具备双机备份,单点故障不会影响系统正常运行。
2.2.测试计划
明确了测试需求后,便可制定测试实施计划。测试计划包括测试策略和测试内容,并在此基础上编写测试规范(即测试用例)。
2.2.1.测试策略
测试策略一般包括测试环境与真实业务环境1:1配置、测试工具的选择、测试铺底数据的准备等。
2.2.2.测试内容
1、功能测试
本次验收测试,功能测试内容主要包括接警子系统、处警子系统、305台、地图台、报警查询子系统、监督子系统、管理子系统、统计查询子系统、软电话功能、前端交换机功能等功能点测试和接处警流程、错发流程等业务流程测试。
测试方法主要有等价类划分法、边界值分析法、错误推测法、因果图法、场景法等。
2、性能测试
本次性能测试主要包括两方面的内容:前端大话务量测试和业务系统负载压力测试。
不同于以往所采用的负载压力测试工具LoadRunner,本次测试主要采用思博伦Abacus5000硬件测试仪来模拟多用户同时拨打电话,度量在大量用户同时接入系统时系统的承受能力。
Abacus5000是一款由思博伦公司提供的IP电话测试系统,能够提供TDM呼叫产生和交换功能。在呼叫产生模式下,PCG3子系统执行每一个信道的呼叫建立/拆除,并执行包括传输与接收音频信号和文件的媒体脚本,可产生500,000呼叫/小时。图5为Abacus测试设备的呼叫示意图。
图5呼叫示意图
业务系统负载压力测试主要测试的是在特定应用的业务逻辑、用户界面、功能下系统能够承受的用户并发数量、交易数量和响应时间。
本次测试采用HP公司的LoadRunner8.0性能测试工具对接警业务、处警业务和案件统计查询分析等典型业务以及混合业务进行测试。测试指标包括:服务器系统资源(如CPU占用率、内存消耗情况、硬盘使用状况)、事务处理平均响应时间以及事务处理速率等参数,考察系统在不同负载情况下的性能表现。
3、可靠性测试
故障测试是一种可靠性检验。根据业务对系统可靠性的高要求,为了确保系统运行稳定可靠,任意一个单点故障都不会影响系统正常运行,本次着重进行了故障测试。主要包括对各类服务器的单点单机、单点双机故障测试及交换机故障测试,在模拟故障的情况下检查系统的运行情况。
4、其它
除了以上重点测试内容外,根据软件质量体系GB/T17544的要求,验收测试还包括安全可靠性、易用性、兼容性、可扩充性和用户手册等质量特性的检测。
2.3.测试执行
测试执行就是按照测试用例组织测试实施的过程。在122接处警系统测试中,共执行测试用例496个。其中,功能测试用例390个,性能测试用例52个,可靠性测试用例23个,安全可靠性、易用性等质量特性的测试用例31个。如图6所示。
图6测试用例执行统计表
2.4.测试总结
122接处警系统实现了指挥中心接警并下发接警单,并且在案件列表中可以用不同的颜色表示不同状态的案件信息;处警席接到案件时有提示灯闪烁提示,并且能够填写处置时间或选择错发;丰富的统计查询功能,使得用户可以对案件、接警量、回访量等信息通过信息列表、图形、报表等多种形式展现。通过对业务系统的功能测试,系统改进了班长台监听强插报警、黑白名单管理、接警员工作状态明细显示、接警席位图标显示、报警电话排队数量显示、软电话功能、呼损电话回拨等问题,为业务系统的正常应用提供了强有力的保证。
通过前端大话务量测试,解决了呼叫过程中地图台空白并且无法定位的问题;使得坐席的稳定性有了明显的提高,在并发用户180的混合呼叫压力下系统运行较稳定;发现在大话务量过程中坐席在异常退出后无法重新登录的问题,避免了上线后系统不能正常运行的风险;另外,建议改进NICE录音服务器,以改善在压力很大的情况下录音文件听不到录音的问题。
业务系统负载压力测试则发现NICE服务器内存过小、未实现双机热备等问题,避免了业务系统上线后不能稳定运行的风险。经过改进,业务系统性能基本满足交管局的实际需求,能够承受接警100用户、处警150用户、统计查询20用户的并发访问,基本满足了现有业务的并发需要。但是,依然存在处警业务并发过程中应用服务器磁盘吞吐压力较大、统计查询业务对数据库服务器CPU资源占用较高等问题,因此我们建议进一步优化处警业务过程中服务器资源使用情况,提高查询速度,使得系统能够满足未来交管局日常业务操作的需要。
可靠性测试发现CCLink服务器和业务系统Web服务器存在单点故障隐患,使得开发人员能够及时纠正,保障了122接处警系统的稳定运行。
3.小结
本次122接处警系统测试共进行了四次:一次系统测试,三次回归测试。系统测试主要是对系统进行功能检验、性能检测和故障定位,回归测试主要是对调优之后的效果进行测试及评估。在系统测试中,我们发现了一些影响系统正常运行的较严重问题如业主需求中的部分功能没有实现、在压力情况下坐席异常退出后无法登录、部分服务器存在单点故障等,在之后的若干次回归中逐渐使这些问题归零,最后系统在上线后运行情况较为稳定,系统各项指标良好,满足了交管局日常业务操作的需要。
最后谈一下验收测试和第三方测试。验收测试是一种按照项目任务书或合同、供需双方约定的验收依据文档进行的对整个系统的测试与评审,决定是否接收或拒收系统。而第三方验收测试则是区别于开发商测试和用户测试之外的测试活动,是由在技术、管理和财务上与开发方和用户方相对独立的组织进行的软件测试,不仅可以通过专业化的测试手段发现软件错误,而且可以对软件系统有一个客观、科学的评价,最大程度地避免信息行业的"豆腐渣"工程。[3]
该122接处警系统在上线前就采用了第三方测试机构进行验收测试的方式,有力地保障了该系统的顺利上线及应用。
参考文献:
[1]某市122接处警系统招标文件.
[2]122接处警系统拓扑图.
[3]柳纯录,黄子河等.软件评测师教程.清华大学出版社.2005年3月第1版.
黄江平唐磊孟晓 (中国软件评测中心)