第一章 绪论
1.1选题的意义
通信产业的迅猛发展,使安装于通信设备上的嵌入式软件及其产业也得到了长足的发展和进步。而在此发展过程中不断暴露出来的软件缺陷令开发者和使用者颇为头痛,进而使软件质量管理逐渐得到重视,而软件测试过程作为保障软件质量的重要活动,逐渐从软件开发活动和软件开发人员中剥离出来,形成独立的软件测试活动和专业的软件测试人员。软件测试理论也从开始的零理论,创造出广泛应用的V模型/W模型,进而发展出X模型/H模型/前置测试模型。而随着近年来敏捷软件开发的流行,测试驱动开发、行为驱动开发、实例化需求等新概念层出不穷,对软件测试的改进和变革产生了深刻的影响。如何优化软件开发企业的软件测试流程,成为每个软件测试管理者每天都在思考的问题。
在项目管理中,对软件测试流程的不断优化和改进,对于通信设备企业是至关重要的。
软件测试流程优化的直接效果,就是缩短整个项目的开发周期。当今的测试理论普遍认为,开发流程和测试流程是独立并行运作的,但在时间上互有重叠和依赖关系,进而共同组成了整个软件的开发周期。通过测试流程的改进,可以使测试资源得到更合理分配与调度,能够提高测试效率,缩短测试周期,进而保障甚至缩短整个项目的开发周期。
而项目过程中人员,设备和时间的高效利用,往往能够节约企业的开发成本和抢占市场的先机。对于庞大的通信设备企业来说,大多数嵌入式软件项目都意味着几十数百甚至更大规模开发团队的巨额的研发成本,缩减几个月或者几周的开发时间,对企业来说都相当于一笔可观的收入。如果通信产品能够在竞争对手完成幵发以前,抢先投入市场并获取订单,在先发优势明显的通信市场中,企业取得的优势很可能是决定性的。也就是说,此刻的设备订单很可能还会带来日后更多的设备扩容订单和软件升级订单。
通过改进测试流程,可以交付更高质量的软件。过程管理在软件项目中的作用显而易见,如果在软件开发和测试过程中,将关注点只放在最终的产品上,而不关注幵发过程,那么不同的幵发和测试队伍或者开发和测试个人可能就会采用不同的工作方法,从而导致结果无法预期,因为这时软件产品质量的高低完全依赖于个人的素质和能力。反过来,在软件开发和测试过程中,如果将关注点放在项目的开发和测试过程中,那么理论上,不管谁来做,经过同一过程幵发和测试的软件,产品的质量应该是趋同的。所以简而言之,优化软件测试过程,将稳定地提高软件产品的质量。
而通信设备软件的质量不仅影响到软件日后的维护成本,还往往关系到企业的信誉和市场竞争力。通信设备的嵌入式软件往往承载着T比特级,甚至更大的业务流量,对软件缺陷几乎零容忍。任何软件缺陷的发生,都会导致设备提供商陷入严峻的信任危机,甚至是合同中约定的天价罚款。对于资金相对充足的大型运誉商来说,对等功能和性能下,质量几乎是他们选择通信设备企业的唯一标准。
1. 2软件测试过程的研究动态
软件测试过程是伴随着软件项目的产生而产生。早期的软件规模很小,复杂程度低开发过程混乱而随意,测试的还以几乎等同于调试。20世纪50年代,英国计算机学家图灵把软件测试定义成为,程序正确性证明的一种极端的实验形式。
但直到二十世纪五十年代,软件的规模和复杂性越来越大,其可靠性面临着前所未有的挑战,测试的意义才被普遍低接受,而对软件测试过程的研宄逐渐受到重视。1975年,Goodenough首次提出了软件测试理论,把软件测试这种卖践性的科学提高到理论的高度。W.C.Hetzel整理并出版了 Program Test Methods,在其中归纳总结了各种测试方法和自动测试工具。E.P.Miller在测试管理和测试过程改进方面做了大量工作,将现代测试概念推向了实践。.1982年,美国北卡罗来纳大学召开了第一次软件测试技术会议,这成为软件测试发展的一个重要里程碑。
W80年,Paul Rook提出了V模型,定义了描述软件开发测试过程的最重要的一种模型。20世纪90年代,计算机技术日益成熟,软件测试理论和模型也不断被优化和改进,拥有了一套比较完备的软件测试过程管理体系。2001年,来自不同开发方法的17位代表,在犹他州共同发表了敏捷宣言,掀开了软件开发测试过程的新的一页,使软件测试技术和过程管理方法更趋于多样化。
但不论是传统的测试理论,还是最新的测试理论,在软件测试过程设计、管理和实践应用都有一定的典型性和特殊性,不一定能够完全对应于本企业,而是需要在深刻理解测试理论和业务环境的基础上,找到适合本企业的理论加以灵活运用。本文探讨的就是如何根据某通信设备企业嵌入式软件的性质和特点,结合多种测试理论的精髓,找到优化和改进当前软件测试过程的方法。
1. 3主要研究内容
本文阐述的是对某企业原有测试流程进行优化和改进的实践。本文研究的对象,不是测试技术,而是测试过程管理的模型、理念和方法论。
某企业的研发机构具备通信设备提供商的一般特征,其嵌入式软件规模比较巨大,开发周期较长,人力资源相对充分,采用瀑布式的逐步幵发流程,测试流程采用W模型。专职的项目经理、系统工程师、开发人员和测试人员按照计划分别投入项目,逐步完成各个里程碑,然后进入下一阶段,直至项目结束。这种递进性的项目管理方式,思路清晰,各阶段的时间点明确,易于管理和跟踪。各里程碑处,交付物的严格检查和评估,使软件质量能够得到有力的保障。
第二章测试过程管理理论2.1软件开发和软件測试的基本概念2.1.1软件生命周期软件生命周期是一种项目管理的行为指导框架,用它来描述软件项目狀模糊概念开始到软件项目终结的这个周期内,在各个阶段所需要开展的各项活动。软件工程采用的软件生命周期方法学,...
摘要二十世纪九十年代以来,通信产业凭借着计算机软硬件技术的飞速发展实现了惊人的增长速度,成为当今世界最重要的经济增长点之一。而通讯设备正是依托于安装其上的嵌入式软件,才得以被不断地智能化。同时,网络上不断暴露出来的软件缺陷,也时常影响着运...
第四章软件测试流程改进方案4.1.测试流程改进框架4.1.1.利益相关者分析在这里运用利益相关者分析,是用来识别出与测试流程改进存在利益关系的个人和组织。在制定流程改进策略前,项目管理者通过对每个利益相关方的利益、影响力和重要性的评估,设计出与之适...
兰州银行通过软件测试管理优化建立了有效的管理制度提升了管理水平,降低了软件产品缺陷率、提高了软件产品的质量,提升了用户体验,对兰州银行的未来发展有着十分重要的意义。...
第六章结论和展望6.1.结论笔者拥有在软件项目研发部门十余年的工作经验,先后服务于国内外多家通信设备提供商,充分I解大型嵌入式软件的开发和测试流程,也深刻感受到项目管理过程中,不同开发和测试流程的优势以及缺陷。本文正是以此为契机,开展深入的分析和...
第五章软件测试流程改进案例5.1.GSIT的实践概要在实际的项目管理过程中,此次某企业的研发项目规模大约1ML0C,在各软件特性整体发布之前,计划了2~4个月的CSIT,因为CSIT和软件研发过程几乎并行,对SIT开始时间的延迟很小,所以整个研发周期并没有因为CSIT的...