端到端测试教程:什么是 E2E 测试示例

阅读 1028 收藏 0 点赞 0 评论 0

端到端测试

端到端测试是一种软件测试方法,它从头到尾验证完整的软件,包括它与外部接口的交互。端到端测试检查整个软件的依赖性、数据完整性以及与其他系统、接口和数据库的连接性,以模拟完整的生产环境。

除了软件系统之外,它还检查来自各种上游/下游系统的批处理/数据处理。结果,创造了术语“端到端”。端到端测试通常在功能和系统测试完成后进行。它通过使用真实世界的数据和测试环境来模拟实时条件。链测试是端到端测试的另一个名称。

端到端测试的目的是什么?

端到端测试通过发现错误和提高子系统测试覆盖率来评估整个系统流程并增强信心。现代软件系统复杂且相互关联,其各种子系统可能与当今使用的子系统不同。任何一个子系统的故障都会导致整个系统宕机,这是端到端测试可以避免的一个很大的风险。

端到端测试流程

端到端测试程序如下图所示。

  • 要求 -

    • 需求捕捉

    • 文档

  • 端到端设计 -

    • 组件设计

    • 端到端设计

  • 组件设计 -

    • 组件设计和测试

  • 发展-

    • 开发编码和设计

  • 端到端测试 -

    • end 2 end setup 的环境设置

    • 测试设计和执行

端到端测试中涉及的操作

以下是端到端测试中涉及的主要操作 -

  • 端到端测试要求的检查

  • 测试环境的配置和硬件/软件要求

  • 描述所有系统及其子系统的过程。

  • 描述了所有系统的角色和职责。

  • 测试方法和标准

  • 端到端的需求跟踪和测试用例设计

  • 每个系统的输入和输出数据

开发端到端测试用例的最佳方法是什么?

端到端测试设计框架包含三个方面。

  • 创建用户定义的函数

  • 建设条件

  • 创建测试用例

让我们仔细看看它们:-

构建用户函数

作为构建用户功能的一部分,应完成以下操作

  • 列出系统的特征及其相关组件。

  • 对于每个特征或功能,列出输入数据、动作和输出数据。

  • 确定函数的相互关系。

  • 确定函数是可重用的还是自包含的。

考虑以下场景:您登录您的银行账户并将钱从另一个银行账户转移到您自己的(3rdparty 子系统)

  • 要使用银行系统,您必须先登录。

  • 检查帐户余额以查看帐户中还剩多少钱。

  • 从您的账户向另一个银行账户转账(3rdparty 子系统)

  • 检查您最近的帐户余额。

  • 关闭应用程序。

根据用户的角色创建条件。

作为施工条件的一部分,进行了以下操作 -

  • 为每个定义的用户功能创建一组标准

  • 顺序、时序和数据条件是条件的示例。

检查其他标准,例如 -

登录页面

  • 密码和用户名都无效。

  • 验证登录名和密码

  • 检查密码强度

  • 错误信息检查

余额

  • 24 小时后,检查当前余额。(在转账到其他银行的情况下)

  • 如果转账金额大于现有余额,请查看错误通知。

构建测试场景

为规定的用户功能创建测试场景

在这种情况下,

  • 在系统中注册。

  • 检查您的银行账户余额。

  • 将资金转入您的银行账户。

创建多个测试场景

对于每个场景,创建一个或多个测试用例。每个条件都可以包含在单独的测试用例中。

端到端测试指标

下面列出的指标只是端到端测试中使用的众多指标中的一小部分。

  • 测试用例准备状态- 显示与计划相比,测试用例准备进展了多远。

  • 每周测试的进度-每周显示测试完成百分比,包括失败、未执行和已完成的计划执行测试。

  • 故障状态和详细信息- 此报告显示每周打开和关闭的缺陷的百分比。此外,故障的每周分布取决于严重性和优先级

  • 环境的可用性- “运行”的总小时数 / 每天计划进行测试的总小时数

系统测试与端到端测试

