当前位置:首页 » 网页前端 » 一个前端页面哪些要做接口测试
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

一个前端页面哪些要做接口测试

发布时间: 2022-04-24 07:17:55

1. 在实际接口测试中,接口测试工作的详细开展方式是怎么样的

在实际工作中,接口的展现形式不是固定。但是市场上,最多的还是HTTP协议的接口测试。
基于HTTP协议的接口测试,工作开展方式类似于这样:
项目立项阶段 -> 项目经理、产品经理、测试经理、CEO等人员参与
需求阶段 -> 产品经理根据项目,输出需求规则说明书,产品说明书;然后需求评审
项目排期 -> 项目经理根据产品功能,确定开发、测试、上线计划的时间节点
研发阶段 -> 输出概要设计和详细设计文档,并且各个角色根据文档设计系统架构、数据库、配置文件;并开始编写业务功能的代码
测试阶段 -> 单元测试、集成测试、系统测试、验收测试(接口测试属于集成测试)
发布上线 -> 上线问题验证和维护

测试阶段的细节:

测试工作的开展,与公司对测试流程的管理和把控有很大关系,不同的公司,把控力度都不一样。在标准的测试流程里面,我们需要编写测试用例,但是有的公司甚至测试用例都不用写,对测试质量的控制,停留在“测试人员的责任心和技术水平”上。

如果是一个有前后端的项目,那么接口测试流程是这么开展的:
1. 后端开发人员完成代码编写,输出接口文档
2. 前端开发和后端开发进行前后端联调,打通主干流程;联调结束后,后端开发人员提测接口
3. 接口测试人员,根据后端开发的提测的接口,按照接口文档在【测试环境】进行接口测试。此时前端开发人员在并行开发前端页面
4. 此时,由于项目中,前端开发、后端接口都在同时进行,所以会出现测试和前端开发的进度问题:
前端开发完成、接口测试完成:这是最理想的情况,此时手工功能测试介入测试,接口测试人员进入验收测试。
前端开发完成、接口测试未完成:此时手工功能测试也会介入测试,与接口测试并行测试;(PS:如果功能测试结束了,接口测试依然未完成,那么手工功能和接口一起进入验收测试。)
前端开发未完成、接口测试已完成:手工功能测试无法介入。
5. 【测试环境】的接口测试结束后,接口测试人员需要在【验收环境】进行验收回归测试
6. 【验收环境】执行通过后,接口测试人员,可以把接口自动化脚本,利用持续集成技术,集成到平台中,进行持续的校验。
7. 最后发布上线后,一般接口测试人员不需要介入生产环境的接口测试。但是少数情况下,接口测试人员,也需要在生产环境进行接口测试(不建议)
了解了吗?如果想晋升,或者是学习软件测试的最新知识,欢迎来看黑马程序员视频库内容,有最新的软件测试学习内容哦!

2. 如何进行接口测试,如何做好接口测试

题主所说的接口是指server后台提供给前端调用的api接口还是程序内部提供的类接口;
不管是哪一种,做接口测试都要明确想要借助接口测试达到的测试目的,不同的公司、项目和背景下相应的要求都不同;
一般来说如果是server接口测试,基本目的是为了测试覆盖后台的接口业务能力,保证在后端提供接口之后立即能够执行测试,而不需要延迟到客户端联调才来发现接口本身存在的业务问题;对于server接口测试,一般的要求是快速反馈、可持续迭代、问题定位方便;通常用例设计上不考虑异常值的case,这些由客户端调用时验证并保证;接口框架和用例的实现通常比较简单,除非调用接口的协议是私有协议,这种情况下就需要构建对应的消息请求接收器。
如果是内部类接口的测试,属于单元测试范畴,具体要求也是视情况而定,但一般也是为了保证提供的类接口功能的准确性;具体实现上要注意,类接口的单元测试对于类接口一般会要求开发尽量解耦,如果解耦不彻底在编写测试代码时往往要借助打桩[stub]或者模拟[mock];
总的说来,想做好接口测试,必须先明确测试的目的,否则容易出现很多形式上的代码实际没有半毛钱用处,反而浪费人力物力。

