做接口测试主要关注哪些点(做接口测试主要关注哪些点的问题)

网友投稿 360 2023-01-04


本篇文章给大家谈谈做接口测试主要关注哪些点,以及做接口测试主要关注哪些点的问题对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 今天给各位分享做接口测试主要关注哪些点的知识,其中也会对做接口测试主要关注哪些点的问题进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

接口测试要点

接口测试的要点:

1)接口的输入和输出,是否与预期结果一致

2)输入数据的类型、结构是否满足要求

3)输出数据的类型、结构是否满足要求

4)异常验证:

 必传非必传:必填的参数不填

   参数类型:输入整数类型的,传入字符串类型

   入参长度:长度是10的,传11
接口类型:

1)HTTP接口

2)Dubbo接口

……
HTTP接口:

1)请求报文

请求方法:GET 、POST

请求url: https://www.jianshu.com/

报文头header:一般存放cookie、token等信息。

报文体: 输入参数

2)响应报文

报文协议

状态码

响应头header

响应体: 输出 (我们需要的)

接口测试注意的细节

接口测试范围    a)业务功能(包括正常、异常场景是否实现)    b)业务规则(覆盖度是否全面)    c)参数验证(边界、业务规则是否达到要求)    d)异常场景(重复提交、并发提交、事务中断、多机环境、大数据量测试)    e)性能测试(响应时间、吞吐量、并发数、资源要求)    f)安全测试(权限验证、SQL注入等)接口测试的重点1、检查接口返回的数据是否与预期结果一致。2、检查接口的容错性,假如传递数据的类型错误时是否可以处理。3、接口参数的边界值。例如,传递的参数足够大或为负数时,接口是否可以正常处理。4、接口的性能,http请求接口大多与后端执行的SQL语句性能、算法等比较相关。5、接口的安全性,外部调用的接口尤为重要。

接口测试注意的点

接口测试作为集成测试的一部分,通过直接调用被测试的接口来确定系统在功能性、可靠性、安全性和性能方面是否能达到预期,有些情况是功能测试无法覆盖的,所以接口测试是非常必要的。

接口测试分为两种,一种是webservice接口,走soap协议通过http传输,请求报文和返回报文都是xml格式的,测试时通过工具soapUI进行测试。使用情况比较少;另一种http api接口,走http传输协议,通过路径来区分调用的方法,最常用的是get和post请求。

get请求和post请求的区别在哪里呢?网上的答案为:

1、get请求可以在浏览器中请求到,post请求的测试需要借助工具

2、get请求使用url和cookie传参,post的数据放在body中

3、post比get更安全,因为传递的参数在url上是看不到的

4、get请求的url会有限制,而post请求的数据可以非常大

5、一般get请求是来获取数据,post请求是传递数据的

其实,对于现在飞速发展的 互联网来说,上面的说法已经不严谨了。首先,post请求的参数也可以写在url里,但是这种情况不多见;其次表面上看起来,post利用body传参,比get的url传参安全,但其实只要用抓包工具(fiddler,Charles等),post的参数也是一览无余;再次,现在的浏览器非常强大,可以输入支持很长的URL,所以也不再有限制一说了。这么说来,种种区别只有最后一条是最根本的了。

 怎么来测试接口呢?根据什么来测呢?这就需要开发提供的接口文档了,接口文档和功能测试的需求说明书的功能是一样的。包括:接口说明、调用的url,请求方式(get or post),请求参数、参数类型、请求参数说明,返回结果说明。这里接口文档生成可以使用apipost接口文档生成工具。有了接口文档后,我们就可以设计用例了,一般接口测试的用例分为以下几种:

1、通过性验证,说白了就是传递正确的参数,是否返回正常的结果

2、参数组合,因为参数有必传和非必传,参数的类型和长度,以及传递时可能业务上的一些限制,所以在设计用例时,就要排列组合这些情况,保证所有情况都能覆盖到

3、接口的安全性,这个又分为几种情况:

1)绕过验证,比如提交订单时,在传递商品价格参数时,修改商品价格,就要看后端有没有验证了。或者我支付时,抓个包将订单金额一改,如果能以我改后的金额支付,那这个借口就有问题了。

2)绕过身份验证,就是某个功能只有有特殊权限的用户才能操作,那我传递一个普通的用户,是不是也能操作呢

3)参数是否加密,这个关系到一些账户的安全,比如我们在登录一些网站时,它要将我们的登录信息进行加密,如果不加密我们的信息就会暴露,危害性极大。

4) 密码安全规则,设置密码时复杂程度的校验。

4、根据业务逻辑来设计用例

用例设计完了,用什么来测试接口呢?我们可以借助一些工具,比如apipost和jmeter。apipost使用比较简单,可以在列表中选择请求方式,在输入框中输入URL,如果是get请求,直接点击发送就可以看返回结果了。

