【问题标题】:Difference between system testing and end-to-end testing系统测试和端到端测试的区别
【发布时间】:2013-10-23 01:52:21
【问题描述】:

什么是端到端测试,它与系统测试有什么区别?

它们看起来都一样,并从整体上检查应用程序。网上的定义很混乱。

【问题讨论】:

  • 我想,这应该会有所帮助。 System TestingEnd To End Testing.
  • 这个问题更适合 Stackexchange 上的软件质量保证:sqa.stackexchange.com
  • 含义取决于使用该术语的人。询问负责处理这些任务的人她或他的意思。
  • 许多作者对大多数测试术语有不同的含义。大多数人都同意“单元测试”应该是什么,但仅此而已。

标签: testing terminology qa


【解决方案1】:

对我来说,两者之间并没有太大的区别,而且在某些机构中,这两个术语可以互换使用。各地都不一样。我会尝试这样解释:

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

端到端测试:这更多是关于在更真实的最终用户场景中通过系统的实际流程。用户能否按预期导航应用程序并能正常工作。您正在测试工作流程。

例如,如果您要在店面测试电子商务网站:

系统测试:浏览商品、购物车和结帐都可以正常工作。

端到端测试:然后您可能会发现在这些功能区域之间移动的工作流程存在问题。

【讨论】:

  • 我同意斯科特的观点。这与我的定义很接近,并且确实非常接近,而且人们经常混淆两者。所以我的建议是使用尽可能少的术语。例如,我只使用端到端测试(我发现它更容易理解它的含义)并且不使用系统测试(系统在 IT 中意味着很多东西)。在测试堆栈上,我使用另外两个词:单元测试(低级)和组件测试(中级)。我也放弃了“集成测试”,因为它可能意味着很多事情。
  • @a 学习者,如果这回答了您的问题,您能否将其标记为已接受的答案/投赞成票,谢谢。
  • @LaurentBristiel,组件测试也可能意味着很多东西(类、子系统、库)。因此,与其放弃这些术语,我更愿意澄清你所说的组件是什么意思,你所说的集成是什么意思(你是否集成了类、子系统、整个系统,以及这些类、子系统、系统是什么)。
【解决方案2】:

我不同意。对我来说,这些术语很简单:

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

端到端测试:如上所述,实际工作流程。有人将一件商品放入购物篮并填写用户数据,然后付款。我检查我是否真的收到了付款,打电话给仓库,确保他们收到了数据。就像馅饼上的小樱桃:通过收到包裹,我确保这些数据足够好,打印正确,尤其是当我的真名是 Pavel Janíček 时(见有趣的变音符号?有时打印错误)。

在这里您意识到,即使您按预期和协商发送数据,您也可能在旁边的某个地方遇到问题

【讨论】:

    【解决方案3】:

    端到端测试 - 端到端测试基本上就是它听起来的样子;您正在从头到尾测试一个软件。例如,如果它是一个电子商务平台,您将测试您是否可以进入产品页面,将其添加到购物车,然后结帐并完成订单。对于应用程序,您可以从菜单中选择一个项目,做一些工作,然后提交,以便其他人可以看到它。这基本上只是职能团队审查新开发并确保他们在实施过程中没有在前端或后端破坏某些东西的一种方式。

    系统测试 - 这有点模糊。这可能是某人测试网站的后端数据库,或者测试前端 UI 甚至是中间层。它基本上是一个(大部分)焦点狭窄的孤立测试,旨在确保服务的各个组件遵循通常在开发工作完成之前制定的要求。这也可以称为“集成测试”。

    【讨论】:

    • 所以在系统测试中你不是在测试整个系统,而是子系统、组件,对吧?我只是了解到这里的每个人都有他或她对系统测试的定义。没关系。让我们在使用这些术语时让其他人清楚。
    • 似乎“系统测试”和“集成测试”是不同的野兽。至少对于 ruby​​ on rails (我很确定对于 dotnet 术语也是如此)。见stackoverflow.com/questions/44690747/…
    【解决方案4】:

    集成系统测试:所有各种系统组件都经过测试,如果它们在细节上给出正确的预期结果。

    端到端测试:从头到尾测试整个应用程序,就好像从客户的角度来看是满意的。

    【讨论】:

      【解决方案5】:

      答案很好地解释了差异,我将补充一点,端到端测试有两种不同的定义:一种垂直和一种水平 (更频繁,并在答案中描述):

      【讨论】:

        【解决方案6】:

        比较端到端测试和系统测试就像比较水果和颜色。端到端(E2E)测试是“测试类型”,系统测试是“测试级别”。换句话说,E2E 测试始终是系统测试,但系统测试不一定是 E2E 测试。

        E2E 测试在很大程度上是一种非功能性测试,尽管肯定有可以通过 E2E 测试验证的功能规范。 E2E 通常在运行功能系统测试之后完成。用户验收测试(在生产环境中)、探索性测试(在 QA 或登台环境中)以及在试图模仿真实使用的环境中运行 SUT 的任何其他情况都是 E2E 测试,而系统级测试可能会运行在非生产环境(如开发环境)中。尽管这并不意味着您无法在开发人员中运行 E2E 测试... 测试术语的性质使得回答这个问题变得很困难,因为行业仍在尝试摸索和确定标准。

        【讨论】:

          【解决方案7】:

          我对这两个最重要的测试的角度略有不同。

          端到端测试: 根据我的观点,端到端测试是涵盖应用程序用例的完整工作流程。要完成任何用例的端到端流程,您可能还需要涵盖其他单个应用程序的测试(至少像“请求和响应验证”这样的交互)。例如。如果您使用的是电子商务应用程序的端到端流程,您的应用程序的最后一步是将用户带到支付网关进行支付。现在测试支付网关集成功能的请求和响应是系统集成测试或端到端测试的一部分。

          系统测试:虽然系统测试的范围仅限于验证我们应用程序的每一项功能。

          这是我的看法。欢迎大家指正。

          【讨论】:

            【解决方案8】:

            端到端和系统测试有很多定义。 以下是我的定义。

            1.端到端测试; 在 e2e 测试中,我们执行功能测试类型。它与用户体验和从用户角度测试应用程序的业务需求有关。

            一个。测试应用上所有可能的场景: 注册页面、登录页面、搜索页面、过滤页面、支付页面等

            b.测试所有页面如何集成并作为一个单元协同工作,没有任何问题。

            c.测试页面上的每个细节:字体、文本大小、颜色代码、按钮位置等

            d。如果应用程序的 e2e 流程按预期工作,则可以进行后端测试。

            2。系统测试:我们执行功能性和非功能性测试类型。它基于技术要求。

            一个。测试 Web 和应用程序服务器如何协同工作。

            b.在后端,如果两台服务器都按预期工作,则执行接口测试。

            c。测试应用服务器如何与第三方应用交互。

            d。测试应用程序的服务器如何使用数据库。

            e. Web 和应用程序服务器的性能: 负载、压力、峰值、安全等测试。

            注意:敏捷和安全的环境使我们能够以不同的方式应用 e2e 和系统测试。

            在敏捷环境中,应用程序可能很小,我们可以将e2e和系统测试结合起来,我们可以称之为e2e测试。

            另一方面,企业可能有一个 SAFe 环境,应用程序可能更大,并且有很多微服务需要更多测试。然后,我们可以分别进行端到端和系统测试。

            【讨论】:

              猜你喜欢
              • 2018-07-23
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2015-11-05
              • 1970-01-01
              • 1970-01-01
              • 2017-02-19
              • 1970-01-01
              相关资源
              最近更新 更多