wordpress建站不知道密码,渝发建设官方网站,网站建设模板购买,企业营销型网站建设规划API代表A pplication P AGC软件我覆盖整个院落。 通常#xff0c;API用于通过使用任何通信方式来促进两个不同应用程序之间的交互。 在网络上使用API时#xff0c;我们将其称为“ Web服务”。 最近#xff0c;API已成为编程的Struts。 与在应用程序中一样#xff0c;编… API代表A pplication P AGC软件我覆盖整个院落。 通常API用于通过使用任何通信方式来促进两个不同应用程序之间的交互。 在网络上使用API时我们将其称为“ Web服务”。 最近API已成为编程的Struts。 与在应用程序中一样编写API以与数据库或与其他模块进行通信现在已成为一种常见的做法这就是为什么作为测试人员我们必须测试API以最大程度地覆盖测试范围。 作为集成测试的一部分API自动化可以帮助加速测试并提高效率。 由于大多数公司在业务层使用RESTful微服务/ API因此API测试已成为任何版本测试计划的关键组成部分。 用最简单的术语来说API是一项服务可以帮助两个不同的应用程序相互通信。 通常API用于抽象业务逻辑并直接对任何应用程序进行数据库访问。 从逻辑上讲我们可以将整个系统分为三层- 表示层–这是向最终用户开放的用户界面GUI。 质量检查人员在此层执行功能测试。 业务层-这是编写逻辑的应用程序用户界面。 用技术术语来说这就是代码/算法所在的地方。 API在这一层中得到体现。 数据库层-存在应用程序数据的位置。 换句话说API是我们互联世界的大脑。 这套工具协议标准和代码将我们的数字世界粘合在一起。 由于它们提供的动态特性和功能API使公司变得更加敏捷事物可以移动并且一切都以简化的集成方式一起工作。因此API测试是在服务级别和集成级别对API进行测试。水平。 API的测试策略- 在测试API时测试人员应集中精力使用软件进行API调用以便在观察和记录系统响应之前接收输出。 最重要的是在各种条件下测试API返回正确的响应或输出。 此输出通常是以下三个之一 通过或失败状态 数据或信息 调用另一个API 但是也可能根本没有输出或者发生了完全无法预测的事情。 这使测试人员的角色对于应用程序开发过程至关重要。由于API是许多应用程序的数据中心因此API的数据驱动测试可以帮助提高测试覆盖率和准确性。 在直接测试API时指定通过/失败方案更具挑战性。 但是在比较响应中的API数据或比较另一个API中的API调用后的行为时将帮助您设置确定的验证方案。 API测试是整个软件测试和QA测试链中最具挑战性的部分之一因为它可以确保我们的数字生活以越来越无缝和高效的方式运行。 尽管开发人员倾向于只测试他们正在使用的功能但是测试人员负责测试单个功能和一系列功能或一系列功能以发现端到端的工作方式。 API测试类型- 首先确定您需要对API执行哪种类型的测试。 就像测试人员对其产品功能进行不同类型的测试一样API也是如此。 API的常见测试包括- 单元测试 –测试单个操作的功能。 例如-Google提供了地理编码API以获取任何位置的经度和纬度。 这通常以地址作为输入并返回lat long。 现在对于此API的单元测试测试人员可以通过其他位置并验证结果。 功能测试-这种测试类型主要集中在API的功能上。 这将包括测试用例以验证HTTP响应代码响应的验证万一API返回任何错误的错误代码等。 负载测试-在API处理大量数据并同时有一定数量的用户使用应用程序的情况下这种类型的测试是必需的。 这会同时增加API命中率并且可能会崩溃并且无法承担该负载。 安全测试-安全测试尤其重要因为使用API在两个不同的应用程序之间创建链接。 使用API的核心目的是使应用程序的数据库抽象或隐藏。 这可能包括测试用例例如授权检查会话管理等。 互操作性测试-这是为了测试应用程序应该可以访问的API。 这适用于SOAP API。 WS合规性测试-已对API进行测试以确保正确实施和利用WS-AddressingWS-DiscoveryWS-FederationWS-PolicyWS-Security和WS-Trust等标准 渗透测试-这是从外部资源中查找API的漏洞。 Web服务/ API协议- 如果我们谈论网络服务则主要有两种类型的服务或者我们可以说协议 REST - REST代表RE表象小号大老贸易交接相比SOAP这意味着它要克服一切与SOAP的问题这是块新的。 REST是一种轻量级协议它使用URL来获取所有必需的信息。 它使用四种HTTP方法来执行任务- 获取-获取信息。 例如在使用位置映射API的情况下获取经度和纬度。 后-在资源中插入一些数据。 放置-更新资源。 删除-从资源中删除。 REST由于其简单轻巧的体系结构如今已越来越多地使用。 SOAP API-支架使用S impleØbject 一个 CCESS P rotocol。 它使用XML进行消息交换。 执行此任务所需的所有信息均以其WSDLWeb服务描述语言给出。 SOAP由于其广泛使用的标准和XML而非常笨重。 相对于RestSOAP的主要优点是它内置了错误处理功能并且可以与其他协议例如SMTP一起使用。 API测试和自动化工具 有几种工具可以测试API。 当测试人员测试API时他们必须索要其文档无论是REST还是SOAP API还是其非基于Web的API都应该始终有一个文档其中应写有详细信息。 进行API测试- 索取文件 首先编写功能或服务级别案例 编写集成测试 当API足够稳定并通过上述大多数测试时请执行安全性性能和负载测试。 典型的API文档具有与该API相关的所有信息例如其请求格式响应错误代码资源强制性参数可选参数标头等。该文档可以通过各种工具例如开源Dapperdox ReDoc等 之后尝试为API编写服务级别案例。 例如如果一个API接受n个参数来获取响应其中m是强制性参数其他是可选参数那么一个测试用例应该是尝试不同的参数组合并验证响应。 另一个测试用例可能会验证标头并尝试在不通过身份验证的情况下运行API并验证错误代码。 接下来是集成测试步骤您需要在其中测试API及其所有相关的API或功能。 这还包括测试API响应应返回给另一个API或方法的数据以及该API失败时会发生什么。 一旦API稳定并且功能测试即将完成测试人员就可以执行负载安全性和性能测试。 API自动化 我们经常需要自动化重复执行的测试用例。 对于例如-回归案例。 同样在进行API测试的情况下在某些情况下我们可能需要在每个版本之前执行并且这些情况可以自动化。 有许多用于API自动化的工具它们非常流行- 汤UI 卡塔隆工作室 邮差 捷米特 放心 CloudQA TruAPI SOUP UI-这是非常流行的API测试工具。您可以使用SoapUI对API进行功能负载安全性和合规性测试。 Katalon Studio-建立在Selenium和Appium的顶部Katalon Studio是一个免费且功能强大的自动化测试工具用于Web测试API测试和移动测试。 Postman-邮差是免费的可以帮助您更有效使用API时。 它具有开发和测试API的所有功能。 Jmeter-尽管Jmeter主要用于性能和负载测试但在很大程度上也可以用于API功能测试。 RestAssured- Rest-Assured是一个基于Java的库用于测试RESTful Web服务。该库可以包含在现有框架中并直接调用其方法以json格式获取响应然后执行所需的操作。 我以一个示例来说明基本API功能测试所遵循的步骤这里我使用的是CloudQA提供的TruAPI工具该工具是新的并且越来越受欢迎- 步骤1-要运行API请求您需要首先选择“方法类型”并粘贴API的URL。 按发送按钮将请求发送到API或按添加API测试按钮保存请求- 试试这个示例方法类型和API URL 方法类型 GET APIURLhttps://um5fdww2pj.execute-api.us-east-1.amazonaws.com/dev/todos Step2-API请求信息 大多数API都需要其他输入来执行请求例如参数标头BodyJSON等。 要添加请求的参数您可以选择相应的“ 参数”选项卡然后按“ 添加参数”按钮以添加所需的信息。 第3步通过身份验证发送API请求 如果您的托管API需要身份验证则可以转到“授权”选项卡然后从下拉列表中选择“ BasicAuth ”默认设置为“ Noauth”然后输入用户名和密码。 现在您可以发送经过身份验证的请求了。 每个API响应均包含不同的值例如状态码正文标头和完成API请求的时间。 下图显示了如何描述收到的API响应。 添加断言 在自动化过程中使用断言验证输出非常重要。 要在API运行程序中添加断言请转到“断言”选项卡。 您可以在此处添加一个或多个断言。 请按照以下步骤添加断言 选择回应类型 完成添加断言 变量 “变量”选项卡对于存储作为已发送的API请求的响应而接收的值很有用。 若要保存响应请转到“变量”选项卡然后执行以下步骤 添加变量 查看或执行已保存的API请求 当您进入API Runner页面时请使用“查看保存的测试”按钮查看保存的测试 选择一个或多个保存的API测试并默认运行选定的测试这些测试将显示上一次执行的运行状态信息 结果将显示API执行历史记录 这是一个单一的API执行和自动化。 对于现实场景我们经常需要创建包含所有回归测试用例的API套件并将其作为回归测试的一部分来运行。 在敏捷中准备好一套西装以使其能够与CI和CD集成至关重要。 CloudQA附带了有关该工具的非常丰富的文档CloudQA提供的所有工具都与“无代码自动化”的思想保持一致并且非常易于手动测试人员使用。 文档链接-https://doc.cloudqa.io/TruAPI.html 从逻辑上讲我们可以将整个系统分为三层- 表示层–这是向最终用户开放的用户界面GUI。 质量检查人员在此层执行功能测试。 业务层-这是编写逻辑的应用程序用户界面。 用技术术语来说这就是代码/算法所在的地方。 API在这一层中得到体现。 数据库层-存在应用程序数据的位置。 翻译自: https://www.javacodegeeks.com/2019/01/api-testing-automation-essential-guide.html