软件配置管理及SVN的使用
一、配置管理
1. 管理整个软件生命周期中的配置项
配置项:软件生命周期中产出的各种输出成果,如需求文档、设计文档、代码、测试相关文档
2.管理配置项的变化(核心)
3.使用配置管理工具: VSS(入门) SVN GIT(分布式开发) ClearCase(大型商业软件)
二、配置管理目的
1. 保证软件产品的完整性:保证所有人拿到的文档、代码都是全的
2. 保证软件产品的一致性:保证所有人拿到的文档、代码都是一样的
3. 保证软件产品的可追溯性:保证不同时间点的文档、代码的保存及获取
三、配置管理中的常用概念
1. 配置项(CI:configuration items):软件生命周期中产出的各种输出成果,如需求文档、设计文档、代码、测试相关文档
2. 配置(configuration):工作成果物的集合,每个成果物都有自己的版本
3. 版本(version):对配置项的标识,一般通过版本号进行标识
主版本.子版本.维护版本.补丁版本
4. 基线(baseline):基线可以视为项目的一个过程进行到成熟阶段时的里程碑,标志着项目可以进入下一个过程。提供一个正式的标准,随后的工作基于此标准
需求基线:所有需求收集整理完毕进入需求待评审基线---根据评审意见修改后进入需求发布基线。
编码基线:开发完成待提交测试基线-----测试通过基线(一般就形成了 一个可发布的版本)
测试用例基线: 测试用例待评审基线---可执行的测试用例基线
与基线相关的活动
确立基线:一般项目经理等去确立基线
审核与发布基线:由QA,CMO等审核与发布基线
基线的变更会受控: 基线发布后,不允许随意变更,变更需要走变更控制流程,由CCB裁决是否允许变更。
四、测试工程师用到的配置管理功能
1. 获取需求的最新版本
2. 获取被测的程序
3. 对测试相关文档进行配置管理
五、SVN安装
安装服务器端 SVN Server
安装客户端 Tortoise SVN,安装了之后与windows右键菜单集成
服务器端与客户端通过 配置库url进行识别访问
建项目库
建用户:user1
六、测试工程师常用的SVN命令
1、Import(导入):将客户端本地的内容导入到服务器存储库中。
2、Checkout(导出):从服务器导出文件到本地
3、checkout时即可以将整个项目的内容取出到本地,也可以选择其中的子目录进行取出
4、Add(添加):将文件添加到服务器,并不是真正的添加,需要和commit命令一起完成向服务器添加文件。
Import与ADD的区别:
Import:将普通的磁盘文件夹及内容导入到服务器(没有.svn)
Add:针对从服务器上进行过checkout操作的文件夹中的文件(有.svn)
5、Delete(删除):将文件从服务器删除,并不是真正的删除,需要和commit命令一起完成从服务器删除文件。
6、Update(更新):从服务器取最新的文件版本,更新本地已存在的版本与服务器一致。
1. 需求分析师提交最初的版本【版本1】到服务器
2. 测试工程师在本地建工作目录,从服务器取需求(取到的是【版本1】)
3. 需求分析师在本地修改需求【版本2】,并用commit命令提交修改到服务器上,此时服务上的版本应为【版本2】
4. 此时,测试工程师本地的版本仍为【版本1】,与服务器的【版本2】不一致
执行update命令,更新本地版本与服务器一致【版本2】
7、Show log 显示历史修订记录
8、update to revision更新到某个具体的版本,体现可回溯性