• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

开源软件测试框架的使用说明

发布: 2009-3-03 10:45 | 作者: 不详 | 来源: 测试时代采编 | 查看: 84次 | 进入软件测试论坛讨论

领测软件测试网

测试用例看起来就像产品代码,对于您的 EJB, 通过 facade 模式,它们可以使用相同的 Java bean。 
通过使用一个 Ant 脚本可以使测试自动化。 
        利用 JUnit 和 JUnitEE 进行单元测试的例子
        这个部分向您展现了如何利用 JUnit 和 JUnitEE 测试框架的优势对一个在 Rational Application Developer IDE 中开发的简单的无状态 session EJB 进行单元测试。这个 EJB 仅仅添加了两个数字就返回这些数字的总和。尽管这只是一个微不足道的功能,但是它包含了阐明这个例子的所有必要条件。这个系列的第 3 部分提供了 EJB 如何在 Rational Application Developer 软件内部构建和单元测试的逐步的示范。  [Page]
        简单地说,这个例子是一个无状态 session bean 的单元测试。然而,您也可以利用 JUnit 和 JUnitEE 测试框架对其它类型的 EJB 进行单元测试。这里这个简单的方法包含以下几个步骤:
创建一个简单的 Java bean 计数器。 
为基本的计数器创建一个 EJB。 
创建一个 EJB 客户。 
开发 JUnit 测试用例对 Java 应用软件和这个计数器 EJB 进行测试。 
创建一个 JUnitEE 测试模块,并对它进行配置。 
在 WebSphere Application Server 环境中部署并执行测试用例。 
        您可以下载这篇文章中所有例子的源代码(请看 参考资源)。
        步骤 1. 创建一个简单的 Java bean 计数器
        第一个例子是一个简单的 Java 应用软件,它添加了两个数字并返回了它们的和。代码 列表 2 显示了这个类执行。

列表 2. 基本的 Calculator Java Bean 的执行
                  
   package calc;    
   public class BasicCalculator {       
   public double addTwoNumbers(double first, double second) 
   {   
   return first + second;     
   }  
   }   

 

        步骤2. 为基本的计数器创建一个 EJB
        利用 Rational Application 开发者产生一个无状态 bean 称作 BasicCalculator。
        代码列表 3 包含一个 EJB 即将呈现的样例。
        BasicCalculatorBean EJB 类包含一个业务方法,addTwoNumbers,服务于计数器功能的。 这个业务方法添加在一个远程的接口中,使客户能够访问这个方法。EJB 可以是远程的、分布的对象。Rational Application Developer IDE 产生的客户端工件能够很容易的对远程目标进行访问。测试应用软件可能在一个分离的 Enterprise Archive (EAR) 中,因此我们利用远程而不是本地接口来访问 EJB。(本系列的第 3 部分显示了如何利用 IDE 的智能指南创建客户端工件)。 

列表 3. Basic Calculator EJB 的实现
package ejbs;  
   /**  
    * Bean implementation class for Enterprise Bean: BasicCalculator   
    */  
    public class BasicCalculatorBean implements javax.ejb.SessionBean {   
    private javax.ejb.SessionContext mySessionCtx;      [Page]
    public javax.ejb.SessionContext getSessionContext() {    
    return mySessionCtx;   
    }   
    public void setSessionContext(javax.ejb.SessionContext ctx) {    
    mySessionCtx = ctx;   
    }   
    public void ejbCreate() throws javax.ejb.CreateException {   
    }   
    public void ejbActivate() {   
    }   
    public void ejbPassivate() {   
    }   public void ejbRemove() {   
    }      public double addTwoNumbers(double first, double second) {    
    return first + second;   }    
    }  

 

        步骤 3. 产生一个 EJB 客户端
        在这个步骤中,按照 Rational Application Developer 的智能指导产生客户端工件。这些步骤在这个文章系列的第 3 部分将会有示范。
        步骤 4. 开发 JUnit 测试用例来测试 Java 和计数器 EJB
        当您实现完 Java Bean Calculator、 Basic Calculator EJB 以及客户 EJB 之后,您就可以编写 JUnit 测试用例了。 
        利用 JUnit 对 Java 应用软件进行单元测试  这里,您可以利用 列表 1 中概述的 JUnit 测试结构的优势来编写三种对 BasicCalulator Java Bean 和 EJB 进行单元测试的方法。 
        列表 4 中的单元测试列举了各种断言方法来执行正面与反面的单元测试。它有以下几种测试方法: 
testSimpleAddition() 方法包含两个论断。第一个宣称这个计数器实例对象不是空,就像它实际存在一样。第二个验证通过与期望值4 相比较,这个计数器准确地将2加上2。 
testSimpleAdditionNotSame() 方法展示了负面的测试,确保两个截然不同的值是不一样的。也就是说,这两个数字(2+2)的和不是等于5的。 
testDesignedToFail() 方法论证了 JUnitEE 框架中一个失败的测试用例看起来是什么样的。在这个测试用例中,两个自变量,1和1是通过 BasicCalculator 来相加的,然后再将所得的值与3相比较。这个测试失败了。结果向您展示了在哪里以及为什么失败了。 

列表 4. Calc Java Bean 的 JUnit Test
package calc.test;    
   import calc.BasicCalculator;   [Page]
   import junit.framework.TestCase;      
   public class BasicCalculatorTest extends TestCase {     
   BasicCalculator aBasicCalculator = null;     
   /*    
   * Setup before each test case   
   */   
   protected void setUp() throws Exception {    
   super.setUp();    
   aBasicCalculator = new BasicCalculator();   
   }   
   public void testSimpleAdditionNotSame() throws Exception {      
   double result = aBasicCalculator.addTwoNumbers(2, 2);    
   assertNotSame(\"2+2 does not = 5\", new Double(result), new Double(5));   
   }     
   public void testDesignedToFail() throws Exception {    
   double result = aBasicCalculator.addTwoNumbers(1, 1);    
   assertTrue(\"1 + 1 = 3\", result == 3);    
   }      
   public void testSimpleAddition() throws Exception {      
   assertTrue(\"Calculator instance is not null\", aBasicCalculator != null);      
   double result = aBasicCalculator.addTwoNumbers(2, 2);    
   assertTrue(\"2+2=4\", result == 4);     }  
   }

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

22/2<12

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网