接口测试中,在做http测试时,我们测试关注的点有哪些?

2020-08-03 11:14发布

3条回答
小雨点儿
2楼 · 2020-08-03 11:16

1)在浏览器地址栏输入网址,即URL

2)浏览器对域名进行解析

3)封装成tcp包,建立tcp连接,即三次握手

4)浏览器向服务器发送http请求

5)服务器对浏览器的http请求进行响应

6)服务器关闭tcp连接,即四次挥手

7)浏览器收到服务器的响应信息,并将响应信息进行处理,展示给用户

测试关注的点有:2457其中2需要注意的是解析后的ip地址对应的是什么环境


乐xenia
3楼 · 2020-08-04 11:49

功能测试

  1. 仔细查阅需求文档、接口文档,测试接口的功能能否正常运行、是否符合需求。

  2. 返回的数据内容和类型是否是我们所需要的。例如很多接口返回的数据类型是json格式,就要关注能否从json字符串里面解析出想要的内容。

  3. 这里的测试用例设计可以参照一些用例设计方法(边界值、等价类等等),不仅要测试功能的正确性,也得测试相关的异常处理是否正确运行。
    细分下去,不仅得测试接口主体的正确响应和异常响应,也得关注接口的参数,所以针对参数进行测试也是必不可少的。例如测试参数内容为空的处理是否齐全。

  4. 对于http接口,关注header的参数设置,如果缺失了某些参数,能否有相应的错误处理。url请求是否支持get/post/put/delete,如果不支持,有没有错误提示。

性能测试

针对接口做性能测试,主要关注接口重复使用时的平均响应时间,若是有并发的情况,则要关注最大并发数、在高并发情况下的平均响应时间、cup占用率、吞吐量。

安全性测试

关注传输数据的安全性,例如密码是否加密处理。是否有请求拦截过滤保护,是否能够防止sql注入等等。对于get请求,关注有没有敏感信息出现在url请求里。


上来打杂的
4楼 · 2021-11-22 11:09

一、什么是接口、什么是接口测试

接口:主要是子模块或者子系统间交互并相互作用的部分。 这里说的接口是广义的,客户端与后台服务间的协议。插件间通信的接口、模块间的接口、再小到一个类提供的方法,也都可以理解为接口。 接口测试:是指针对模块或系统间接口进行的测试。

二、接口测试流程

需求讨论,需求评审,场景设计,编写用列,准备数据,执行测试。

三、接口测试用例设计

1接口测试的用例设计,主要从输入和接口处理两方面考虑: 1)针对输入,可按照参数类型进行设计; 2)针对接口处理,可按照逻辑进行用例设计; 3)针对输出,可根据结果进行分析设计。 2针对输入设计 对于接口来说,输入就是入参。常见参数类型有: 1)数值型(int,long,float,double等) 2)字符串类型 3)数组或链表 4)结构体

四、怎么进行接口测试

通过工具模拟客户端向服务端发送请求并接受服务器返回的数据来对接口的功能,逻辑业务,异常,安全进行测试。 1)功能测试:测试这个接口的功能是否实现,并且测试这个接口是否按照接口文档来进行开发的(比如说接口文档规定了一些关键字,在开发过程中可能出现因为关键字不一样,导致某些开发的功能异常,还有自动化脚本也会发生异常) 2)逻辑业务,主要指的是一些逻辑业务依赖关系,比如支付宝提交订单的时候要保证你是在登录的情况下,如果你没有登录而提交成功了,这就是异常,可以修改请求的cookie来测试。 3)异常测试:参数异常:关键字参数(应用其他的关键字替换进行测试)、参数为空、参数多少(通过添加参数增添个数),参数错误。数据异常:关键字数据(填入的数据用其他的数据语言的数据替用)、数据长度、数据为空、数据错误。 由于我们项目前后端调用主要是基于http协议的接口,所以测试接口时主要是通过工具或代码模拟http请求的发送与接收,包括自动化测试也是,比代码实现效率高了不少。

五、接口测试用到的工具

接口测试常用的工具,国内做得比较好的有eolinker和apipost,流程基本都是发送请求后抓取记录请求数据,然后把数据修改并发送到服务端并接收服务器返回的数据及异常来进行验证接口。不同的是eolinker可以直接导入整个接口项目,apipost需要用fiddler抓取请求数据,才能导入到工具上使用。工具不是固定的,其他开源的工具也可以试试。 Eolinker:www.eolinker.com Apipost:www.apipost.cn

六、接口测试发现的典型问题

接口测试经常遇到的bug和问题,如下: 1)传入参数处理不当,导致程序crash; 2)类型溢出,导致数据读出和写入不一致; 3)因对象权限未进行校验,可以访问其他用户敏感信息; 4)状态处理不当,导致逻辑出现错乱; 5)逻辑校验不完善,可利用漏洞获取非正当利益等。



