阅读 197

初学者 API 测试教程

什么是 API?

API(应用程序编程接口)是一种计算机接口,它允许两个不同的软件系统进行通信和共享数据。执行 API 的软件系统具有许多可由另一个软件系统执行的功能/子程序。在两个软件系统之间,API 描述了可以发出的请求类型、如何发出请求、可以使用的数据格式等。

左移测试

Shift Left 测试是 API 测试面试中最常见的测试形式之一。几乎每个遵循敏捷方法的项目都包含这种形式的测试。

在引入 Shift-Left 测试之前,软件测试仅在开发完成并将代码提供给测试人员之后进行。这种策略导致在最后一刻争先恐后地赶上最后期限,并导致产品质量显着下降。

除此之外,所需的工作(在生产前的最后阶段发现错误时)是巨大的,因为开发人员必须重复设计和编码阶段。

API 测试包括什么?

API 测试是一种验证应用程序编程接口 (API) 的软件测试。API 测试的目标是确保编程接口的功能、可靠、快速和安全。API 测试不使用典型的人工输入(键盘)和输出,而是使用软件进行 API 调用、获取输出并记录系统响应。API 测试与 GUI 测试的不同之处在于它们不关注应用程序的外观和感觉。它主要关注软件架构的业务逻辑层。

API 自动化是一个术语,指的是需要使用支持 API 的应用程序的测试。要测试 API,您需要做一些事情。

  • 要驱动 API,请使用测试工具。

  • 要测试 API,请编写您自己的代码。

您将在此 API 测试课程中了解更多关于 - 的信息。

  • API 测试环境设置

  • 不同类型的 API 输出

  • API 测试测试用例是一组用于测试 API 的场景。

  • API 测试方法论

  • API 测试和单元测试是有区别的。

  • 如何运行 API 测试

  • API 测试最佳实践

  • 通过 API 测试检测到的错误类型

  • 如何自动化 API 测试

  • API 测试挑战

API 测试环境设置

  • API 测试与其他软件测试方法的不同之处在于没有GUI,但您必须建立一个初始环境,该环境以指定的一组参数执行API,然后检查测试结果。

  • 因此,为 API 自动化测试设置测试环境似乎有些困难。

  • 应设置数据库和服务器以满足应用程序的需要。

  • 安装完成后,应使用 API Function 验证 API 是否可运行。

不同类型的 API 输出

API 输出可能是 -

  • 任何类型的信息

  • 当前情况(比如通过或失败)

  • 另一个 API 函数被调用。

在本 API 测试课程中,我们将查看上述每种类型的示例。

任何类型的信息

例如,有一个 API 方法可以将两个整数相加。


Long add(int a, int b)


数字必须作为输入参数输入。最终结果应该是两个整数值的总和。该输出必须与预测结果进行比较。

有必要拨打电话,例如


add (1234, 5656)


如果数量超过整数限制,则必须处理异常。

当前情况(比如通过或失败)

看看下面的 API 方法 -

  • Lock()

  • Unlock()

  • Delete()

它们可以将任何结果作为输出返回,例如 True(在成功的情况下)或 False(在失败的情况下)。更精确的测试用例是在任何脚本中运行函数,然后检查数据库或应用程序 GUI 中的更改。

正在调用另一个 API/事件。

在这种情况下,调用一个 API 函数,然后调用另一个函数。

例如,第一个 API 方法可用于从表中删除特定记录,然后该函数调用另一个函数来刷新数据库。

API测试测试用例

API测试测试用例基于

  • 返回值取决于输入条件:由于可以描述输入并且可以验证结果,因此测试很简单。

  • 不提供任何信息:当没有返回值时,必须检查系统的 API 行为。

  • 激活另一个 API/事件/中断:如果 API 的输出导致事件或中断,则应监视事件和中断侦听器。

  • 更新数据结构:更新数据结构会对系统产生影响或后果,需要验证。

  • 修改特定资源:如果 API 请求更改特定资源,则应通过访问这些资源进行检查