如果是post请求,会涉及到几种参数的上传方式和添加请求头、权限验证还有添加cookie等操作。apipost都可以简单实现

还有一种测试接口的工具是jmeter,用途比较广泛,不但能测接口的功能,还能对接口进行性能测试。比如:压力测试、负载测试等。在jmeter中需要创建线程组,如图:

Apipost官方链接: https://console.apipost.cn/register?utm_source=10008

接口测试的测试点有哪些

接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。

测试的策略:

接口测试也是属于功能测试,所以跟我们以往的功能测试流程并没有太大区别,测试流程依旧是:

评审测试接口文档(需求文档)

根据接口文档编写测试用例(用例编写完全可以按照以往规则来编写,例如等价类划分,边界值等设计方法)

执行测试,查看不同的参数请求,接口的返回的数据是否达到预期

那么设计测试用例时我们主要考虑如下几个方面:

功能测试:

接口的功能是否正确实现了

接口是否按照设计文档中来实现(比如username参数写为了user,那么这就不符合,因为接口文档在整个开发中都需要使用,所以接口实际的设计要与接口设计文档中保持一致)

兼容性测试: 比如说今天接口进行了调整,但是前端没有进行变更,这时候需要验证新的接口是否满足旧的调用方式

错误码测试: 通用的错误码与业务错误码是否能够清晰的说明调用问题,错误码是否能够尽可能的全的覆盖所有的情况

返回值测试: 返回值除了内容需要是正确的,还需要类型也是正确的,保证调用方拿到这些参数能够正确的解析

参数边界值、等价类测试

json格式测试: 通常我们的接口一般设计的都是传递json串,那么就需要去测试 如果传递非json的情况,这时候程序会不会正确的处理,返回相应的 error code

默认值测试: 很多情况一些非必填的参数会有默认值,比如说一个查询的接口,参数count为返回查询的结果数量, 默认为10,那么就应该有一条case来测试,当然前置条件是数据库里面必须要存在这样的数据超过10条。

逻辑业务:

是否有依赖业务,比如查看订单,是需要用户首先登录的,所以肯定要保证登录了或有相应的cookie

业务逻辑测试: 传递正确的参数,接口对数据库进行查询的操作,需要去验证数据库查询是否正确,接口对数据库进行 增删改的操作,也需要看数据库是否同步进行了这些操作

异常测试:

异常分为两类,参数异常和数据异常

参数异常:

关键字参数:将参数写为开发语言中的关键字

参数为空:比如去掉了username参数

多或少参数:多或者少参数的验证,现在还不确定如果一个接口多了参数如果没有报错是否是合理的,或者是否需要优化,因为就目前开发给予的答案是,一般不对接口多了参数的处理

错误参数:比如将username参数写为了user等看是否能返回相应的error code

数据异常:

关键字数据:将参数的值填为开发语言中的关键字

数据为空:将参数的额值填为空

长度不一致:因为数据库中每个字段都设置有字段长度,填写不符合的长度进行验证

错误数据:就是将参数的值任意填写,或填写不存在的数值

异常类型测试: 比如count参数,这个参数的类型一定是可以转换为int类型的,这时候我们需要测试如果传的一些不可以 转换为int类型值来测试代码是否加入判断

性能测试:

响应时间

吞吐量

并发用户数

占用内存,CPU等

安全性测试:

敏感信息是否加密

必要参数是否后端也进行校验(现在很多系统前后端架构是分离的,从安全层面来说,只依赖前端进行限制已经完全不能满足系统的安全要求(绕过前端太容易了), 需要后端同样进行控制,在这种情况下就需要从接口层面进行验证)

接口是否防恶意请求(SQL注入)

cookie:就是将header中的cookie修改或删除后看是否能返回相应的error code

header:就是删除或修改header中部分参数的值,看是否能返回相应的error code

唯一识别码:删除修改唯一识别码测试

接口测试要掌握什么

