中国龙,中国风,中国会变得更加强大! 力量越大,责任越大! 人的一生,会面临很多选择,但决定一个人一生的,往往就是最关键那么的一两步

软件测试及配置管理面面观

上一篇 / 下一篇  2010-07-05 08:58:01 / 个人分类:转载

一、含义

1.

在ANSI/IEEE 中提到以下了六个品质要素:

? 正确性(correctness):实现的功能达到设计规范,并满足用户 需求 的程度

? 可靠性 (reliability):在规定的时间和条件下,仍能维持其 性能 水准的程度

? 易用性(usability):用户掌握软件操作所要付出的时间及努力程度

? 效率(efficiency):软件执行某项功能所需电脑资源(含时间)的有效程度

? 可维护性(maintainability):当环境改变或软件发生错误时,执行修改或恢复所做努力的程度

? 可移植性(portability):从一个电脑系统或环境移到另一电脑系统或环境的容易程度

2. 软件测试 (Software Test

尽早、尽可能多地发现软件系统中存在的 缺陷 及问题。但是,好的软件并不是“测”出来的,而是“做”出来的,所以,每一个测试人员都应该清楚这样一点:任何人都不可能找出软件中隐含的所有缺陷和问题,正如世界上没有人是十全十美的。

3. 软件配置管理(Software Configuration Management,简称CM)

简单来讲,配置管理即是对软件工作 中间件 及工作成果的各种管理。其中包括:配置项、配置库、配置标识、基线(详见下文)。

二、 工作内容及手段

1.软件质量保证

1) 工作内容

? 建立 软件质量 保证活动的实体

? 制订 软件质量 保证计划

? 坚持各阶段的评审和审计,跟踪其结果,并作合适处理

? 监控软件产品的质量

? 采集 软件质量 保证活动的数据

? 度量 软件质量 保证活动

2) 手段

“请介绍几种有效的质量保证工具?……”,论坛中经常有朋友这么问。我想,他可能是把质量保证手段统称为工具了,在我看来,称作“手段”可能更贴切一点。

下面就来介绍一种有效的质量保证手段——同行评审(Peer Review),以此可以提前发现许多软件各阶段隐含的问题。比如:

? 在需求阶段的评审:发现需求是否已被很好的定义,其中是否存在技术上的风险等;

? 在设计阶段的评审:检查架构、 数据库 等设计的是否合理;

? 在编码阶段的评审:检查Source code,发现代码中不符合编码规范部分;

? 在测试阶段的评审:检查测试计划安排的是否合理,测试用例设计的覆盖率等;

? 在验收阶段的评审:检查项目文档是否都已存在于配置管理库中;总结项目 开发 过程中的一些经验教训并作记录,存入公司的资源库等。

Peer Review过程中需注意的细节:

? 做评审计划;

? 人员不要太多,保证会议的效率;

? 经常性地举行;

? 尽量提前点时间将会议上要审核的资料发送给参加会议的人,并请参会人员对发现有疑问的地方及时做出标识,以提高会上的效率;

? 千万注意不要将评审会议变成聊天或过分争论会议;

? 评审团队最好是由经过同行评审 培训 ,并有产品经验的相关人员组成;

? 对评审人员提出的问题,在会后,应该由文档作者修改,并最终通过评审团队成员的一致确认。

3) 常见误解

? 误解一:认为发布出去的软件发现了问题,就是QA和TESTER的责任;还是那句话,“ 软件质量 保证”并不能保证软件的质量;

? 误解二:QA就是公司的文档管理员,常有QA称自己是“打杂工”。实际上,成为一名出色的QA并不是一件容易的事情,工作年限、工作经验、工作成果等都是对其衡量的标准;

? 误解三:QA的工作有TESTER兼职进行即可。这是目前多数软件公司采取的措施。个人认为,最好将二者分开,TESTER的工作也是有质量可言,同样需要QA进行监督、检查,而QA的直接上司即公司的高层领导;

2. 软件测试

1) 工作内容

? 编写测试计划

? 编写测试用例

? 对软件开发过程的重要文档进行测试,如:需求文档、设计文档等

? 测试执行

? 测试结果总结、分析

? 测试数据的度量(更高要求)

以上工作基本上含盖了测试的所有工作,在分工比较明细的公司,通常由不同人员来进行,如:

? 测试设计员:制定和维护测试计划;设计测试用例及 测试过程 ;评估测试,生成测试分析报告

? 测试员:执行 集成测试 和 系统测试

? 设计员:设计测试需要的驱动程序和稳定桩;

? 编码员:编写测试驱动成员和稳定桩;执行 单元测试

2) 手段

? 手工测试