API 测试方法论

API 测试方法是 QA 团队在构建完成后用于进行 API 测试的预先确定的方法或技术。本次测试不包含源代码。API 测试方法有助于更好地理解特性、测试方法、输入参数和测试用例执行。

以下几点将帮助用户实施 API 测试策略 -

  • 了解 API 程序的功能并精确定义程序的范围

  • 使用等价类、边界值分析和错误猜测等测试方法为 API 编写测试用例。

  • 必须仔细考虑和描述 API 的输入参数。

  • 执行测试场景并比较预测结果和实际结果。

API 测试对比 单元测试

下表突出显示了 API 测试和单元测试之间的主要区别 -

单元测试API测试
It is carried out by developers.它由测试人员执行。
Different functions are put to the test.功能从头到尾都经过测试。
The source code may be accessed by a developer.测试人员无法访问源代码。
UI testing is also a part of the process.仅对 API 函数进行测试。
Only the most fundamental functions are put to the test.所有功能性困难都经过彻底检查。
The scope is limited.更广的范围
Usually performed before check-in.构建完成后,运行。

如何运行 API 测试?

除了标准的 SDLC 流程外,API 自动化测试至少应包括以下测试方法。

  • 发现测试- 测试组应该手动执行 API 中定义的一组调用,例如确认可以根据需要列出、创建和销毁 API 可访问的给定资源。

  • 可用性测试- 可用性测试确保 API 既实用又用户友好。API 与其他平台的交互效果如何?

  • 安全测试-安全测试涉及确定需要哪种形式的身份验证以及敏感数据是否通过 HTTP 或两者加密。

  • 自动化测试- API 测试应导致建立一组脚本或可用于定期运行 API 的工具。

  • 文档- 测试团队必须确保文档完整且足以与 API 交互。最终输出应包括文档。

API 测试最佳实践

  • API 测试用例应按类别进行组织。

  • 被调用的 API 的声明应包含在每个测试的顶部。

  • 参数的选择应在测试用例中明确说明。

  • 优先考虑 API 函数调用,以便测试人员可以轻松测试它们。

  • 每个测试用例都应该尽可能独立,并且没有依赖性。

  • 在您的开发中,避免“测试链接”。

  • 使用Delete、CloseWindow等一次性调用函数时,需要多加小心。

  • 应进行呼叫排序并精心计划。

  • 为所有可能的 API 输入组合创建 API 测试用例,以保证全面的测试覆盖率。

通过 API 测试检测到的错误类型

  • 无法优雅地处理错误情况

  • 从未使用过的标志

  • 功能缺失或重复

  • 连接到 API 和接收响应的可靠性问题很困难。

  • 安全问题

  • 多线程问题

  • 性能问题。API 响应时间真的很长。

  • 给不正确的调用者的错误/警告

  • 错误地处理有效的参数值

  • 响应中的数据组织不正确(JSON 或 XML)

如何自动化 API 测试

接下来的课程提供了自动化 API 测试的分步指导。

  • REST 保证 API 测试

  • 如何使用 Postman 测试 API

  • 如何使用 UFT 测试 API?

API 测试挑战

API 测试有许多缺点,包括 -

  • 参数组合、参数选择和调用排序是 Web API 测试中的三个主要问题。

  • 没有用于测试程序的图形用户界面 (GUI),因此无法提供输入数据。

  • 测试人员在单独的系统上验证和验证结果有点困难。

  • 测试人员必须了解参数选择和分类。

  • 有必要测试异常处理方法。

  • 对于测试人员,需要编码专业知识。

结论

业务逻辑层由 API 中的类、函数和方法的集合表示。如果 API 未经过良好测试,则可能会在 API 应用程序和调用方应用程序中产生问题。在软件工程中,这是一项必须做的测试。


文章分类
百科问答
文章标签
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