系统testing和端到端testing之间的区别

什么是端到端testing,它和系统testing有什么区别?

他们看起来都是一样的,并检查整个应用程序。 networking上的定义非常混乱。

对于我来说,两者之间并没有真正的巨大差异,在一些机构中这些术语可以互换使用。 到处都是不同的。 我会尝试像这样解释它:

系统testing :您正在testing整个系统,即所有的组件,以确保每个系统都按预期运行。 这更多的是从function方面来检查需求。

端到端testing :这更多的是关于更实际的最终用户场景中通过系统实际stream量 。 用户是否可以像预期的那样导航应用程序,并且能够工作。 您正在testing工作stream程。

例如,如果你要testing一个电子商务网站的店面:

系统testing:浏览项目,购物车和结帐都将正常工作。

端到端testing:然后,您可能会发现在这些function区域之间移动的工作stream程的问题。

端到端testing – 端到端testing基本上就是它听起来的样子; 你从头到尾都在testing一个软件。 例如,如果是电子商务平台,则可以testing您是否可以访问产品页面,将其添加到购物车,然后结帐并完成订单。 对于应用程序,可能是因为您可以从菜单中select一个项目,做一些工作,然后提交,以便其他人可以看到。 这基本上是一个function团队审核新开发的方法,并确保他们在实施过程中不会在前端或后端破坏某些东西。

系统testing – 这有点模糊。 这可能是某人testing网站的后端数据库,或testing前端用户界面甚至是中间层。 它基本上是一个狭窄的testing,主要是狭窄的焦点,旨在确保服务的各个组件遵循通常在开发工作完成之前制定的要求。 这也可以被称为“集成testing”。

我会不同意。 对我而言,这些术语简而言之:

系统testing:我检查自己的系统是否按预期工作。 例如在电子商务网站上:如果我的客户通过结帐,则将正确的数据发送到仓库(由其他人拥有)

端到端testing:如上所述,实际的工作stream程。 有人把一块货物放到购物篮中,填入用户数据,付钱。 我检查我是否真的收到了付款,打电话给仓库,确保他们收到了数据。 馅饼上的小樱桃:通过接收包裹,我确信,这些数据是足够好,打印正确,特别是当我的真名是Pavel Janíček (见有趣的变音符号?他们有时打印不正确) 。

在这里,你意识到,即使你按照预期发送数据并进行协商,你也可能在某个地方出现问题

答案很好地解释了这种差异,我会补充一点,可能遇到两种不同的端到端testing的定义:一个垂直和一个水平 (更频繁,在答案中描述):

在这里输入图像说明

集成系统testing:如果他们在微小的细节中给出正确的预期结果,所有的各种系统组件都会被testing。

端到端testing:整个应用程序从开始到结束都经过testing,就好像从客户端查看时一样。

比较端到端testing和系统testing就像比较水果和颜色。 端到端(E2E)testing是一个“testingtypes”,系统testing是一个“testing水平”。 换句话说,E2Etesting总是系统testing,但系统testing不一定是E2Etesting。

端到端testing是非function性testing,尽pipe当然有function规格可以通过端到端testing进行validation。 E2E通常是在function系统testing运行之后完成的。 用户接受度testing(在生产环境中),探索性testing(在QA或分段环境中)以及在试图模仿实际使用的环境中运行SUT的任何其他情况都是E2Etesting,而系统级testing可能会运行在非生产环境(如开发环境)中。 虽然这并不意味着你不能在开发中进行E2Etesting…testing术语的性质使得回答这个难题成为可能,因为行业仍然在试图感受和确定标准。