51Testing软件测试论坛

标题: QC9跨平台升级QC10历程 [打印本页]

作者: MountLion    时间: 2012-9-24 15:44
标题: QC9跨平台升级QC10历程
年初把公司的QC9升级到QC10,六十几个项目,一个多T的数据,跨平台(linux->windows),对象库(repository)从数据库改到文件系统,还只能周末停机(也就是说升级执行时间只有两天)。克服了种种困难,终于胜利完成了任务!

1、版本选择
HP通知,QC9即将失去支持,必须升级到新版本;当时的最新稳定版本是10.0,并且中文版只有windows版的(原先使用的的9.0是linux版)。

2、对象库转换
在9.0中,对象库(repository)是放在数据库中的,而10.0只支持放到文件系统,且不支持从“repository放在数据库中的9.0”升级。所以必须在升级前完成转换。
HP给的方法是:停掉项目,从项目复制一个新项目,复制时选择把对象库放到文件系统中。试了一下这是可行的,但是!尼玛测试环境一个项目花了3天3夜啊!六十几个项目怎么玩啊!
没办法,自己整!分析repository表结构,写脚本转换到文件系统!然后修改projects表,重启搞定!(说来简单,实际要考虑很多问题,要能够断点续跑,全都转换完花了很多天呢)

3、文件系统转换
linux下的文件转到windows,先ls一下,咦?一部分附件名有乱码!没办法,改!把文件名导出来修改,然后用脚本重命名,再修改cros_ref表,搞定!
转换时需要复制文件,文件太大怎么办?一检查,原来是BMP图像占大头,写脚本,改成PNG,回写cros_ref表!这下子把存储缩减到了十分之一。(这又搞了好些天,不过这些都可以在线做,不影响QC9的使用)

4、表结构
测试一下升级过程吧!检查报错?有些字段长了,有些字段短了?这些字段我们可没改过,QC不认自家的系统啊!没办法,后台改吧!先检查各项目内容长度,好在字段内容都没有超长的,alter table搞定,不影响QC9。

5、准备工作终于做好了,找个周末升级!不过这几十个项目,难道要守着一个一个点吗?自动化啊!使用QC admin API + VBA,一个Excel表格搞定,让它自动跑去吧。一夜搞定!
(说起来很容易,其实还有一个问题:升级时需要先登录QC9停掉项目,再登录QC10升级项目。可是尼玛9和10的客户端不兼容啊!所以需要两台机器跑两个脚本……)

除了这些步骤,还有其它诸如防火墙/域名/存储/外挂程序清理等等纷繁复杂的工作,不足为外人道也~
作者: general82    时间: 2012-9-24 16:18
你真厉害,我只是想把TD7.6中的项目移植到另一台服务器,都遇到很多困难,郁闷
作者: petrel_pig    时间: 2013-5-30 16:30
如果有详细过程就好了,这样说的比较笼统,还是没有什么头绪




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2