初学者 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 应用程序和调用方应用程序中产生问题。在软件工程中,这是一项必须做的测试。
以上是 初学者 API 测试教程 的全部内容, 来源链接: utcz.com/z/327412.html