APP下载

基于Web Service和O D S的软件全面质量管理平台研究

2010-09-21赵小盼罗省贤

电子测试 2010年1期
关键词:报表软件测试

赵小盼,罗省贤

(成都理工大学 信息工程学院,四川 成都 610059)

0 引言

随着管理学的思想逐渐融入到软件开发的过程中,软件质量管理得到了长足的发展,软件全面质量管理平台也呼之欲出。由于历史或者其它各方面的原因,各质量管理平台是异构的,因此,如何提供一种有效的机制,实现各异构管理平台的应用集成,消除信息孤岛,优化业务流程,并为决策层提供有用的数据分析,就成为整个软件全面质量管理平台一个亟待解决的问题。

1 软件全面质量管理(TSQM)

TSQM包括以下基本特点:

(1)全员参与:即所有人员都将参与到质量管理中来;

(2)软件开发整个生命周期:即存在于需求分析、概要设计、详细设计、编码、单元测试、集成测试、确 认测试、系统测试这几个阶段;

(3)外围环境因素:即全面控制影响软件质量的人员素质、设备质量、测试手段等;

(4)客户满意:即以达到客户全面满意为最终目的。

2 Web Service核心技术

TSQMP必须具有以下的特点[1]:

(1)有效的通信机制:即保证各异构平台之间传递的信息是可以被相互理解的,这就要求必须存在一个语义支撑机制,可以自动的解决异构平台之间的语义一致性问题;

(2)完整的封装性:即为了保持TSQMP核心的稳定性,所提供的接口方式必须具有极强的适应能力;

(3)良好的灵活性、可扩展性、可维护性:即TSQMP必须良好地支持各管理平台的变化、更新,必须方便维护,减少必要的维护成本;

(4)跨Internet的互操作:即处于不同地理位置的各管理平台可以通过互联网进行通信、交互。

基于上述4个特点,本文认为Web Service体系结构在支持TSQMP的实现上具有不可替代的作用。Web Service采用了面向服务(Service-Oriented Architecture)的体系结构[2],通过服务提供者、请求者、注册中心之间的交互实现服务调用,如图1所示。

图1 Web Service体系结构图

Web Service最基本的技术规范包括XML、SOAP、WSDL和UDDI[3]

(1)XML:全称可扩展标记语言(eXtensible Markup Language),使用标记来界定内容,运行用户自定义结构,具有良好的可扩展性;具有自描述性,适合数据交换和共享;具有平台无关性;

(2)SOAP:是W3C维护的标准;是一个基于XML的,用于在分布式环境下交换信息的协议。其优点在于它与厂商无关,可以独立于平台、操作系统、目标模型和编程语言;

(3)WSDL:Web服务使用标准的消息格式/通信协议,因此需要某种结构化的方式,对服务的调用/通信加以描述,它不依赖于底层的协议和编码要求,将Web服务用XML语言的形式描述为能够进行信息交换的服务访问端口集合;

(4)UDDI:为了使服务申请者能够查找需要的服务,业界指定了注册和查找Web服务的UDDI技术规范。服务提供者发布服务,服务请求者查找注册中心以期获得服务。

在Web Service的环境下[4],请求服务方和服务提供方是松耦合,容易扩展;以XML的形式传输信息,可扩展性、跨平台性好;Web Service基于HTTP,容易穿越防火墙[5],因此,TSQMP的搭建非Web Service莫属。

3 ODS核心技术

要实现TSQMP,还要实现以下两项功能:

(1)有效的组织数据:即将看似杂乱无章的数据进行分析,从中提取数据信息;

(2)生成展现数据分析的报表:即通过数据分析、挖掘,生成Excel报表提供给管理层,实现辅助决策。

ODS(Operational Data Store)在实现以上两项功能上具有不可替代的作用。ODS是数据仓库体系结构中的一个可选部分,ODS具备数据仓库的部分特征和OLTP系统的部分特征[6],它是“面向主题的、集成的、当前或接近当前的、不断变化的”数据。由上述定义可以看出ODS有以下4个特点:

(1)数据是面向主题的:主题是一个抽象的概念,是在较高层次上将企业信息系统中的数据综合、归类、并进行分析利用的对象;