问题一做接口测试主要关注哪些点:接口测试应该怎么做 对于接口测试来说,项目测试用例的重复运行首先是表现在单个测试用例的独立性方面的,也就是说,每一个测试用例的运行除了依赖被测对象和对应的数据库环境外,是不依赖于其做接口测试主要关注哪些点他任何测试用例的,并且这个测试用例执行完毕后,对系统来说,也是没有任何痕迹的,这样就保证了每个测试用例运行时,都在一个干净的环境中运行。要实现测试用例的独立性,就必须对被测系统的设计有详细的了解,这样,不会出现测试用例执行后遗漏数据,环境未改变,另外,还需要对测试用例进行详细的设计。另外,要保证测试用例的重复使用,还需要做到测试用例的及时更新,在这个方面,我们是做接口测试的人会维护对应的系统的接口测试用例,要保证,代码每次更新,测试用例都必须全部执行通过。
接口测试用例的设计方法其实和功能测试用例的设计方法是类似的,因为接口是需要满足需求的,而接口测试所依赖的也是需求说明书,但是,因为接口测试毕竟是通过代码去测试代码,所以,为了保证覆盖率,可能会使用到单元测试的方法,具体的测试用例设计,我考虑的如下,请参考,如果有错误,一起讨论。
输入参数测试:针对输入的参数进行测试,也可以说是假定接口参数的不正确性进行的测试,确保接口对任意类型的输入都做了相应的处理:输入参数合法,输入参数不合法,输入参数为空,输入参数为null,输入参数超长;
功能测试:接口是否满足了所提供的功能,相当于是正常情况测试,如果一个接口功能复杂时推荐对接口用例进行结构划分,这样子用例具有更好的可读性和维护性。
逻辑测试:逻辑测试严格讲应为单元测试,单元测试应保持内部逻辑的正确性,可单元测试和接口测试界限并不是那么清楚,所以我们也可以从给出的设计文档中考虑内部逻辑错误的分支情况和异常; 异常情况测试:接口实现是否对异常情况都进行了处理,接口输入参数虽然合法,但是在接口实现中,也会出现异常,因为内部的异常不一定是输入的数据造成的,而有可能是其他逻辑造成的,程序需要对任何的异常都进行处理。

问题二:手机接口测试需要从哪些角度考虑测试点 对于当前背景下的手机测试来说,要做好手机软件测试,主要从以下几个角度进行测试:UI测试,功能模块测试,交叉事件测试,容量性测试,用户手册测试等。1、UI测试
用户界面 (以下简称UI)测试指测试用户界面的风格是否满足客户要求,文字是否正确,页面美工是否好看,文字,图片组合是否完美,背景是否美观,操作是否友好等等, UI测试用于核实用户与软件之间的交互。UI 测试的目标是确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏览功能。另外,UI 测试还可确保 UI 中的对象按照预期的方式运行,并符合公司或行业的标准。包括用户友好性,人性化,易操作性测试。
2、功能测试
功能测试指测试软件各个功能模块是否正确,逻辑是否正确。对测试对象的功能测试应侧重于所有可直接追踪到用例或业务功能和业务规则的测试需求。这种测试的目标是核实数据的接受、处理和检索是否正确,以及业务规则的实施是否恰当。此类测试基于黑盒技术,该技术通过图形用户界面 (GUI) 与应用程序进行交互,并对交互的输出或结果进行分析,以此来核实应用程序及其内部进程。功能测试的主要参考为类似于功能说明书之类的文档。
3、交叉事件测试
交叉事件测试是指一个功能正在执行过程中,同时另外一个事件或操作对该过程进行干扰的测试。例如在运行手机软件程序的过程中接收到短信或来响闹。应该以执行干扰的冲突事件不会导致手机死机或花屏等严重的问题出现为Pass的标准。
4、容量性测试
容量性测试主要测试软件测试的性能,包括负载测试,强度测试,基准测试以及基准测试
4.1 负载测试
负载测试是一种性能测试指数据在超负荷环境中运行,程序是否能够承担。
在这种测试中,将使测试对象承担不同的工作量,以评测和评估测试对象在不同工作量条件下的性能行为,以及持续正常运行的能力。负载测试的目标是确定并确保系统在超出最大预期工作量的情况下仍能正常运行。此外,负载测试还要评估性能特征,例如,响应时间、事务处理速率和其他与时间相关的方面。
4.2 强度测试
强度测试是一种性能测试,他在系统资源特别低的情况下软件系统运行情况。这类测试往往可以书写系统要求的软硬件水平要求。实施和执行此类测试的目的是找出因资源不足或资源争用而导致的错误。如果内存或磁盘空间不足,测试对象就可能会表现出一些在正常条件下并不明显的缺陷。而其他缺陷则可能由于争用共享资源(如数据库锁或网络带宽)而造成的。强度测试还可用于确定测试对象能够处理的最大工作量。
5、用户手册测试
手机软件的用户手册测试主要是看软件功能介绍是否准确、简洁地描述该软件功能,且不会让用户产生误解。

