51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 14506|回复: 14
打印 上一主题 下一主题

就本人公司 每日构建的 实现

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-2-7 16:08:41 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
当了版主这么长时间,没有发帖子,实在不好意思,现在,我只是针对 本公司 java 项目的每日构建 介绍一下,希望对大家有一些帮助。同时也可以相互探讨:

我们公司的一个项目是java 开发的,web 应用 基于 tomcat 运行,后台数据库是 oracle。   代码版本控制是 cvs 。 代码服务器在美国。

作为 一家外包公司,每天我们程序员 在上班的第一天开始 从cvs 下载最新的代码,编译,如果有冲突,会解决冲突,没有的话,开始编码,作为我们公司的 测试人员,基于公司的模式,我们实现以下 构建。

编译
     ant 提供了强大的编译功能,我们在开始写 build.xml 的时候,并没有写 compile 这步,而是直接从cvs 里面下载相应模块的build。xml 后,调用。这样做的目的是为了保证测试 和 开发的 使用同一套 编译脚步编译,保证协调 ,一致性。
     这里,我们使用了 ant 的如下功能:
      <ant antfile="build.xml" dir="./${release.home}/cvs/DPS/PhaseII/AE/" target="all"/>

    编译好的代码,我们会 自己拷贝到对应的 目录。

单元测试
     junit ,对应的测试模块,我们的开发人员已经 提交到cvs ,我们从cvs update 后,编译运行。在运行之前,先在数据库里 初始化 相应的测试数据,在ant 中,我们使用下面的方法 插入数据到 数据库:
    <target name="dbinit_insert">
      <sql
               driver="oracle.jdbc.driver.OracleDriver"
               url="jdbc:oracle:thin:@192.168.100.1:1521:china"
               userid="uni_app2"
               password="ladodgers"
               onfiltered="continue"
               >
               <transaction  src="./sql/InsertTestOrderNoteData.sql"/>   <!-- For Test Case TestUserLiveValidation -->
               <transaction  src="./sql/TestUserLiveValidationBegin.sql"/>   <!-- For Test Case TestUserLiveValidation -->
               <transaction  src="./sql/InsertTestCreateInventoryData.sql"/> <!-- For Test Case TestCreateInventory -->
               <transaction  src="./sql/InsertTestPerformanceVenueData.sql"/> <!-- For Test Case TestPerformanceVenue -->
               <transaction  src="./sql/InsertTestPerformanceManifestData.sql"/> <!-- For Test Case TestPerformanceManifest -->
               <transaction  src="./sql/InsertTestPerformanceData.sql"/> <!-- For Test Case TestPerformance -->
               <transaction  src="./sql/InsertTestPerformancePriceCodeData.sql"/> <!-- For Test Case TestPerformancePriceCode -->
               <classpath>
   <path refid="lib.path"/>
        </classpath>
          </sql>
     </target>

    然后开始 运行单元测试。

    在单元测试结束后,把插入的册书数据 清空,目的是 下次 运行 的时候,可以再次初始化 数据库。
   
    <target name="dbinit_delete">
         <sql
               driver="oracle.jdbc.driver.OracleDriver"
               url="jdbc:oracle:thin:@192.168.100.1:1521:china"
               userid="uni_app2"
               password="ladodgers"
               onfiltered="continue"
               >
               <transaction  src="./sql/deleteTestOrderNoteData.sql"/>   <!-- For Test Case TestUserLiveValidation -->
               <transaction  src="./sql/TestUserLiveValidationEnd.sql"/> <!-- For Test Case TestUserLiveValidation -->
               <transaction  src="./sql/deleteTestCreateInventoryData.sql"/> <!-- For Test Case TestCreateInventory -->
               <transaction  src="./sql/deleteTestPerformanceVenueData.sql"/> <!-- For Test Case TestPerformanceVenue -->
               <transaction  src="./sql/deleteTestPerformanceManifestData.sql"/> <!-- For Test Case TestPerformanceManifest -->
               <transaction  src="./sql/deleteTestPerformanceData.sql"/> <!-- For Test Case TestPerformance -->
               <transaction  src="./sql/deleteTestPerformancePriceCodeData.sql"/> <!-- For Test Case TestPerformancePriceCode -->
               <classpath>
   <path refid="lib.path"/>
        </classpath>
          </sql>
     </target>

     


    在我们的 build.xml 中,以下列顺序执行 target:

   1。 cvs update code
   2.   call build.xml compile source code
   3.   call build.xml compile unit test source code
   4.   insert data to database .
   5.   run unit test
   6.   generate unit test report
   7.   run clover check unit test cover rate
   8.   generate unit test cover rate  report
   9.   delete test data from data base
   10.  Email all report to PM and Leader . deploy these report base on web service .
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

15#
发表于 2011-6-1 14:16:41 | 只看该作者
学习了!
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2014-12-23 11:19
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    14#
    发表于 2011-4-6 09:05:34 | 只看该作者
    上面的干嘛呢?还打广告````有意思不?

    单元测试正在学习之中!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2010-11-26 15:10:11 | 只看该作者
    如果更新的代码非常多的话,怎么保证程序都更新了?构建的历史该怎么处理?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2021-6-9 14:08
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    12#
    发表于 2010-7-9 09:20:42 | 只看该作者
    弱弱问一下,楼主是版主吗?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2008-6-7 21:47:51 | 只看该作者
    定,好文!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2008-2-25 11:46:00 | 只看该作者
    谢谢
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2007-9-25 12:31:22 | 只看该作者
    学习下。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2007-9-13 22:06:01 | 只看该作者
    请问版主是使用什么工具进行单元测试覆盖度的计算的?

    thanks :)
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2007-6-27 18:05:18 | 只看该作者
    ding
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2007-3-16 10:08:07 | 只看该作者
    顶一下,呵呵,虽然还是看不太懂ORCAL代码........
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 2007-3-16 09:45:42 | 只看该作者
    作了一年的黑盒,想研究下白盒是怎么回事
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
    发表于 2007-2-26 13:28:14 | 只看该作者
    学习
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
    发表于 2007-2-9 16:12:06 | 只看该作者
    拜读一下,楼主辛苦了。我们公司也是做java的,美国外包。。。。。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2#
    发表于 2007-2-9 12:01:48 | 只看该作者
    ding
    LZ 强人
    使劲ding
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-16 03:18 , Processed in 0.078426 second(s), 30 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表