题外话
已经很长时间没有写作了,原因颇多,世事变迁之快,迅雷不及掩耳,技术之路上仍需努力,闲话少说,开整。
背景
一直以来ITS Team都痛苦与build的下载工作,具体流程如下图所示。
1. 登录BuildVault网站。

2. 点击distribution进入二级页面。

3. 选择相应的产品下载。

4. 获取一个下载build的URL,要么下载到本地这么还得再传到server上deploy,SCP或者FTP都是件极其痛苦的事情,或者利用CURL命令在server上直接下载,为什么不二次开发这个站点呢?远[......]
继续阅读
使用场景:
Linux或者Unix系统中,先查看下某个目录下所有文件列表:
tsadmin@tslnx10:~/CVSVersion/vobs/RFIDICTest/fvt/cdlsrc/com.ibm.rfidic.test.data/queries/set1.1/expected> ls
CVS
FVT_QG_EPCISCHG_0008_Expected_Response.xml
FVT_QG_EPCISCHG_0019_Expected_Response.xml
FVT_QG_EVENT_0001_Expected_Response.xml
FVT_QG_EVENT_0[......]
继续阅读
August 9th, 2010 in
Linux,
Shell脚本 | tags:
Linux,
Shell |
No Comments
通常情况下,推荐使用WebSphere提供的卸载程序来卸载WebSphere,而不要使用操作系统的卸载软件的功能来卸载WebSphere,因为那样步骤比较复杂,并且有可能由于漏掉某些步骤而导致不能完全卸载干净。
卸载WebSphere之前,需要停止所有WebSphere相关的进程,最好查看系统中的进程确保没有java进程运行。
使用以下命令
/opt/IBM/WebSphere/AppServer/bin/stopServer.sh server1 -user wsadmin -password wsadmin_pwd
或者直接
ps -ef|grep server1 (找到进程号pid[......]
继续阅读
August 5th, 2010 in
WAS | tags:
WAS |
No Comments
简单工厂模式是类的创建模式。
假定有工厂,具体产品和抽象产品这三个元素存在,简单工厂模式就是由工厂类根据传入的参量决定创建出哪一种产品类的实例。简单工厂模式涉及到工厂角色,抽象产品角色以及具体产品角色等三个角色:
工厂类(Creator)角色:担任这个角色的是工厂方法模式的核心,含有与应用紧密相关的商业逻辑。工厂类在客户端的直接调用下创建产品对象,它往往由一个具体Java类实现。
抽象产品(Product)角色:担任这个角色的类是由工厂方法模式所创建的对象的父类,或他们共同拥有的接口。抽象产品角色可以用一个接口或者抽象类实现。
具体产品(Concreate product)角色:工厂方法模[......]
继续阅读
通俗来讲的HA应该属于狭义概念上的HA,它通常指代某种Active+Standby的Pair Service,最长见的当然就是数据库的主备结构。反正大家天天这么招呼,在狭义的HA层面上也能达成一定的共识,不过,HA概念本身其实简单背后蕴含着更多的玄机。
计算机系统的可用性(availability)是通过系统的可靠性(reliability)和可维护性(maintainability)来度量的。工程上通常用平均无故障时间(MTTF)来度量系统的可靠性,用平均维修时间(MTTR)来度量系统的可维护性。于是可用性被定义为:MTTF/(MTTF+MTTR)*100%
从更广义的角度来说, HA就是H[......]
继续阅读
July 29th, 2010 in
WAS | tags:
Cluster,
HA |
1 Comment
经验一、不要在测试用例的构造函数中做初始化,而是在setUp()中
经验二、不要假定测试用例中测试的执行次序
一个JUnit 的测试用例类中可以包含多个测试,每个测试其实就是一个method。在下面的例子中有两个不同的测试,尽管testDoThisFirst()在位置上先于testDoThisSecond(),但不能就此假定testDoThisFirst()会先执行。
public class SomeTestCase extends TestCase{
public SomeTestCase(String testName){
super(te[......]
继续阅读
July 23rd, 2010 in
Java | tags:
JUnit |
No Comments
执行RFT回归测试脚本的时候,如果担心鼠标刷刷刷点的太快,可以放慢脚步的运行速度,在你的脚本中加入以下全局声明,相当于在每个action后都sleep 2秒。
RationalTestScript.setOption(IOptionName.DELAY_BEFORE_GUI_ACTION, 2);
July 14th, 2010 in
IBM Testing Tool | tags:
RFT |
No Comments
@echo off
set jre_bin="C:\Program Files\IBM\SDP_RFT\jdk\jre\bin"
set ft_install_dir="C:\Program Files\IBM\SDP_RFT\FunctionalTester\bin"
set rft_classpath="C:\Program Files\IBM\SDP_RFT\FunctionalTester\bin\rational_ft.jar"
set scriptdir="D:\workspace\RFT\ITS_UI_[......]
继续阅读
July 13th, 2010 in
IBM Testing Tool,
bat | tags:
RFT |
No Comments
组里遇到一个棘手的问题:某个Cognos虚拟机硬盘空间剩余0%,死活找不出什么可以删除的文件。df -h只能看整体大小,如果能找到相应目录下所有文件大小的信息就好了~
解决办法:
ls |xargs du -sh
输出:
35M db2
35M db2.tar
1.5G ibm
9.9G IBM
81M IBMJava2-142
这样可以再cd到IBM目录看看什么东西可以删除。
提示:一般Java的应用程序在异常退出的时候都会生成core dump文件,其大小就等同于JVM所用内存大小,所以如果这些文件堆积起来的话总占用空间不可小视。
July 13th, 2010 in
Linux |
No Comments
1. 定义
把一个请求或者操作封装在命令对象中。命令模式允许系统使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。
2. 要点
1) Command模式的根本目的在于将“行为请求者”与“行为实现者”解耦,在面向对象语言中,常见的实现手段是“将行为抽象为对象”。
2) 具体命令角色可以被不同的请求者角色重用。
3) 通过使用Compmosite模式,可以将多个命令封装为一个“复合命令”。
4) 增加新的具体命令角色很容易,因为这无需改变已有的类。
3. 适用性
1) 需要抽象出待执行的动作,然后以参数的形式提供出来——类似于过程设计中的回调机制。而命令模式正[......]
继续阅读