下表突出显示了系统测试和端到端测试之间的主要区别 -

端到端测试系统测试
Validates both the software system and its associated subsystems.根据标准仅验证软件系统。
It examines the entire process flow from beginning to conclusion.它检查系统的功能和特性。
All user interfaces and backend systems will be tested.测试将包括功能测试和非功能测试。
It's run once System Testing is finished.它是在集成测试之后进行的。
External interfaces, which might be difficult to automate, are part of end-to-end testing. As a result, manual testing is preferable.系统测试可以手动或自动完成。

E2E 测试有多种形式

手动 E2E 测试和自动化 E2E 测试是两种基本形式。

为了评估对应用程序要求的符合性,业务测试人员假装是用户(在他可以访问的设备和屏幕尺寸上)。例如,从电子商务商店购买商品。

测试人员会以与普通用户相同的方式购买产品:点击添加到购物车按钮,打开购物车,进入购买界面,然后付款。

测试人员的目标是查看是否有任何流程步骤被破坏。

自动化 E2E 测试具有相同的目的。只有自动化测试提供了人类测试人员可能无法提供的更高级的功能。各种测试自动化系统提供自动化测试服务以及可以在其上进行测试的各种设备(称为“设备实验室”)。

自动测试与手动测试

  • 如前所述,手动测试需要测试人员手动执行测试。糟糕的测试可能是由人为错误造成的。测试在自动化测试中自动进行。因此,在许多情况下,自动化测试可以更准确。

  • 手动测试更容易设置和理解。自动化测试通常很难设置。自动化测试通常具有更陡峭的学习曲线。

  • 手动测试需要较低的初始成本和资源投入。虽然自动化测试需要更高的初始成本,但随着您的测试过程的增长和发展,它提供了巨大的投资回报。因此,这是在选择自动化测试解决方案时需要考虑的事情。

  • 通过手动测试更容易重新创建生产情况。但是,某些自动化技术使该过程更加困难。在功能运行之前手动检查是否满足某些要求很简单,但设置自动化测试方法可能很复杂。

E2E 测试清单

因为用户界面由众多元素组成,所以 E2E 不仅仅是测试用户界面。

API 可用于从博客站点的数据库中访问材料。不言而喻,在这种情况下,前端设计、数据库和 API 都必须独立并联合进行测试。

在 E2E 测试期间要遵循的清单如下 -

  • 数据库- 您需要测试用于系统的数据库。您可以运行测试来检查数据是否已正确保存、结构化、读取和更新。

  • 性能- 虽然网页可以很好地导航,但用户体验会受到其速度的影响。因此,评估页面或功能的性能至关重要。

  • 安全性- Web 应用程序的安全性决定了它对用户和公司的安全程度。在这种情况下,漏洞测试工具非常关键。

  • 功能- 首先测试的主要目的是确保产品正常工作。所有功能都必须按预期工作。在这种情况下也可以使用单元测试。

  • 可用性- 组件应该可用,因为它们正在运行。用户与工具一样重要,因此测试必须包括项目上的事件(例如点击)以及正确的导航。

端到端测试示例

在这个例子中,我们将利用 Perfecto Scriptless,一个可用于端到端界面测试的无代码测试平台,来测试 Twitter 登录过程。

在开始构建测试之前,让我们建立一个测试流程。

  • 去twitter.com了解更多。

  • 要登录,请单击登录按钮。

  • 如果任何输入为空,请确保登录按钮不执行任何操作。

  • 当输入不为空时,通过单击按钮提交详细信息(我们将使用错误信息进行测试)。

  • “您提供的用户名和密码与我们的记录不符,”错误通知说。请仔细检查您的工作,然后重试。”)红色。

  • 应该保存测试。

如果凭据准确(这可能是另一个测试),用户将被发送到他们的帐户。

结论

端到端测试是在软件工程中检查软件系统及其子系统的过程。此测试最困难的方面是对整个系统以及相关子系统有足够的了解。

评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号