功能测试和端到端测试之间的区别

Bri*_*ian 9 testing functional-testing end-to-end

功能测试和端到端测试有什么区别?

Techopedia说端到端测试是

用于测试应用程序流程是否按照设计从头到尾执行的方法.执行端到端测试的目的是识别系统依赖性并确保在各种系统组件和系统之间传递正确的信息.

Techopedia还说了以下关于功能测试:

功能测试是在软件开发中使用的软件测试过程,其中测试软件以确保其符合所有要求.功能测试是一种检查软件的方法,以确保它具有在其功能要求中指定的所有必需功能.

阅读完上述两段后,我仍然对它们之间的区别感到困惑.

我有一个接受请求的node.js应用程序,然后解析请求,然后将解析后的数据发送到数据库.

        requests               parse requests and send data to the database  

Client ---------> node.js app --------------------------------------------> Database
Run Code Online (Sandbox Code Playgroud)

如何为我提到的node.js应用程序编写端到端测试和功能测试?

我认为在两种类型的测试中,我都应该将node.js应用程序视为黑盒子.并向它发送请求.然后检查黑匣子的输出是否正确.

在我看来,功能测试和端到端测试之间没有区别.

Kra*_*log 15

据我了解,两者之间最大的区别是端到端测试需要测试来设置系统组件,因为它们正在生产中.真正的数据库,服务,队列等.原因是看到您的系统正确连接(数据库连接,配置等).

功能测试可以使用应用程序端口的内存实现来设置系统,这将使测试运行更快并且可能允许测试并行运行(在某些情况下).测试唯一关心的是功能按预期工作.这可以减少设置某些测试的开销,因为使用数据准备第三方系统可能是困难的或耗时的.


小智 6

我认为功能测试和端到端测试的定义可能因项目的上下文而异。我见过不同的人使用这些术语来描述不同的事物。话虽如此,通常这就是这两个术语的意思-

功能测试- 这是指根据需求测试系统的功能。这通常侧重于系统的不同要求并确保其正常工作。例如 - 登录应用程序 - 可能是一个要求,然后一个人可以手动或以自动方式测试此功能。类似地,将产品添加到购物车可能是一项功能,然后,能够付款购买产品可能是一项功能。

端到端测试- 这指的是基于端到端用户流测试系统,而不是像单元测试或故事级别测试那样测试具有单独组件的系统。例如 - 登录应用程序,然后将产品添加到购物车,然后转到结帐屏幕,然后下订单,然后退出应用程序可能是一个用户流程。