3

我试图理解验收测试,但我很困惑它从哪里开始或涉及什么样的测试/s。我必须使用自动化 GUI 测试框架还是必须使用单元测试?验收测试的边界是什么?

编辑:我的问题是关于自动化验收测试。

4

3 回答 3

2

验收测试是在整个应用程序/软件开发和集成之后进行的。验收测试主要是为了测试应用程序是否满足用户要求。

验收测试主要有两种类型。

  • 阿尔法测试
  • Beta测试

验收测试主要由客户(要求开发软件的人)和最终用户完成。

Alpha 测试由客户端完成。他得到了开发商的帮助。在这里,客户查看软件以确保满足他的所有要求。

Beta 测试在 Alpha 测试完成后进行。在这里,应用程序被发布给一组充当最终用户并使用应用程序的人。

于 2012-11-22T16:20:40.343 回答
1

不要将单元测试与验收测试混淆。

验收测试基本上是需求,编写为测试,以便:

  1. 清楚何时满足要求;
  2. 实际测试更容易计划和运行。

单元测试是对少量代码的自动化测试,用于监视所有的小代码,而不需要持续(并且非常讨厌)手动检查。

于 2012-10-10T19:03:18.953 回答
0

你可以沿着 UI 之路走下去。Selenium 或 WatiR 是可用于运行基于 ui 的测试套件的可靠工具。如果你是 Dot.Net 开发者,你可以使用 WatiN,但它的问题是它似乎已经死了,因为它自 2011 年 4 月以来没有新版本。

不久前,我确实设法为我提供了一些不错的测试套件,集成了 SpecFlow(稍后会详细介绍)和 watiN,它运行良好。

然而,随着时间的推移,我意识到当我在做基于 UI 的测试时,我所做的只是加载一个页面,点击一些东西,而不是检查数据库中的结果。有时,我还检查了屏幕是否也显示了预期的消息,但仅此而已。这个结论让我放弃了基于 UI 的测试。

我开始做的是确保 UI 建立在规则和成语之上。现在的工具(asp.net mvc、razor 模板或更好的——knockout.js)允许我们这样做而没有太多的痛苦。当 UI 是有条不紊地构建的,而不是每个人都在页面上抛出他们喜欢的任何字段时,大多数时候您需要测试的只是构建它的方法,而不是结果。当然,如果我确实想测试它(在某些情况下,你会),使用QUnit等工具测试它会更容易(更快),

所以我目前练习 ATDD 的方式:

  1. 使用specflow将业务需求纳入测试代码。
  2. 仅测试“后面的代码”。
  3. 使用 knockoutJS 进行 UI 管道(使用大量自定义绑定)
  4. 为返回到视图的模型创建标准。
  5. 将 UI 行为测试视为单元测试。

这是 specflow 的一个很好的起点:http: //www.infoq.com/articles/Spec-Flow

于 2012-10-10T21:03:31.157 回答