当前位置: 首页 > 知识库问答 >
问题:

REST API 测试常见问题

安高义
2023-03-14

我最近开始测试基于rest的web服务。我想知道测试它们时面临的常见问题是什么。

我通常会寻找

>

  • 响应状态(http代码在200/400/500之间)

    响应头(缓存控件、响应类型、内容长度)

    如果 json 响应中存在预期的字段/值。

    我想知道在测试基于Rest的Web服务时还需要寻找什么和一般问题

  • 共有3个答案

    洪宏硕
    2023-03-14

    以下是根据我在测试Restful API时的经验提出的建议。

    1. 如果您与API一起使用,请确保您正在验证专有标头。
    2. 确认您在响应中包含了正确的位置标头,以便Rest API调用者可以将其用于验证或后续调用。
    3. 检查位置标头协议是否正确,即根据您的设计。(超文本传输协议/https)。这对后续调用非常重要。
    顾琛
    2023-03-14

    有很多,但让我分享一些甚至不是特定的API问题,但完整的API集成测试将有助于找到它。

    我们做了一个集成API测试,其中一个出版商的产品列表endpoint被命中,然后我们随机挑选了100个这样的产品。每隔几周,我们就会发现一堆错误的产品ID。怎么可能呢?他们会更新数据库,但是产品列表endpoint被缓存,并且在自动刷新之前有几个小时的错误信息。

    另一次,我们在布鲁克林发现了一家电子商务公司,平均而言,该公司5万件产品中有3500件缺少一个类别。这意味着,如果您按类别浏览,3500个产品将不会显示,并可能失去销售。

    我们在我们的网站上有一个完整的案例研究。奇怪和意外的事情总是发生。测试一切,尽可能多地抓住。有效载荷中的每一个html" target="_blank">对象都应该被验证,这看起来可能有点过分,但有些平台可以为您完成所有这些工作。

    曹焱
    2023-03-14

    这实际上是一个非常广泛的问题,但是,以下是我在测试RestAPI时寻找的东西:

    1. 响应代码、响应标头
    2. 根据用户权限检查身份验证/授权是否正确
    3. 检查提供的值是否会中断输出
    4. 有意传递不同的数据类型值,以查看是否正确处理
    5. 使用负载测试工具查看 API 可以处理多少个并发请求

    同样,这些只是一些取决于您正在构建的API类型的事情。随着您的进步,请随时添加更多内容。

     类似资料:
    • 面试常见问题 1、️有没有面试其他公司? 参考:我确实面试其他公司,想找一份收人相对保障的工作,所以在考虑中 2、️接受加班吗? 如实回答不愿意,明确说,我觉得在我本质工作中能够完成相关工作;愿意,贵公司的加班情况怎么样,是否有补偿,调休或者有加班费 3、你的优点是什么? 比如:我认为我的优点是学习能力强,和责任心比较强,适应力强,我经常在学习行业的知识,我在上一份工作中休息时间也在处理工作中的事

    • 目录 综合 何时学习 Redux ? 何时使用 Redux ? Redux 只能搭配 React 使用? Redux 需要特殊的编译工具支持吗? Reducer 如何在 reducer 之间共享 state ? combineReducers 是必须的吗? 处理 action 必须用 switch 语句吗? 组织 State 必须将所有 state 都维护在 Redux 中吗? 可以用 React

    • Parallax doesn’t work with fullpage.js. Short answer: use the scrollBar:true option for fullPage.js or autoScrolling:false if you don’t want to use the auto-scrolling feature. Explanation: Parallax, a

    • 这是一些常见问题和回答 我可以为一个任务(task)或剧本(playbook)设置 PATH 或者其它环境变量吗? 可以通过 environment 关键字设置环境变量,可以用在 task 或者 play 上 environment: PATH: “{{ ansible_env.PATH }}:/thingy/bin” SOME: value 如何处理需要不同账户与端口登录的不同机器?¶ 设置清单

    • 常见问题 1.PC浏览器无法预览 因bui-weex专注于 iOS,android 的效果,对于 PC浏览器的适配目前尚未做到很好。我们的模版工程在 webpack.config.js中没有开启生成 **.web.js的功能,因此在PC浏览器上无法预览。进行如下修改即可: ... module.exports = [webConfig,weexConfig]; 2.如何进行iPhoneX的适配 i

    • 代码生成器 (Sergen) 在表中添加新的字段之后,我应该重新生成代码吗? 建议只生成一次代码,你应该以现有字段为例,在行(row)、 列(column)和表单(form)类手动添加新字段。 但是如果你做了太多的更改,并且再次生成代码。Sergen 将启动 Kdiff3 让你合并更改,以便不会覆盖你之前对生成代码所做的更改。 在 Sergen 中,我有关于 KDiff3 的错误,如何定位该错误呢