3. app有哪些接口需要测试

一般原生App各自使用系统的方法测试接口即可完成开发并提交。如果让h5自己调用一些原生接口,由于Andriod和iOS系统,Pad版本等等不一样的原因,H5可能需要做一大堆的判断去做兼容,这会大大加大前端的工作量,而且很容易出现兼容性问题。所以让Android和iOS原生预定义一些统一的接口,h5直接调用使用,从而免去了复杂的兼容性判断,大大地减少前端工作,也使得性能更好。同时这里也可以看出接口测试最重要的一方面测试——兼容性测试,测试必要尽可能大地覆盖系统版本,分辨率,机型。

4. 为什么做接口测试接口测试能发现哪些问题

举个例子吧:
测试用户注册功能,规定用户名为6~18个字符,包含字母(区分大小写)、数字、下划线。首先功能测试时肯定会对用户名规则进行测试时,比如输入20个字符、输入特殊字符等,但这些可能只是在前端做了校验,后端可能没做校验,如果有人通过抓包绕过前端校验直接发送到后端怎么办呢?试想一下,如果用户名和密码未在后端做校验,而有人又绕过前端校验的话,那用户名和密码不就可以随便输了吗?如果是登录可能会通过SQL注入等手段来随意登录,甚至可以获取管理员权限,那这样不是很恐怖?
所以,接口测试的必要性就体现出来了:
①、可以发现很多在页面上操作发现不了的bug

②、检查系统的异常处理能力

③、检查系统的安全性、稳定性

④、前端随便变,接口测好了,后端不用变

5. 接口测试测试点

1.可以发现很多在页面上操作发现不了的bug(接口的)
2.可以检查系统(接口)的异常处理能力
3.可以检查系统(接口)的安全性、稳定性
4.前端随便变,接口测好了,后端不用变
5.可以测试并发情况,一个账号,同时(大于2个请求)对最后一个商品下单,或不同账号,对最后一个商品下单
6.可以修改请求参数,突破前端页面输入限制(如金额),检查系统(接口)有没有进行校验

6. 啥是接口测试

接口也就是我们通常说的API吧,个人认为接口分为程序内部接口,程序外部接口,内部接口的测试通常是进行白盒测试(测试通常是开发进行的),你这里说的应该是程序的外部接口。其实程序的外部接口也可以进一步细分的,比如组件的接口,web服务接口等等。对于组件的接口的测试也是使用白盒测试的,需要准备驱动程序。而web服务接口的测试,可以借助一些工具来进行。你说的淘宝的接口测试应该就是对web服务的测试,其实原理就是你根据web服务的格式要求准备测试数据(xml文件),然后通过工具把请求发送的web服务器,然后验证返回的结果。

7. 什么是接口测试

接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及百内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。
由于如今的系统复杂度不断度上升,传统的测试方法成本急剧增加且测试问效率大幅下降,所以就要做接口测试。同时,接口测试相对容易实现自动化持续集成,且相对UI自动化也比较稳定,可以减少人工回归测试人力成本与时间,缩答短测试周期,支持后端快速发版需求。接口持续集成是为什么能低成本高收益的根源。现在很多系统前后端架构是分离的,从安全层面来说,只依赖前端进行限制已专经完全不能满足系统的安全要求(绕过前面实在太容易),
需要后端同样进行控制,在这种情况下就需要从接口层面进行验证。前后端传输、日志打印等信息是否加密传输也是需要验证的,特别是涉及到用户的属隐私信息,如身份证,银行卡等。

8. 接口测试的类型有哪些

