摘要: 上一篇中我们简单介绍了如果使用SpecFlow对Web GUI 进行测试。GUI Automation本质上是黑盒的自动化测试,测试脚本调用和交互的对象是Application Under Test(Web页面)。这一篇我们举另外一个例子用SpecFlow调用被测对象方法或接口,来实现验收自动化测试(Acceptance test automation),这是本质上是一种白盒测试。第一步:写Feature和Scenario第二步:运行Scenario,看到Scenario失败第三步:实现Step Definitions第四步:创建domain class—Coffee Machine第五步:实 阅读全文
posted @ 2012-12-31 13:47 Sandy8103 阅读(260) 评论(0) 推荐(0) 编辑
  2013年1月6日
摘要: 应用SpecFlow做Acceptance Test的时候经常遇到不同的Step之间传递数据,例子:Feature: Components As a logged in user I want to be able to add new components So that I can perform asssessments on them@LogIn @SetCurrentSection Scenario: Add new component Given I am on the components page When I add a new component Then th... 阅读全文
posted @ 2013-01-06 10:24 Sandy8103 阅读(1695) 评论(0) 推荐(1) 编辑
  2013年1月4日
摘要: 我在项目中只用到其中部分的特性,接下来写一下我使用SpecFlow这个工具所用到的一些特性。可能很多地方还需要改善,欢迎用过得朋友提建议。 (SpecFlow的wiki上有它的Documentation全面的介绍,有兴趣的朋友也可以看看:https://github.com/techtalk/SpecFlow/wiki/Documentation) Step Definitions:这是Spe... 阅读全文
posted @ 2013-01-04 11:50 Sandy8103 阅读(2379) 评论(0) 推荐(1) 编辑
  2012年12月31日
摘要: 在敏捷开发中我们常听到BDD,TDD,ATDD….等术语。这里我想谈谈我对TDD和BDD的看法,以及在项目中的应用。TDD is 测试驱动开发. TDD针对每个特定的功能写测试代码。当然一开始测试会失败(Red)的,因为我们的功能还不存在。然后写简单的代码使测试通过(Green)。接着重构代码(Refactor)。始终重复Red-Green-Refactor直到整个功能完成BDD is 行为驱动开发. BDD首先创建的是可执行的规范(Specification)。当然一开始规范会失败(Red)的,因为我们的功能还不存在。然后写简单的代码使规范通过(Green)。接着重构代码(Refactor) 阅读全文
posted @ 2012-12-31 21:37 Sandy8103 阅读(832) 评论(2) 推荐(1) 编辑
  2012年12月29日
摘要: Behavior-driven development(行为驱动开发)这里我们简为BDD。这篇主要以Google搜索测试的例子来说明从零搭建出一个自动化测试的框架。本测试案例来源于WATIN官网的Hello World,我们来把这个测试转化于行为驱动开发模式下的测试。当然这个例子远远谈不上框架,只是一个入门的介绍。首先我们来看一下WATIN的测试:http://watin.org/[Test] public void SearchForWatiNOnGoogle(){using (var browser = new IE("http://www.google.com")){ 阅读全文
posted @ 2012-12-29 23:06 Sandy8103 阅读(1299) 评论(1) 推荐(1) 编辑
  2012年12月8日
摘要: 使用 SpecFlow 和 WatiN 进行行为驱动开发Brandon Satromhttp://msdn.microsoft.com/zh-cn/magazine/gg490346.aspx下载示例代码 随着自动化单元测试在软件开发中变得越来越普遍,对各种“测试优先”方法的采用也呈现出相同的趋势。 这些实践为开发团队既带来了难得的机遇,也带来了独特的挑战,但所有这些机遇和挑战都是为了帮助从业人员建立“根据设计进行测试”的思路。但是在“测试优先”时代的大多数时间,用于表达用户行为的方法一直贯穿于使用系统语言(一种与用户的语言不相关的语言)编写的单元测试。 随着行为驱动开发 (BDD) 技术的问 阅读全文
posted @ 2012-12-08 21:30 Sandy8103 阅读(361) 评论(1) 推荐(0) 编辑