[关闭]
@zhongjianxin 2017-07-25T21:59:59.000000Z 字数 1634 阅读 1401

实例化需求

Trainning


实例化需求的方式既能清晰地表述需求,消除客户、需求分析师、开发人员与测试人员在沟通中可能产生的理解分歧;又极为融洽地支持开发人员进行有效地测试驱动,帮助测试人员条理清晰地完成对需求功能的验收和测试。

a.定义

一段很好的需求说明,加上实例(场景+数据),实际上就是她所描述的功能的验收测试
满足:

a.精确、可测
b.是真正的需求说明,而不是脚本
c.是关于业务功能的,而不是关于软件设计的

b.实例化

c.方法

由Gojko Adzic的著作Specification By Example(实例化需求),介绍了如何通过实例去分析和沟通需求。它是一组过程模式,可以协助软件产品的变更,确保有效地交付正确的产品。实例化需求的过程分为:

注意:单元测试不能针对方法编写测试,而应根据业务编写测试用例。一个测试方法只能做一件事情,代表一个测试样本和一个业务规则。

d. TDD的驱动力

设计接口是体现测试驱动开发“驱动力”的重要一点。之所以先编写测试,就是希望开发人员站在调用者业务价值的角度去思考,即所谓“意图导向编程”。从调用的角度思考,可以驱动我们思考并达到如下目的:


以下内容毕业生培训不讲

d.BDD


e.BDD怎么做?

用例场景的描述格式“GIVEN… WHEN… THEN… ”对大家都不陌生,但用这个格式写出好的用例却是非常的难,尤其是新手。这里总结几点供大家参考:

f.Example:

场景一:检查收件箱,可以看出第三个清晰明了且能体现业务价值,比较符合上面的要求。

  1. Scenario: Check Inbox
  2.   Given a user "Tom" with password "123"
  3.   And a user "Jerry" with password "abc"
  4.   And an email to "Tom" from "Jerry"
  5.   When I sign in as "Tom" with password "123"
  6.   Then I should see one email from "Jerry" in my inbox
  1. Scenario: Check Inbox
  2.   Given a user "Tom"
  3.   And a user "Jerry"
  4.   And an email to "Tom" from "Jerry"
  5.   When I sign in as "Tom"
  6.   Then I should see one email from "Jerry" in my inbox
  1. Scenario: Check Inbox
  2.   Given I have received an email from "Jerry"
  3.   When I sign in
  4.   Then I should see one email from "Jerry" in my inbox

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注