我们在做接口测试的时候通常是对普通的http协议接口进行测试。但实际上接口测试还有很多种类型,下面就列举下接口测试的具体类型
①基于http协议的接口,具体分为get、post、put、delete类型的接口
②基于web service的接口,具体有如下3种:
Ⅰ. SOAP类型,表示简单对象访问协议的一种接口
Ⅱ. RMI类型,针对于java语言的一个接口
Ⅲ. RPC类型:远程过程调用协议,程序可向网络中另一台计算机请求服务
建议多去听听黑马程序员视频库,此类的知识点有非常多,而且还是免费的。

9. 接口测试的测试点有哪些

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

测试的策略:

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

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

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

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

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

    功能测试:

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

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

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

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

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

  • 参数边界值、等价类测试

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

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

  • 逻辑业务:

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

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

  • 异常测试:

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

    参数异常:

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

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

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

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

  • 数据异常:

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

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

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

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

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

  • 性能测试:

  • 响应时间

  • 吞吐量

  • 并发用户数

  • 占用内存,CPU等

  • 安全性测试:

  • 敏感信息是否加密

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

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

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

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

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

10. 常见的接口测试工具有哪些

接口一般来说有两种,一种是程序内部的接口,一种是系统对外的接口。
系统对外的接口:比如你要从别的网站或服务器上获取资源或信息,别人肯定不会把数据库共享给你,他只能给你提供一个他们写好的方法来获取数据,你引用他提供的接口就能使用他写好的方法,从而达到数据共享的目的,比如说咱们用的app、网址这些它在进行数据处理的时候都是通过接口来进行调用的。
程序内部的接口:方法与方法之间,模块与模块之间的交互,程序内部抛出的接口,比如bbs系统,有登录模块、发帖模块等等,那你要发帖就必须先登录,要发帖就得登录,那么这两个模块就得有交互,它就会抛出一个接口,供内部系统进行调用。

一、常见接口:

1、webService接口:是走soap协议通过http传输,请求报文和返回报文都是xml格式的,我们在测试的时候都用通过工具才能进行调用,测试。可以使用的工具有SoapUI、jmeter、loadrunner等;

2、http api接口:是走http协议,通过路径来区分调用的方法,请求报文都是key-value形式的,返回报文一般都是json串,有get和post等方法,这也是最常用的两种请求方式。可以使用的工具有postman、RESTClient、jmeter、loadrunner等;

二、前端和后端:

在说接口测试之前,我们先来搞清楚这两个概念,前端和后端。
前端是什么呢,对于web端来说,咱们使用的网页,打开的网站,这都是前端,这些都是html、css写的;对于app端来说呢,它就是咱们用的app,android或者object-C(开发ios上的app)开发的,它的作用就是显示页面,让我们看到漂亮的页面,以及做一些简单的校验,比如说非空校验,咱们在页面上操作的时候,这些业务逻辑、功能,比如说你购物,发微博这些功能是由后端来实现的,后端去控制你购物的时候扣你的余额,发微博发到哪个账号下面,那前端和后端是怎么交互的呢,就是通过接口。
前面说的你可能不好理解,你只需记住:前端负责貌美如花,后端负责挣钱养家。

三、什么是接口测试:

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

OK,上面是网络上说的,下面才是我说的

其实我觉得接口测试很简单,比一般的功能测试还简单(这话我先这样说,以后可能会删O(∩_∩)O哈!),现在找工作好多公司都要求有接口测试经验,也有好多人问我(也就两三个人)什么是接口测试,本着不懂也要装懂的态度,我会说:所谓接口测试就是通过测试不同情况下的入参与之相应的出参信息来判断接口是否符合或满足相应的功能性、安全性要求。

我为啥说接口测试比功能测试简单呢,因为功能测试是从页面输入值,然后通过点击按钮或链接等传值给后端,而且功能测试还要测UI、前端交互等功能,但接口测试没有页面,它是通过接口规范文档上的调用地址、请求参数,拼接报文,然后发送请求,检查返回结果,所以它只需测入参和出参就行了,相对来说简单了不少。