电话:0731-83595998
导航

自动化测试的成功经验分享

来源: 2017-11-26 13:18

 FIT(Framework for Integrated Tests) 是一种通用的开放框架,是由Ward Cunningham开发的,可以帮助我们进行自动化的确认测试。自动化测试是轻型开发模式(XP、Crystal等)测试活动的另一个优秀思路也是采取轻型开发模式的必要条件之一。在只有测试实现了自动化,回归测试才能实现,重构(采取轻型开发模式另外的一个必要条件)才能够贯彻,而迭代也才能够进行。FIT利用JUnit并扩展了JUnit的测试功能。
  长期以来,在软件开发中我们一直关心着两个主要问题:
  第一,业务如何通过应用程序与其所需内容通信;
  第二,工程师如何验证他们是否正在构建满足业务需要的正确软件。多年来,为了解决这些关心的问题,已探索了许多方法和框架,但直到出现 Framework for Integrated Tests (FIT) 以后,才找到了解决这些问题的简便而直观的方法。
  使用FIT我们可以编写出可以自动运行的确认测试用例,可以用来确认我们所开发出来的软件是否满足了用户所需的功能,可以作为持续构建过程的一部分来确保所构建出来的版本是正确的。但是,FIT还有另外一个更为重要的功能,那就是在软件开发中增强协作,尤其是开发团队和客户、领域专家之间的协作。这种协作可以有效地降低软件开发中的不必要的复杂性,加速反馈,并确保最大程度地为客户提供最高的价值。
  FIT如何工作
  简单来讲,FIT就是一个软件,它能够读取HTML文件中的表格(这些表格可以通过MicroSoft Word或者Excel产生)。针对每个表格,都会由一个程序员编写的"fixture"(装置)来解释。该fixture会驱动"被测系统 (SUT?System Under Test)"来对表格中给出的测试用例进行检验。
  Fixture充当Fit表格和要测试系统间的媒介,起协调作用,完成表格中给出的测试。FIT中提供了好几种类型的Fixture,它们分别用于处理不同的情形。Fixture的形式有3种:
  ColumnFixture(对应于"列"表),"列"表的形式如下所示:
  CalculateScholarship
  Score Scholarship()
  1000 0
  1999 0
  2000 500
  2050 500
  2100 1000
  2200 1500
  2300 2000
  2350 2000
  2400 2500
  RowFixture(对应于"行"表),"行"表的形式:
  DiscountGroupOrderedList
  order future value max owing min purchase discount percent
  1 low 0.00 0.00 0
  2 low 0.00 2000.00 3
  3 medium 500.00 600.00 3
  4 medium 0.00 500.00 5
  5 high 2000.00 2000.00 10
  ActionFixture,表明以表格给出的测试用例的一系列的操作步骤。见表1。
  表1
  fit.ActionFixture
  start cstc.fitexam.coffeemaker.AddInventory
  enter units coffee 3
  enter units milk 5
  enter units sugar 6
  enter units chocolate 7
  check coffee inventory 18
  check milk inventory 20
  check sugar inventory 21
  check chocolate inventory 22
   在表1中,第1列给出了执行的命令,这里共有3个命令,但是其它的命令可以根据实际情况在ActionFixture.的子类中进行创建。上述的3个命令是
  Start:与该Fixture相关联的类的名称
  Enter:该类的一个方法(带有一个变量)
  Check:该类的一个方法的返回值(不带变量)
  为该表格创建一个ActionFixture类如下:
  package cstc.fitexam.coffeemaker; 
  import fit.ActionFixture;
  public class AddInventory extends ActionFixture {
  private CoffeeMaker cm = new CoffeeMaker();
  private Inventory i = cm.checkInventory();
  public void unitsCoffee(int coffee) {
  cm.addInventory(coffee,0,0,0);
  }
  public void unitsMilk(int milk) {
  cm.addInventory(0,milk,0,0);
  }
  public void unitsSugar(int sugar) {
  cm.addInventory(0,0,sugar,0);
  }
  public void unitsChocolate(int chocolate) {
  cm.addInventory(0,0,0,chocolate);
  }
  public int coffeeInventory() {
  return i.getCoffee();
  }
  public int milkInventory() {
  return i.getMilk();
  }
  public int sugarInventory() {
  return i.getSugar();
  }
  public int chocolateInventory() {
  return i.getChocolate();
  }
  }

编辑推荐:

下载Word文档

温馨提示:因考试政策、内容不断变化与调整,长理培训网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准! (责任编辑:长理培训)

网络课程 新人注册送三重礼

已有 22658 名学员学习以下课程通过考试

网友评论(共0条评论)

请自觉遵守互联网相关政策法规,评论内容只代表网友观点!

最新评论

点击加载更多评论>>

精品课程

更多
10781人学习

免费试听更多

相关推荐
图书更多+
  • 电网书籍
  • 财会书籍
  • 其它工学书籍
拼团课程更多+
  • 电气拼团课程
  • 财会拼团课程
  • 其它工学拼团
热门排行

长理培训客户端 资讯,试题,视频一手掌握

去 App Store 免费下载 iOS 客户端