相关问题推荐

  • 回答 157

    虽然从事开发行业的女生越来越多,但女生的比例还是远比不上男生。软件测试的男女生比例则基本相当,软件测试要求细心、耐心,大部分女生也是比较适合学的。而且软件测试课程分为手工测试和自动化测试,手工测试分为功能测试、性能测试、接口测试。自动化测试...

  • 回答 121

    需要。很多人当初抱着测试不需要懂代码,才选择了这个行业,这个就要看对自己的职业定位了,是止步于月薪过万就可以了,还是往20k、30k去突破,如果这样的话,是肯定要会接口、会自动化,就必然要涉及到代码。如果真的看不懂代码,实际的测试后期的工作会出现...

  • 回答 91

    在我看来游戏开发挺难的,尤其像手游一类的还有网游,里面有很多的程序代码而且伤神又费力,不过也有女生在这方面做的很好的,如果你感兴趣,非常想学,可以试试

  • 回答 80

    软件测试专业现在很火热,很缺少人才,25岁学软件测试能学会,就业薪资也高,工作也相对轻松

  • 回答 11
    已采纳

    测试类型有:功能测试,性能测试,界面测试。功能测试在测试工作中占的比例最大,功能测试也叫黑盒测试。是把测试对象看作一个黑盒子。利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程。采用黑盒技术设计测试用...

  • 回答 15
    已采纳

    这个其实和接口测试的场景密不可分的,比如说:外部接口测试:    必须先接口测试通过了,才能执行功能测试子系统或者各个模块之间的联调测试:    必须各子系统后台代码完成,并提供接口才可以完成测试,一般来说都要求各子系统功能测试通过后再进行...

  • 回答 6
    已采纳

    这个是会因为公司的架构不同而不同的,并不是固定的,但是一般是会有专门的测试部门,或者叫质量保证部,也有可能是叫别的名字。

  • 回答 43
    已采纳

    移动端测试,包括App兼容性测dao试,7*24小时稳定性测试,功耗性能测试,UI测试,交互测试等,课程主要学习的内容有:1、功能测试主要包括计算机基础、软件测试核心理论、Linux、数据库,学习目标是掌握软件测试核心理论,结合Linux、数据库等可实现移动端、w...

  • 回答 1

    标题  1. 首先要做一个标题党(此标题党非彼标题党)。标题一定要清晰简洁易理解,不应该臃长  2. 尽量前缀要规范,例如模板: [Product][Version]_[Feature]_[Title],这样描述会很清晰,也方便查找  3. 缺陷的标题一定要描述在什么情况下发生了什么问...

  • 回答 1

    1、 缺陷报告可以记录缺陷2、可以对缺陷进行跟踪管理3、可以对缺陷报告进行分类 总结 统计

  • 回答 1

    1、缺陷编号(Defect ID),提交BUG的顺序。2、缺陷标题(summary),简明扼要的说明一下这个BUG。3、缺陷的发现者(DetectedBy) ,一般是自己。4、发现缺陷的日期(Detected on date),一般是当天。5、缺陷所属的模块(subject), 在测试哪个模块的时候发现的BUG...

  • 回答 1

    缺陷标题好的缺陷标题需要让相关人员一目了然,一般建议的格式是条件+失败。缺陷类型缺陷类型也是根据具体的项目而定的。但一般情况下分为功能、界面、建议。重现步骤重现步骤的编写规则可以参考测试用例中的操作步骤 ,一定要足够详细、说明清楚问题的操作顺...

  • 回答 1

    工具:NoSQLUnitJsTestDriverQTRunnerVenusFluintBuster.JSSQLUnitECUTQTestlibUnitilsgreatestDbUnitAbbotGoogleTest框架:JUnitMoqJSCaptureMockCUnitPyUnitCppUTestCppUnitzCUTcipra

  • 回答 1

    JunitTestNGGoogleTestpytestunittestJmockitJaCoCogcov、lcov、gcovrCoverage.pyEvoSuiteDiffblue Cover

  • 回答 1

      React Hooks测试库( Testing Library)是一个简单而完整的React Hooks测试工具。  React Hooks测试库让用户可以为React钩子创建简单的测试工具,自定义钩子的输入和检索输出,以处理在功能组件体内运行的情况。  使用React Hooks,用户不必为了测试而去担...

  • 回答 1

    1、单元测试注重代码逻辑,接口测试注重业务逻辑;2、单元测试的粒度最小,是测试最小独立的单元模块(不依赖其他模块);接口测试不是,会覆盖很多;3、单元测试是白盒测试,接口测试是黑盒测试;4、单元测试关注的是代码的实现和逻辑,测试范围较小,保证实...

没有解决我的问题,去提问