(2)数据是集成的:即数据来源不同,数据被载入ODS之前需要经过转换,归并等过程,这是构建ODS最关键的一步;

(3)数据是当前的或接近当前的:即ODS只存放当前或接近当前的数据;

(4)数据是不断变化的:即可以对ODS中的数据进行实时修改,保持各平台的数据一致性。

由于TSQMP的第二个功能是为管理层提供有用的数据分析信息,所以,这一步的工作重点是通过ODS让海量杂乱的数据会“思考”和会“说话”[7]。如何有效的组织数据?通常来说,在这些海量的数据当中,我们所关注的数据通常只占总数据量的2%~4%左右,这些数据是进行决策分析的基础,如何从海量数据中抽取出这些数据?又如何将这些数据转化为信息?目前来说,有两条途径:ETL(数据抽取、转换和加载)和ELT(存储过程),二者的特点对比如表1所示。

表1 ETL与ELT特点对比表

由表1可得出结论:如何有效地组织数据,进行数据分析和挖掘,还需要具体问题具体分析,不能生搬硬套。组织好的数据如何展现?本文选择Excel作为展现平台,即建立一个基于Excel的统计分析报表管理平台,原因如下:

(1)Excel作为办公软件,在企业中使用率高,使用人员不需经过培训;

(2)Excel提供了自己的API文档,可通过VBA进行二次开发;

(3)可充分利用Excel强大的计算、统计、展现功能;

(4)方便用程序进行开发,目前在开源世界里,针对于Excel开发的API主要有两种:①Apache的POI;②JExcel(jxl),它们都可以通过Java对Excel进行操作。

图2是通过ODS生成各类报表的结构图。

图2 ODS与报表管理平台结构图

4 软件全面质量管理平台的实现

软件开发的宏观过程有其内在的特点。软件生产的宏观过程包括需求分析、编码、测试等环节。每一个子环节展开来的话,又包含了若干个子过程,这些子过程之间可能有并发执行或顺序执行;另外,软件开发本身就是一个创造性的活动,我们无法完全的规范每一个流程,因此其管理过程面临很大的困难。

目前,CMM/CMMI是目前国际上最流行、最实用的一种软件生产过程标准(软件能力成熟度模型Capability Maturity Model For Software,简称SW-CMM/CMMI)。其目的是帮助软件企业对软件工程过程进行管理和改进,增强开发与改进能力,从而按时地,不超预算地开发出高质量的软件。

CMM/CMMI把软件开发组织的能力成熟度分为5~6个可能的等级,除了第1级外,其他每一级由几个过程方面组成。每个过程方面都由公共特性予以表征。CMMI分为4个类别25个过程域(CMM有18个过程域)。

针对于每一个过程域,都需要有相应的功能平台予以支持。如配置管理平台、需求管理平台等等。通过引入这些功能平台,从而实现对某些过程域的管理。

然而,软件质量的管理过程也离不开测试环节,传统的测试理念把软件测试的目标定位发现错误。这一理念使软件测试长期处于开发完成后的检验环节。

如果我们按照这个理念去建立软件全面质量管理平台,那么这个软件全面质量管理平台对于测试将毫无意义。即:当目标系统发生变化时,测试用例要随着发生变化,测试资源没有形成积累,不能实现复用。

因此,我们应把测试环节纳入软件质量管理的范畴。从全面质量管理的角度来看,检验不是最终目的,也不是唯一手段,这就要求我们把质量管理过程渗透到软件开发的全过程。所以将软件测试平台融入该结构体系,是软木质量管理结构的更新。

此时我们要考虑的另外一个问题是,在实际的软件生产过程中,决策层的主观意识很强,往往是凭经验和感觉去做出决策。在这里也需要有一个决策机制,而这个决策机制需要通过相关的数据信息来支持,因此,在大量的数据信息面前,抽取相关有用信息形成报表或报告,需要建立报表管理机制。

综上所述,本文认为,软件全面质量管理平台体系需要3方面内容:

(1)建立支撑CMM/CMMI中关键过程的平台;

(2)将测试平台融入软件全面质量管理体系;

(3)建立决策支持平台。

TSQMP的整体架构如图3所示。

