你如何用两种流行且看似矛盾的解释来定义功能测试?

时间:2018-02-04 23:53:17

标签: unit-testing testing functional-testing system-testing

我一直在研究功能测试的定义,并且无法得到具体的解释,并希望获得一些额外的信息来帮助调和。

我遇到的两个主要想法是:

  1. 功能测试作为测试类型,包括以下测试级别:单元测试,集成测试,系统测试和验收测试。
  2. enter image description here

    1. 功能测试作为单元测试和集成测试(有时是系统测试的一部分,在其他时间之前)的单独级别,使用黑盒方法端到端测试产品。目的是验证定义的所有功能规范。
    2. enter image description here

2 个答案:

答案 0 :(得分:1)

关于不同类型的测试分类 在案例1中,我们分离了功能和非功能测试 关于的分类是什么样的案例进行了测试
  - 在功能方案中,我们检查能够执行的系统并且它是否符合要求。 例如:用户是否可以通过Facebook进行授权   - 在非功能性场景中,我们检查系统是如何做的:它足够安全吗?它是否清晰简单(用户体验,可用性等)?那么优化和性能呢?

在案例2中,我们根据隔离级别进行了分离 关于我们产品的哪个部分经过测试的分类
我们是在测试单独的代码模块,集成两种服务还是整个产品? 在这个分类中,当我们对单个业务场景(用户函数)进行测试时,功能测试是关于抽象级别的。

答案 1 :(得分:1)

测试术语是垃圾。每个人都有自己的术语。因此,即使您满足其中一个定义,您也应该期望其他人可能不了解您。

Personally,我认为我们需要坚持使用该术语所暗示的词源功能测试意味着(对我而言)它检查业务逻辑(功能)。我们可以在任何级别编写这些测试 - 单元,系统级别等。开发人员的工作是确定这种测试最有效的地方。

但是再次 - 当他们说“功能性”%

时,你会听到人们提到Selenium测试

另外,我不认为您的第一个定义意味着功能测试包含级别。我认为这意味着它可以在不同级别进行进行。这与我刚刚写的相似。

PS:验收测试也不是一个级别 - 这是你接受新代码的事实。与回归测试相反,回归测试检查以前工作的东西是否继续工作。虽然还有用户验收测试 - 它指的是最终用户使用系统。