第一次尝试tdd。我应该写哪些测试?

时间:2015-02-23 00:55:54

标签: testing tdd bdd

我正在研究健身房的访问控制应用程序。 我想让所有这个应用程序可测试,但这是我第一次使用TDD / BDD。我不确切知道应该创建哪些测试。

也许从用户的角度进行测试?类似的东西:

  • 作为访客,我想进入健身房。
  • 作为访客,我想退出健身房。
  • 作为访问者,我想输入两次(这应该返回异常)。
  • ...
  • 作为管理员,我想导入访问者列表。
  • 作为管理员,我想清除访问者列表。
  • 作为管理员,我想知道谁在健身房。
  • ...

或者也许从开发人员的角度进行测试?类似的东西:

  • testVisitorEnterOnGymReturnTrue()
  • testVisitorExitGymReturnTrue()
  • testVisitorExitGymBeForeEnteredToGetException()
  • testVisitorEnterGymTwoTimesToGetException()
  • testAdministratorImportListOfVisitorsReturnTrue()
  • testAdministratorClearListOfVisitorsReturnTrue()
  • testAdministratorShowWhoIsOnTheGymNowReturnArray()

在开始编码之前,我应该创建哪种测试?

2 个答案:

答案 0 :(得分:0)

绝对从用户的角度进行测试,绝不从您自己的角度进行测试(除非您是自己的客户)。

通过这种方式,您可以与客户进行对话,我发现这对于找到那些很少考虑角落案例的人来说非常有用。对话将以您的用户理解的方式进行,并将转换回更多测试。

答案 1 :(得分:0)

我会从单元测试我的课开始。 它本质上是一个开发人员的视角,你验证你班级中的每个方法都做你期望她做的事情。 你会惊讶地发现有多少虫子可以通过这种方式找到。 强烈建议您在编写代码时编写测试,而不是在编写代码之后编写测试。