目前多数测试人员都采取的一种 测试工具 ,虽存在一定的弊端,但也绝对不可以省略。

? 自动化 测试工具

想了解并学习自动化 测试工具 的同仁不妨去www.ltesting.net看看,里面有介绍自动化工具的专栏,很不错的。

? BUG管理工具

通常叫BMS(BUG MANAGEMENT SYSTEM)。如果公司不愿意投入成本购买大公司的BUG管理工具,不妨根据自己的情况开发一个,便宜又好用,并且一劳永逸!

3. 软件配置管理

术语解释:

? 配置项:凡是纳入配置管理范畴的工作成果都叫做配置项。

? 配置库:所有配置项的集合

? 配置标识:为了方便管理,而对各配置项作的标识

? 基线:由一组配置项组成,这些配置项构成了一个相对稳定的逻辑实体。基线中的配置项被“冻结”了就不能再被任何人随意修改,直接进入变更阶段。通常将交付给用户的基线称为一个“Release”,为内部开发用的基线则称为一个“Build”。

1) 工作内容

? 创建配置库,并至少创建配置库的所有一级目录

? 为每个项目组成员分配权限

? 根据配置管理计划中的基线计划维护基线,“冻结”配置项,控制变更

? 定期清楚配置库里的“垃圾”文件(“垃圾”文件即在项目中产生,但最终不用存档的一些文档)

? 配置状态发布

? 定期备份配置库

2) 手段

常用配置管理工具如下:VSS、CVS、CLEARCASE等,具体内容我已在论坛中发布过,大家可去查看。

三、 区别

1. SQA 与TESTER的区别

通过上面各自含义及工作内容的描述,我想SQA与TESTER的区别应该比较清晰了吧,现总结为以下两点:

1) SQA重点是对软件开发过程进行监督、管理、控制;

2) TESTER重点是对软件开发的成果进行检查、控制。

2. SQA与CM的区别

1) SQA重在监督项目的进度,督促项目按开发流程及规范进行,控制并记录好各项变更,并通知配置管理员对配置项做好相应的变更;同时SQA还可以作为SEPG(Software engineering process group)的成员之一,参与公司的软件过程改进工作。

2) 配置管理工作的主要目的是为了保证项目资料得到清晰、有效地管理,加快工作效率的同时,也避免一些意想不到的风险,如:代码丢失或恶意修改等。同时,有效地配置管理工作,还可作为公司建立资源库的主要来源之一。建立资源库对公司来讲势在必行,频繁的人员流动是再充分不过的理由。

四、 结论

本篇文章可能更适合于新人阅读,希望能有所帮助;对于描述不当的地方,还请谅解。

软件质量 保证、测试和配置管理都刚被各软件公司重视起来,但它们的春天还未真正到来,否则就不会经常听到同行们的牢骚和抱怨。不管怎么说,既然你选择了这一行,就一定要坚定自己的选择,并一如既往地走下去。一定要养成主动学习的习惯,不要等着别人去教你怎么做,或直接从别人那里取来就用,而应该尽量自己创造。当前大部分软件公司在这些方面还处于起步阶段,技术及资料还不是很成熟,这些对新人来讲不能不说是学习的好机会,同时也是展示自我的好机会。坚信,我们的明天会更好!


附:
目前常用的几种配置管理工具及优缺点:

VSS
SourceSafe是Microsoft公司推出的配置管理工具,是Visual Studio的套件之一。SourceSafe是国内最流行的配置管理工具,用户量非常之大;
SourceSafe长的样子不是很现代,但其强大的功能无不令人惊叹。SourceSafe的优点可以用8个字来概括“简单易用,一学就会”。

