什么是端到端测试,它与系统测试有什么区别?
它们看起来都一样,并检查整个应用程序。网络上的定义非常混乱。
对我来说,两者之间并没有太大的区别,在某些机构中,这些术语可以互换使用。各地都不一样。我会尝试像这样解释它:
系统测试:您正在测试整个系统,即所有组件,以确保每个组件都按预期运行。这更多是从功能方面来检查需求。
端到端测试:这更多是关于在更真实的最终用户场景中通过系统的实际流程。用户能否按预期导航应用程序并使其正常工作。您正在测试工作流程。
例如,如果您要在店面测试电子商务网站:
系统测试: 浏览商品、购物车和结帐都可以正常工作。
端到端测试:然后您可能会发现在这些功能区域之间移动的工作流程存在问题。
端对端测试——端对端测试基本上就是它听起来的样子;您正在从头到尾测试一个软件。例如,如果它是一个电子商务平台,您将测试您是否可以进入产品页面,将其添加到购物车,然后结帐并完成订单。对于应用程序,您可以从菜单中选择一个项目,做一些工作,然后提交,以便其他人可以看到它。这基本上只是功能团队审查新开发并确保他们在实施过程中没有在前端或后端破坏某些东西的一种方式。
系统测试- 这有点模糊。这可能是某人测试网站的后端数据库,或者测试前端 UI 甚至是中间层。它基本上是一个(大部分)焦点狭窄的孤立测试,旨在确保服务的各个组件遵循通常在开发工作完成之前制定的要求。这也可以称为“集成测试”。
我会不同意。对我来说,这些术语简而言之:
系统测试:我检查我自己的系统是否按预期工作。例如在电子商务网站上:如果我的客户通过结帐,正确的数据将发送到仓库(由其他人拥有)
端到端测试:如上所述,实际工作流程。有人将一件商品放入购物篮并填写用户数据,然后付款。我检查我是否真的收到了付款,打电话给仓库,确保他们收到了数据。就像馅饼上的小樱桃一样:通过收到包裹,我确保这些数据足够好,打印正确,尤其是当我的真名是时Pavel Janíček
(见有趣的变音符号?它们有时会被错误地打印出来)。
在这里您意识到,即使您按预期和协商发送数据,您也可能在旁边的某个地方遇到问题
集成系统测试:所有各种系统组件都经过测试,如果它们在微小的细节中给出正确的预期结果。
端到端测试:从头到尾对整个应用程序进行测试,就好像从客户的角度来看是令人满意的。
比较端到端测试和系统测试就像比较水果和颜色。端到端(E2E)测试是“测试类型”,系统测试是“测试级别”。换句话说,E2E 测试始终是系统测试,但系统测试不一定是 E2E 测试。
E2E 测试在很大程度上是一种非功能性测试,尽管肯定有可以通过 E2E 测试验证的功能规范。E2E 通常在运行功能系统测试之后完成。用户验收测试(在生产环境中)、探索性测试(在 QA 或登台环境中)以及在试图模仿真实使用的环境中运行 SUT 的任何其他情况都是 E2E 测试,而系统级测试可能会运行在非生产环境(如开发环境)中。尽管这并不意味着您不能在开发中运行 E2E 测试... 测试术语的性质使得回答这个问题变得很困难,因为该行业仍在尝试摸清并确定标准。
对于这两个最重要的测试,我的角度略有不同。
端到端测试:根据我的观点,端到端测试是覆盖应用程序用例的完整工作流程。要完成任何用例的端到端流程,您可能还需要涵盖其他单个应用程序的测试(至少像“请求和响应验证”这样的交互)。例如。如果您正在使用电子商务应用程序的端到端流程,您的应用程序的最后一步是将用户带到支付网关进行支付。现在测试支付网关集成功能的请求和响应是系统集成测试或端到端测试的一部分。
系统测试:虽然系统测试的范围仅限于验证我们应用程序的每个功能。
这就是我的看法。欢迎任何更正。
端到端和系统测试有很多定义。 以下是我的定义。
1. 端到端测试;在 e2e 测试中,我们执行功能测试类型。它与用户体验和从用户角度测试应用程序的业务需求有关。
一个。测试应用上所有可能的场景:注册页面、登录页面、搜索页面、过滤页面、支付页面等。
湾。测试所有页面如何集成并作为一个单元一起工作,没有任何问题。
c.测试页面上的每一个细节:字体、文本大小、颜色代码、按钮位置等。
d。如果应用程序的 e2e 流程按预期工作,则可以执行后端测试。
2. 系统测试:我们执行功能性和非功能性测试类型。它基于技术要求。
一个。测试 Web 和应用程序服务器如何协同工作。
湾。在后端,如果两台服务器都按预期工作,则执行接口测试。
C。测试应用程序服务器如何与第三方应用程序交互。
d。测试应用程序的服务器如何使用数据库。
e. Web 和应用程序服务器的性能:负载、压力、峰值、安全等测试。
注意:有敏捷和安全的环境使我们能够以不同的方式应用 e2e 和系统测试。
在敏捷环境中,应用程序可能很小,我们可以将e2e和系统测试结合起来,我们可以称之为e2e测试。
另一方面,企业可能有一个 SAFe 环境,应用程序可能更大,并且有很多微服务需要更多测试。然后,我们可以分别进行端到端和系统测试。