2.2.2. 有利于知识库的建立
(1) 代码对象库
软件代码是软件开发人员脑力劳动的结晶,也是软件公司的宝贵财富,长期开发过程中形成的各种代码对象就像一个个零件坯一样,是快速生成系统的组成部分。长期的一个事实是:一旦某个开发人员离开工作岗位,其原来所作的代码便基本成为垃圾,无人过问。究其原因,就是没有专门对各人的有用对象进行管理,把其使用范围扩大到公司一级,进行规范化,加以说明和普及。CVS系统为开发管理提供了一个平台和仓库,有利于建立公司级的代码对象库。
(2) 业务及经验库
通过CVS的注释,可形成完整的开发日志及问题集合,以文字方式伴随开发的整个过程,不依某个人的转移而消失,有利于公司积累业务经验,无论对版本整改或版本升级,都具有重要的指导作用。
2.2.3. 规范管理
(1) 量化工作量考核
传统的开发管理中,工作量一直是难以估量的指标,靠开发人员自已把握,随意性相当大;靠管理人员把握,主观性又太强。采用CVS管理后,开发人员每天下班前对修改的文件 Check In,其中记述当天修改细节描述,这些描述可以作为工作量的衡量指标。
(2) 规范测试
采用CVS以后,测试有了实实在在的工作,测试工作人员根据每天的修改细节描述对每一天的工作做具体的测试,对测试人员也具有可考核性,这样环环相扣,大大减少了其工作的随意性。
(3) 加强协调与沟通
采用CVS后,通过VSS文档共享系统和 Bugzilla缺陷跟踪系统,大大加强了项目成员之间的沟通,做到有问题及时发现、及时修改、及时通知,但又不额外增加很多的工作量。
3.性能测试是软件测试专业化的核心所在
从华友实践看,软件测试对于产品经理、开发经理和市场经理都有所认识,他们大部分人会认为功能测试工作他们能够很好的完成,产品经理是公司对于业务最熟悉的 一批人,他们对于测试工程师最急切的需求是你帮我实施产品的性能测试工作,他们听说过性能测试,我们的产品投入在线运行后碰到的最大故障是大用户量访问业务是机器凼机,或停止正常的服务,每次故障,几乎给公司的收入都造成很大损失。如果测试部门能有一套有效的性能测试手段,就确立了测试部门在项目开发过程中关键地位。
性能测试在华友软件的质量保证中起着非常重要的作用,将性能测试概括为四个方面:Wap无线应用服务在手机用户端性能测试、 Web/Wap应用服务在客户端性能的测试、应用在网络上性能的测试和应用在服务器端性能的测试。通常情况下, 四方面有效、合理的结合,可以达到对系统性能全面的分析和瓶颈的预测。
3.1 Wap无线应用服务在手机用户端性能测试
如今人人用手机都追求时尚,时尚体现在款式, 品牌和功能。手机产品功能的日新月异,移动增值业务功能层出不穷,从最初的短信、彩信、铃声到GPRS,CDMA,K-Java, Brew手机,功能的多样性带来手机用户端软件系统测试的复杂性。众所周知, Java手机吸引人之处是能提供智能的, 个人化的互动服务, 例如: 动态产生个人化的股市服务, 显示图形, 动画, 实时路况, 气象报告, 数字照像, 玩游戏等, 部分服务能直接于用户端执行。
为了提供如此生动的服务, 移动通信系统要能给终端用户在无线装置上提供接入互联网的功能, 要能储存、提取、管理、计算、结帐、下载软件服务, 并使内容提供商能提供丰富的声像多媒体内容, 形成广大的个人化交互式服务环境。 而作为移动用户, 可将手机视作虚拟机, 能随时、随地在适当的装置上存取应用, 享受服务。 这确是一种时尚。
当前, 对于不同品牌的手机, 它们所用的平台(指CPU和操作系统)各不相同, 由于采用不同的设计方案, 各设计之间缺乏兼容性, 操作系统和二进制代码都不兼容。 当手机运行需要大量内存时, 特别是随着接入互联网, 手机用户要求能使用个性化的 交互式应用软件, 应用程序运行在虚拟运行环境下时, 问题显得尤为突出。 所以, 有必要建立一种标准的通用运行平台, 达到在合适的成本下提供统一的交互式应用软件运行环境。 但是, 除非该平台是基于完全标准的器件, 否则是难以达到要求的。
标准的通用的运行平台是满足运营商, 软件开发商, 和终端用户三者综合要求的解决办法。 理想的环境必须具备以下性质:
(1)、平台应提供二进制兼容性。 可执行软件是二进制目标码, 需要在处理器和应用软件目标码之间建立沟通;
(2)、平台必须包括微处理器,或一个与微处理器机器代码相离的通用机器码仿真器;
(3)、平台应包括带有应用程序接口API及支持一致性图形用户界面GUI相应功能的操作系统。 API 是执行典型操作功能的软件功能库, 例如打开文件, 读写数据, 配置和管理内存, 处理事件, 显示文档和图形等。 为使应用软件真正做到可移植, 装置上必须有公共功能集, 并让软件开发者能通过一致性API 扩展功能;
(4)、平台不应要求过多的系统资源, 可移植性设备不应使成本上升太多;
(5)、平台应对功率有高效率, 尤其考虑用电池供电的设备;
(6)、由于要在互联网上应用, 安全性也是重要因素。
以Java手机软件测试为例潜在的测试问题和解决办法
Java有移植性好和其它很多优势, 但用在手机上, 速率和功耗仍是个瓶颈。 Java带来的新问题是执行速度慢, 消耗功率大。 与PC不同的是, 手机资源有限, 一般流行的手机中CPU的速率为26MHz, 或52MHz,带128M闪存, 8Mb, 16M 或64Mb内存, 没有硬盘, 由电池供电, 体积小, 空间窄。 系统慢的原因是:
(1) 系统必须同时运行两套软件: Java应用和虚拟机JVM;
(2) Java软件需要被翻译成自然CPU指令;
(3) Java平台是基于栈(相对于寄存器)结构的, 导致更多的内存存取。
因而, 如何对执行 Java加速成为关键。 加速处理数据和图形, 这对手机上互联网和多媒体的应用具有重要意义。 要克服这些问题, 提高Java软件性能, 可能的方法有四种:
(1) 提高微处理器速率。 然而Java软件性能与时钟频率并不成线性关系, 微处理器运行一般比内存存取时间高2-10倍, 增加时钟频率只会增加等待周期。
(2) 对JVM软件进行优化。 这可能涉及到要用汇编语言对字节码翻译环路进行编程, 而这会导致JRE变得与微处理器类别有关。 而与可移植相抵触;
(3) 编译。 将软件直接编译到微处理器的自然机器语言。 但是这会增加内存的开销, 也不节省能量的消耗。
(4) 采用基于硬件的加速器。 这可以做到提高性能, 保障能量和成本的有效性。 被手机设计厂商认为是较理想的措施。 通用型Java加速芯片于今年年初问世。