虽然SourceSafe并不是免费的,但是在国内人们以接近于零的成本得到它,网上到处可以下载啊。当然Microsoft也不在乎这个小不点的软件,它属于“买大件送小件”的角色。如果你合法地得到Visual Studio,你就得到了免费的SourceSafe。
SourceSafe的主要局限性:
只能在 Windows 下运行,不能在 Unix , Linux 下运行。SourceSafe不支持异构环境下的配置管理,对用户而言是个麻烦事。这不是技术问题,是微软公司产品战略决定的。
适合于局域网内的用户群,不适合于通过Internet连接的用户群,因为SourceSafe是通过“共享目录”方式存储文件的。
人无完人,物不尽美。有些卖配置管理工具的软件供应商经常贬低SoureSafe,讽刺它是Source not Safe。我不想为谁辩护,只是给出一个例证说明SourceSafe的效用。有一个软件事业部(约百名开发人员)的十余个项目全部采用SourceSafe来管理,只用一台PC机作配置管理服务器,运行一年都没有发生异常现象。
CVS
CVS 是 Concurrent Version System(并行版本系统)的缩写,它是著名的开放源代码的配置管理工具。
CVS的官方网站是 http://www.cvshome.org/ 。官方提供的是CVS服务器和命令行程序,但是官方并不提供交互式的客户端软件。许多软件机构根据CVS官方提供的编程接口开发了各色各样的CVS客户端软件,最有名的当推Windows环境的CVS客户端软件——WinCVS。WinCVS是免费的,但是并不开放源代码。
与SourceSafe相比,CVS的主要优点是:
SourceSafe有的功能CVS全都有,CVS支持并发的版本管理,SourceSafe没有并发功能。CVS服务器的功能和性能都比SourceSafe高出一筹。
CVS服务器是用 Java 编写的,可以在任何操作系统和 网络 环境下运行。CVS深受Unix和Linux 的用户喜爱。 Borland 公司的JBuilder提供了CVS的插件,Java 程序员 可以在JBuilder集成环境中使用CVS进行 版本控制 。
CVS服务器有自己专用的数据库,文件存储并不采用SourceSafe的“共享目录”方式,所以不受限于局域网,信息 安全 性很好。
CVS的主要缺点在于客户端软件,真可谓五花八门、良莠不齐。Unix和Linux 的软件高手可以直接使用CVS命令行程序,而Windows用户通常使用WinCVS。安装和使用WinCVS显然比SourceSafe麻烦不少,这是令人比较遗憾的。
ClearCase
Rational公司的ClearCase是软件行业公认的功能最强大、价格最昂贵的配置管理软件。
ClearCase主要应用于复杂产品的并行开发、发布和维护,其功能划分为四个范畴:版本控制、工作空间管理(Workspace Management)、构造管理(Build Management)、过程控制(Process Control)。ClearCase通过TCP/IP来连接客户端和服务器。另外,ClearCase拥有的浮动License可以跨越 UNIX 和Windows NT平台被共享。
ClearCase的功能比CVS、SourceSafe强大得多,但是其用户量却远不如CVS、SourceSafe的多。主要原因是:
ClearCase价格昂贵,如果没有批量折扣的话,每个License大约5000美元。对于中国用户而言,这无疑是天价。
用户只有经过几天的培训后(费用同样很昂贵),才能正常使用ClearCase。如果不参加培训的话,用户基本上不可能无师自通。

《 软件质量 保证计划》中包含的主要内容:

A. 目的

B. 面向对象

C. 参考资料

D. 质量机构

E. 机构任务(明确阶段评审的内容及时间、评审的参与人员、日常检查等)

F. 产生文档清单

G. 参照标准

H. 配置如何管理

I. 日常使用的管理工具

……

《配置管理计划》中包含的主要内容:

A. 目的

B. 面向对象

C. 参考资料

D. 人员及职责

E. 软硬件资源

F. 配置项计划

G. 基线计划

H. 配置库备份计划

……

《测试计划》中包含的主要内容:

A. 目的

B. 面向对象

C. 参考资料

D. 测试策略(主要包括测试内容和 测试方法 )

E. 测试资源(人力资源、软硬件资源)

F. 测试进度

G. 评价准则

H. 测试相关文档

……

《测试用例》中包含的主要内容:

A. 系统名称、系统版本、测试类型、用例作者、编写日期、审核发布人员及日期、测试执行人员;

B. 用例维护记录;

C. 用例ID、操作位置、用例描述、期望输出、实际输出、备注、用例状态(NT表示由于进度等原因而没有执行该用例;Pass表示执行成功;Fail表示执行失败;Block 表示由于其他用例测试未通过而导致该用例无法执行)。

……

《测试总结报告》中包含的主要内容:

A. 目的

B. 面向对象

C. 参考资料

D. BUG的追踪管理

E. 测试结果分析

F. BUG数量及等级分布

G. 对比分析

H. 测试评估

I. 改进意见

J. 结论

……

软件质量 保证(Software Quality Assurance,简称SQA)
即参照一定的质量标准、目标及各项软件流程、规范来监督,管理公司产品的质量;在许多质量体系还不是很成熟的公司,维护和发展这些质量标准、流程规范等也是由质量保证人员进行。行内有个这样的说法:“ 软件质量 保证并不能够保证软件的质量”,事实也是如此, 软件质量 的好坏不是一个人,一个部门能够决定的。但是,我们可以把提高软件的质量作为我们从事 软件质量 保证工作的目标。


TAG: 软件测试 配置管理 测试管理

引用 删除 qin2008520   /   2010-10-07 22:56:36
5
haiyan309的个人空间 引用 删除 haiyan309   /   2010-07-09 15:59:26
5
 

评分:0

我来说两句

Open Toolbar