testing - 为业务逻辑层(冒烟、回归等)设计手动测试用例?

标签 testing agile business-logic

<分区>

我有兴趣将一些手动测试用例放在一起,以验证特定 Web 应用程序的 BL 是否按预期运行。

不幸的是,UI 和 BL 层之间的耦合度足够高,如果我们想使用 Fitnesse 等工具执行任何自动化测试,我将需要花费相当多的时间,而且我不认为它是给定当前截止日期等的时间值(value)支出。

我的问题是,在上述场景中执行手动测试(测试定义为 here )是否合理,如果是:

  • BL 层的系统测试应该有多详细?
  • 在一般系统测试和冒烟测试的情况下,设计每个测试以涵盖特定要求是否足以覆盖?

示例:

REQUIREMENT: If a user provides two cost entries for the same type of
       item, the application will take the higher of the two costs, and zero
       the second.
TEST: Add two cost entries, both for vehicle use, submit the ticket. 
      Verify that the invoice for the ticket only shows the higher of the two.
  • 在设计手动测试时还有什么我应该考虑的?

最佳答案

How detailed should the system tests be for the BL layer?

您的系统需要支持多长时间?发货后,是否有人需要再次对其进行回归测试?如果是这样,测试必须足够详细,以便他们能够根据文档运行测试。否则为什么还要费心把它们写下来?

使用正确的工具,即使您的 UI 和 BL 耦合在一起,您也可以通过 UI 自动执行黑盒测试。如果您的系统将存在多年并且回归成本很高,您应该考虑尝试通过 UI 自动化测试。可执行的测试用例比书面测试用例的文档更有值(value)。

In the case of general system tests and smoke tests, will designing each test to cover a particular requirement be sufficient for coverage?

至少您还需要进行探索性测试,并尝试在边缘情况下打破程序,以在手动测试时最大化您的投资返回率。与尝试在边缘情况下打破它相比,测试快乐路径产生的错误要少得多。

还要考虑要求中的任何遗漏。根据您的要求的抽象级别,可能会省略许多场景。

Anything else I should take into consideration when designing manual tests?

尽你所能自动设置测试夹具和运行系统。即使您不能在自动化测试中执行额外的步骤,如果您可以立即设置测试夹具,也可以节省大量时间。

关于testing - 为业务逻辑层(冒烟、回归等)设计手动测试用例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10250974/

相关文章:

PHPUnit 断言方法不等于

javascript - 如果您要查找的元素不存在,如何不破坏 Cypress 测试

agile - 敏捷运动丢失了哪些良好实践(如果有)?

c# - 第一个敏捷项目——我应该先写什么?

SQL 逻辑问题和交叉应用查询

Expresso 的 Android 测试首选项 fragment

javascript - 测试数组是否为空或包含某个对象

architecture - 在仍然忠于敏捷的同时,如何避免技术债务,即: avoiding violation of YAGNI and avoiding BDUF?

php - PHP 或 MySQL 中的业务逻辑?

wpf - ViewModel - 我的业务逻辑层?