初学者 API 测试教程
什么是API?
API(应用程序编程接口)是一种计算机接口,它允许两个不同的软件系统进行通信和共享数据。执行API的软件系统具有许多可由另一个软件系统执行的功能/子程序。在两个软件系统之间,API描述了可以发出的请求类型、如何发出请求、可以使用的数据格式等。
左移测试
ShiftLeft测试是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自动化测试设置测试环境似乎有些困难。
应设置数据库和服务器以满足应用程序的需要。
安装完成后,应使用APIFunction验证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测试?
除了标准的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测试有许多缺点,包括-
参数组合、参数选择和调用排序是WebAPI测试中的三个主要问题。
没有用于测试程序的图形用户界面(GUI),因此无法提供输入数据。
测试人员在单独的系统上验证和验证结果有点困难。
测试人员必须了解参数选择和分类。
有必要测试异常处理方法。
对于测试人员,需要编码专业知识。
结论
业务逻辑层由API中的类、函数和方法的集合表示。如果API未经过良好测试,则可能会在API应用程序和调用方应用程序中产生问题。在软件工程中,这是一项必须做的测试。