问题三:接口测试时,需要测试接口的每个参数吗 API(Application Programming Interface)自动化测试是软件测试中最基本的一种类型。API就像建造大楼的砖块,程序开发人员通过运用一定规则将砖块放在一起来构造程序,从本质上来说,API测试是用来验证组成软件的那些单个方法的正确性,而不是测试整个系统本身。
API测试又称为接口测试,接口测试是功能测试的一种。它主要借助于单元测试技术,通过模拟上层应用或者系统上层调用接口的应用场景,是对系统接口功能进行测试的一种手段。在进行接口测试的过程中,测试工程师并不需要了解被测试系统的所有代码,而主要通过分析接口定义以及模拟接口调用的业务应用场景来进行测试用例的设计,从而达到对被测试系统功能进行测试的目的。接口测试的重点是要检查数据的交换、传递和控制管理过程,以及系统间的相互逻辑依赖关系等。
接口测试一般应用于多系统间交互开发,或者拥有多个子系统的应用系统开发的测试。接口测试适用于为其他系统提供服务的底层框架系统和中心服务系统,主要测试这些系统对外部提供的接口,验证其正确性和稳定性。接口测试同样适用于一个上层系统中的服务层接口,越往上层,其测试的难度越大。
接口测试实施在多系统多平台的构架下,有着极为高效的成本收益比。接口测试天生为高复杂性的平台带来高效的缺陷检测和质量监督能力。平台越复杂,系统越庞大,接口测试的效果越明显。
接口测试的目的
接口测试是测试接口,尤其是那些与系统相关联的外部接口。接口测试的核心战略在于:以保证系统的正确和稳定为核心,以持续集成为手段,提高测试效率,提升用户体验,降低产品研发成本。
■ 核心:保证系统的稳定
质量管理的目标是保证系统的正确和稳定,接口测试作为软件质量管理的一部分也保证系统正确和稳定,更准确地说是保证系统服务端的正确和稳定。一个系统的服务端越接近底层,对系统的影响就越大,甚至有可能牵一发而动全身,服务端的一个缺陷可能会引起客户端的几个甚至十几个缺陷,更可怕的是服务端的缺陷有可能引起系统的崩溃,这对整个系统来说,损失将是不可估量的,因此服务端接口的质量将直接影响到系统的正确和稳定。
■ 目的:提高测试效率,提升用户体验,降低产品研发成本
接口测试要为代码的编写保驾护航,增强开发人员和测试人员的自信,让隐含的Bug提前暴露出来,让开发人员在第一时间修复Bug,让功能测试人员和性能测试人员在测试的时候更加顺手,最大限度得减少底层Bug的出现数量,让产品研发的流程更加顺畅,要缩短产品的研发周期,最后在产品上线以后,要让用户用得更加便捷,要让用户感觉产品服务零缺陷。

问题四:如何做接口测试 对于接口测试,首先测试人员要懂代码,做接口测试主要关注哪些点你只需要知道接口的作用是什么就可以了(有文档更好,但大部分都没有);其次,自己去读开发的代码;然后,根据该接口功能及代码写测试用例;
用例设计:
1:写一个程序去调用该接口,看是否能够达到该接口所定义的功能
2:根据该接口参数,构造不同的用例,测试接口在参数合法及非法情况下能否达到预期效果
3:根据该接口中的逻辑,设计不同条件的用例,测试该接口实现代码的逻辑
4:进行容错及健壮性测试
5:静态检测代码,看是否有内存泄露、或永远走不到的分支、代码规范及逻辑是否合理。
6:对于一些接口,需要进行多线程测试

问题五:接口测试都有哪些协议 协议主要是HTTP为主,特别是对外的接口,而对外的接口又是bug重灾区,所以比较重要。
但以后也不排除还会出现比如websocket等协议,甚至很多内部使用的协议都是开发自己定义的,并没有名字

问题六:大家用什么接口测试工具 一般就看是什么东西
电脑的话都是用主板诊断卡的
这个是可以进行系统硬件设备检测的
根据代码错误说明解决问题

问题七:安卓app接口测试需要哪些基础?哪些技术?如何入门,求指点 15分 去一个叫极客学院的网站!注册账号学习!可以学到你想要的!

问题八:软件测试中,学习软件接口测试应该学习什么书籍,求推荐! 百度文库里有很多 关于软件接口测试的文档资料,先去学习下吧。

还有一些网站资料也不少,如51testing等。百度一下就出来了

问题九:用postman测试接口会注重哪些测试点 Postman接口测试
jingyan.baidu/...3

问题十:jmeter接口测试需要哪些接口信息 一、创建工程、引包 1、创建JAVA工程 2、引入Jmeter中lib\ext基础包:ApacheJMeter_java.jar、ApacheJMeter_core.jar 3、引入Jmeter日志包:jorphan.jar,logkit-2.0.jar,mons-logging-1.1.1.jar,avalon-framework-4.1.4.jar 4、引入cl。 关于做接口测试主要关注哪些点和做接口测试主要关注哪些点的问题的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。 做接口测试主要关注哪些点的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于做接口测试主要关注哪些点的问题、做接口测试主要关注哪些点的信息别忘了在本站进行查找喔。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:学习不同 Java.net 语言中类似的函数结构
下一篇:包含订餐系统接口设计与实现的词条
相关文章

 发表评论

暂时没有评论,来抢沙发吧~