项目自动化之道-5.安装与部署之诊断测试

      通常,我们为了排除客户端的故障,需要遥控用户执行相应的检查来确认环境和安装无误。这一过程非常之繁琐而且容易误解。即使我们有一个问题FAQ列表,也需要许多专职的技术支持来搞定用户。所以我们想到能不能用程序的方法来写这个FAQ列表,用程序来检查客户端的程序并报告给我们检查结果。这就是本文第一个要点:用诊断测试来排除故障。我们首先编写诊断测试程序。

package userview;
 
public class selfTest{
         public StringtestJavaVersion(){
                   Stringversion = System.getProperty("java.version");
                   if(version.startsWith("1.6")){return"ok";}
else
return "unok";
         }
         public static voidmain(String args[]){
                   selfTest st= new selfTest();
                   System.out.println(st.testJavaVersion());
         }
}

      上述程序,检查客户端的Java版本,如果版本为1.6开头,则本测试可以通过,否则不通过。上述代码编译生成可执行,下面编写测试包程序生成的按键发布程序,该脚本程序将测试打包打包,发送给客户后,客户可在本地执行之来检查本地程序的环境。

      程序提交到svn服务器里,经过rbTest.bat脚本生成测试文件包userview_Test_version.rar,把这些内容解压到userview_version文件夹里,运行selfTest.bat文件即可。

selfTest.bat文件为:

@echo off
java -Xbootclasspath/a:vendor\lib\junit.jar;vendor\lib\sqljdbc4.jar-jar userview_Test.jar
pause
@echo off
      rbTest.bat脚本从svn主干签出目录,建立分支并编译测试代码,重新打包为程序文件,结合manifest文件和selfTest.bat文件打包成测试文件rar。分发到客户处。rbTest脚本内容大体类似与rb2.bat,其详细为:
@echo off
 
cls
set version=%1
set name=userview
set year=%date:~0,4%
set month=%date:~5,2%
set day=%date:~8,2%
set filename=%name%_Test_%version%_%year%%month%%day%.rar
 
echo -----------------------------------------
echo %name% Test release branches
echo name:%name%
echo version:%version%
echo -----------------------------------------
 
echo 2.create branches
svn copy -m '' svn://192.168.195.54/%name%/trunksvn://192.168.195.54/%name%/branches/RB_Test_%version%
 
 
echo 3.chekcout branches
svn co svn://192.168.195.54/%name%/branches/RB_Test_%version% %name%_RB_Test_%version%
 
echo 4.check branches
cd %name%_RB_Test_%version%
javac -classpath vendor\lib\junit.jar test\userview\*.java
 
echo 4.1 make the jar file
cd test
jar -cmf manifest %name%_Test.jar userview
move %name%_Test.jar ..\..\%name%_Test.jar
cd..
cd..
 
echo 5.make the rar file
rar a %filename% selfTest.bat %name%_Test.jar
 
echo 7.mark release tags
svn copy -m ''svn://192.168.195.54/%name%/branches/RB_Test_%version%svn://192.168.195.54/%name%/tags/REL_Test_%version%
 
echo 8.send to QA
move %filename% ../%filename%
 
echo 9.clean
rd /s /q %name%_RB_Test_%version%
del %name%_Test.jar
 
 
@echo off

参考

1.      使用Ant和批处理备份数据

2.      JUnit下的测试和suite

3.      Ant结构化程序设计和WEB程序发布

4.      Ant的主要任务的语法

5.      Ant脚本的详细配置

6.      Subversion综述

7.      项目自动化之道-1.使用ant进行单步建构

8.      项目自动化之道-2.使用CruiseControl定时建构

9.      项目自动化之道-3.按键发布Ant

10.  项目自动化知道-4.按键发布Bat

11.  项目自动化之道-5.按键发布Bat版的jar打包改进

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gongqingkui

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值