TSQMP是由配置管理平台、流程管理平台、需求管理平台、测试管理平台、测试过程平台、报表管理平台和数据库组成。本文中,配置管理平台选择FireFly,流程管理平台选择ButterFly,需求管理平台选择Doors,测试管理平台选择Quality Center,测试过程平台选择Business Analysis Platform,报表管理平台选择Excel,数据库选用选择Oracle9i。

软件全面质量管理平台的实现如下功能:

(1)实现异构功能平台数据整合:建立松耦合异构平台数据总线,各平台基础数据通过XML包完成交换,各平台对总线的接插通过Web Service接口标准完成[5],对于没有发布为Web Service服务的平台,需要完成一个以Web Service为出口的适配器(adapter)。数据总线定义一组基本的寻址请求方法,并定义必要的数据交换格式。

(2)提供管理层决策的数据支持:TSQMP通过ODS系统来存储数据[8],支持简单的数据挖掘。即首先将所有管理平台的数据通过适配器或者接口传递到DB Server,再经过数据分析和数据挖掘,生成一系列的报表,为决策层提供数据支持,从而最终实现决策层对软件产品质量的可视化管理。

图3 TSQMP架构图

5 TSQMP优势

对于软件全面质量管理平台的研究,本文进行了探索和实践,初步建立起一个完整的框架,这个框架囊括了软件开发工程的各个阶段。在用于测试阶段的各个环节中,此平台有以下几个优势:

(1)此平台基于某企业完整先进的自动化测试理论,此理论经过很多大型项目的实际检验,实践是检验真理的唯一标准,目前看来确实可行;

(2)此平台集成了市面上多个优秀的平台,这些功能平台运行稳定,从而保证了此管理平台在各模块的可靠性;

(3)Web Service技术的运用,保证了各异构平台之间稳定的通信;

(4)ODS技术的运用,有利于企业即时了解每天的工作进度、工作状态,并提取出有效信息为企业决策提供有效支持。

6 实际应用结果

在实际的项目使用中,TSQMP极大地减少了软件生产过程中对软件质量管理的时间消耗,提高了项目人员的工作效率,实现了管理层和决策层对管理信息的实时性的要求。已完全满足了设计的需要,当流程管理发生变化时,只需要修改相应的配置文件即可满足通信;当管理层和决策层关注的管理信息改变时,亦可通过修改配置文件满足其需求。

此外,虽然已经实现了全面质量管理平台的初步原型系统,但这只是初步的实践和验证。需要在原有的基础上,对TSQMP进行安全性的优化,使得全面质量管理平台更成熟和实用化。

[1]杨涛,刘锦德.Web Service技术综述——一种面向服务的分布式计算模式[J].计算机应用,2004,24(8):4-6.

[2]岳昆,王晓玲,周傲英.Web服务核心支撑技术_研究综述[J].软件学报,2004,15(3):23-25.

[3]剧立伟,姜浩,普安建.Web Service架构下的分布式关联规则挖掘研究[J].计算机技术与发展,2009,19(4):15-16.

[4]Matjaz B. Juric,Ana Sasa, Bostjan Brumen, Ivan Rozman. WSDL and UDDI extensions for version support in web services .Journal of Systems and Software[J]. August 2009, Pages 1326-1343. Volume 82, Issue 8

[5]Ho-Jun Lee, Jae-Woo Lee, Jeong-Oog Lee.Development of Web services-based Multidisciplinary Design Optimization framework. Advances in Engineering Software[J]. 2009-03-01, Page: 176 - 183.Volume 40, Issue 3

[6]张二朋,黄振宇.基于数据仓库ODS的电子政务决策支持系统[J].科技情报开发与经济,2004,14(3):14-16.

[7]雷霄,徐立臻.基于ODS的数据订阅及其更新策略[J].计算机技术与发展,2006,16(6):33-34.

[8]夏秀峰,刘启文,于戈.分布式环境中基于ODS模型的数据构造及传输策略研究[J].小型微型计算机系统,2004,25(5):43-45.

猜你喜欢

报表软件测试
禅宗软件
幽默大测试
“摄问”测试
软件对对碰
“摄问”测试
“摄问”测试
LabWindows/CVI中Excel报表技术研究
从三大报表读懂养猪人的成绩单
即时通讯软件WhatsApp
月度报表