本篇文章给大家谈谈接口测试记录,以及接口测试举例说明对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
今天给各位分享接口测试记录的知识,其中也会对接口测试举例说明进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
记录:http接口测试必学之curl命令
curl测试GET接口
url参数可以直接写到url中,此时url最好用引号引起来
curl测试带参数get请求
表单类Post请求
curl可以通过-d指定 请求数据(包含-d参数时,默认为Post请求),如
JSON格式Post请求
curl可以用个-H指定header,多个header要使用多个-H
带Cookie的请求
Cookie属于header的一项,我们可以携带抓取到的Cookie来请求需要登录的接口,如:
可以使用-v参数查看请求详情
接口测试方案怎么写
问题一:如何做接口测试 对于接口测试,首先测试人员要懂代码,你只需要知道接口的作用是什么就可以了(有文档更好,但大部分都没有);其次,自己去读开发的代码;然后,根据该接口功能及代码写测试用例;
用例设计:
1:写一个程序去调用该接口,看是否能够达到该接口所定义的功能
2:根据该接口参数,构造不同的用例,测试接口在参数合法及非法情况下能否达到预期效果
3:根据该接口中的逻辑,设计不同条件的用例,测试该接口实现代码的逻辑
4:进行容错及健壮性测试
5:静态检测代码,看是否有内存泄露、或永远走不到的分支、代码规范及逻辑是否合理。
6:对于一些接口,需要进行多线程测试
问题二:接口测试应该怎么做 对于接口测试来说,项目测试用例的重复运行首先是表现在单个测试用例的独立性方面的,也就是说,每一个测试用例的运行除了依赖被测对象和对应的数据库环境外,是不依赖于其他任何测试用例的,并且这个测试用例执行完毕后,对系统来说,也是没有任何痕迹的,这样就保证了每个测试用例运行时,都在一个干净的环境中运行。要实现测试用例的独立性,就必须对被测系统的设计有详细的了解,这样,不会出现测试用例执行后遗漏数据,环境未改变,另外,还需要对测试用例进行详细的设计。另外,要保证测试用例的重复使用,还需要做到测试用例的及时更新,在这个方面,我们是做接口测试的人会维护对应的系统的接口测试用例,要保证,代码每次更新,测试用例都必须全部执行通过。
接口测试用例的设计方法其实和功能测试用例的设计方法是类似的,因为接口是需要满足需求的,而接口测试所依赖的也是需求说明书,但是,因为接口测试毕竟是通过代码去测试代码,所以,为了保证覆盖率,可能会使用到单元测试的方法,具体的测试用例设计,我考虑的如下,请参考,如果有错误,一起讨论。
输入参数测试:针对输入的参数进行测试,也可以说是假定接口参数的不正确性进行的测试,确保接口对任意类型的输入都做了相应的处理:输入参数合法,输入参数不合法,输入参数为空,输入参数为null,输入参数超长;
功能测试:接口是否满足了所提供的功能,相当于是正常情况测试,如果一个接口功能复杂时推荐对接口用例进行结构划分,这样子用例具有更好的可读性和维护性。
逻辑测试:逻辑测试严格讲应为单元测试,单元测试应保持内部逻辑的正确性,可单元测试和接口测试界限并不是那么清楚,所以我们也可以从给出的设计文档中考虑内部逻辑错误的分支情况和异常; 异常情况测试:接口实现是否对异常情况都进行了处理,接口输入参数虽然合法,但是在接口实现中,也会出现异常,因为内部的异常不一定是输入的数据造成的,而有可能是其他逻辑造成的,程序需要对任何的异常都进行处理。
问题三:软件测试方法的接口测试 接口测试的英文是interface testing,接口测试测试系统组件间接口的一种测试。接口测试的好处:由于接口测试代码本身就是用junit(当然接口的类型不同,不一定是Junit来实现)来实现的,是属于自动化测试的范畴,因此必定也包含自动化测试所固有的优势。1) 提高测试质量软件开发的过程是一个持续集成和改进的过程,而每一次的改进都可能引进新bug,因此当软件的一部,或者全部修改时,都需要对软件产品重新进行测试。其目的是要验证修改后的产品是符合需求的,而当没有自动化测试代码时,往往会由于各种各样的原因,回归不充分,导致bug遗漏。2) 提高测试效率软件系统的规模越来越大,功能点越来越多,开发人员的自测或者测试人员的人工测试非常耗时和繁琐,势必导致测试效率的低下,而自动化测试正好解决这些耗时繁琐的任务,在对外接口功能不变的情况下,达到了一次编写,永久使用的效果。3) 提高测试覆盖通过手工测试很难测试到一些更深层次的异常和安全的问题,通过一些辅助的一些测试工具,能分析出代码的覆盖率,通过覆盖率的提高来提高测试的深度。4) 更好地重现软件缺陷由于每次执行都是相同的代码,一旦代码出错,必定回归出错5) 更好定位错误由于接口测试是一种自下向上的测试,因此一量出错,非常容易定位出错,不向系统测试那样了,一旦有Bug,需要几层验证之后才能确定出错位置6) 降低修改bug的成本接口测试基本和开发人员的编码平行工作,因此发现问题会比系统测试早很多,因此减少了修改bug的成本。7) 增进测试人员和开发人员之间的合作关系,测试工程师为了更好地开展工作,需要对开发技术有深入的理解和实践,有了与开发工程师更多的交流。8) 降低了项目不能按时发布的风险由于接口测试很早就介入,在提交给系统测试前对项目代码的核心模块已经做了详尽的测试,必定加速系统测试的时间,由此来保证项目的按时发布。9)提升测试人员的技能。做接口测试必须了解开发人员的开发流程和一些开发技能,也需要了解测试工具的一些使用方法和一些测试思想,提升了测试人员的技术附加值,提高了自身的竞争力。10)促使项目开发过程的规范化要进行接口,需要完善的文档进行保障,没有测试文档,接口测试将寸步难行,接口测试将增加开发过程规范化产出,而规范化产出也保证了项目质量。
问题四:如何做好接口测试? sgbtmy:基于selenium的自动化框架开发,我主要是想问一下,你的框架除了前台的自动化,后台的数据的测试是否集成在你的测试框架中? 小刀:你好,个人理解的你所说的后台的数据的测试是指的是对数据的校验,不知理解的是否正确,那么根据这个理解,我的解释是,在我们框架中,增加了很多的功能方法用来帮助进行自动化脚本的编写和结果校验,其中就包括后台数据校验方法,当我们的测试用例需要在后台进行数据校验的时候,调用这些数据校验方法即可。相当于是,前台页面操作的自动化是封装selenium的方法去操作页面,而对后台数据的校验是通过增加功能方法来实现的,可以理解为不同的两部分,但是在编写测试脚本的似乎,根据测试用例的设计,这两部分都可以拿过来使用。 不知道是否解答了你的疑问,如果没有,请你指出,谢谢你。 tjy688:你们做接口测试的流程一般是怎么样的? 小刀:接口测试的流程其实和功能测试的流程类似,因为接口测试依赖的主要对象也是需求说明书,所以,最初的流程就是参与需求讨论,评审需求。 需求确定以后,开发会根据需求进行接口设计,会产出接口定义,在开发设计过程中,有能力的话,可以给出一些针对设计的建议,提高可测性,针对需求及设计,进行测试计划,测试设计,然后还需要和配管确定测试环境相关的事情。 在开发完成接口定义之后,就根据需求文档及接口定义进行测试用例设计,测试用例设计主要从业务场景,功能,以及异常测试几个方面考虑。 测试用例设计完成后,针对测试用例进行评审,然后,如果开发代码部分可测时,即可进入测试了,因为是部分可测,可能会使用到mock方法。 已有测试代码时,就要进行测试代码的持续集成了,我们是使用hudson来进行持续集成的 在项目结束后,会对每个项目进行总结。 如果有问题,请指出,我们一起讨论。 xinhuayw:我想了解一下你们现在是怎样保证项目测试用例的重复运行的。 小刀:对于接口测试来说,项目测试用例的重复运行首先是表现在单个测试用例的独立性方面的,也就是说,每一个测试用例的运行除了依赖被测对象和对应的数据库环境外,是不依赖于其他任何测试用例的,并且这个测试用例执行完毕后,对系统来说,也是没有任何痕迹的,这样就保证了每个测试用例运行时,都在一个干净的环境中运行。要实现测试用例的独立性,就必须对被测系统的设计有详细的了解,这样,不会出现测试用例执行后遗漏数据,环境未改变,另外,还需要对测试用例进行详细的设计。另外,要保证测试用例的重复使用,还需要做到测试用例的及时更新,在这个方面,我们是做接口测试的人会维护对应的系统的接口测试用例,要保证,代码每次更新,测试用例都必须全部执行通过。 csun888:什么是接口测试,基础知识什么的讲讲吧! 小刀:你好,接口可以分下面几种 1、系统与系统之间的调用,比如银行会提供接口供电子商务网站调用,或者说,支付宝会提供接口给淘宝调用 2、上层服务对下层服务的调用,比如service层会调用DAO层的接口,而应用层又会调用服务层提供的接口,一般会通过 3、服务之间的调用,比如注册用户时,会先调用用户查询的服务,查看该用户是否已经注册。 而我们所要做的接口测试,先要了解是基于哪一种类型的接口测试,不同类型的接口测试方法可能是不一致的,总体来说,不管是那种类型,我们只要把被测接口当做是服务方,而把我们的测试手段当做是客户方,我们的目的就是,通过我们的测试手段,去验证服务端满足了他声明提供的功能。 至于说到具体的测试方法,协议的接口测试,一般会用jmeter去测试,jmeter的好处是不用写测试代码,直接使用jm......
问题五:如何做好接口测试 你好,个人理解的你所说的后台的数据的测试是指的是对数据的校验,不知理解的是否正确,那么根据这个理解,我的解释是,在我们框架中,增加了很多的功能方法用来帮助进行自动化脚本的编写和结果校验,其中就包括后台数据校验方法,当我们的
测试用例需要在后台进行数据校验的时候,调用这些数据校验方法即可。相当于是,前台页面操作的自动化是封装selenium的方法去操作页面,而对后台数据的校验是通过增加功能方法来实现的,可以理解为不同的两部分,但是在编写测试脚本的似乎,根据测试用例的设计,这两部分都可以拿过来使用。
问题六:怎么做接口测试,概念及常用方法小结 关于接口测试做些WEB与PC/移端相关该属于客户端与WEB端通信接口测试
问题七:如何做接口测试 对于接口测试,首先测试人员要懂代码,你只需要知道接口的作用是什么就可以了(有文档更好,但大部分都没有);其次,自己去读开发的代码;然后,根据该接口功能及代码写测试用例;
用例设计:
1:写一个程序去调用该接口,看是否能够达到该接口所定义的功能
2:根据该接口参数,构造不同的用例,测试接口在参数合法及非法情况下能否达到预期效果
3:根据该接口中的逻辑,设计不同条件的用例,测试该接口实现代码的逻辑
4:进行容错及健壮性测试
5:静态检测代码,看是否有内存泄露、或永远走不到的分支、代码规范及逻辑是否合理。
6:对于一些接口,需要进行多线程测试
问题八:java编写接口测试DEMO 10分 嗯 URLconnection 或者应用 apache 的开源包
问题九:联调测试方案以及测试报告如何编写? 集成测试,又称组装测试、联合测试、联调测试、子系统测试、部件测试。不同的称呼而已,侧重点在于模块间接口的正确性、各模块间的数据流和控制流是否按照设计实现其功能、以及集成后整体功能的正确性。写集成测试方案的建议:1)依据SRS和集成测试计划来编写,无冲突2)阐明测试对象3)划分测试层次4)确定测试策略5)根据策略细化测试项6)根据系统的需求,可能需要接口分析写集成测试报告的建议:1)集成测试概述2)集成测试时间、地点、人龚)集成测试环境4)总结和评价5)遗留问题报告6)附件以上只是本人对编写集成测试方案和集成测试报告的一些建议,具体内容可以根据项目进行补充,具体格式可以自由发挥。
问题十:如何写测试用例 java 测试用例设计和执行是测试工作的核心,也是工作量最大的任务之一。
测试用例(Test Case)目前没有经典的定义。比较通常的说法是:指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,并形成文档。
测试用例编写准备
1
从配置管理员处申请软件配置:《需求规格说明书》和《设计说明书》;
2
根据需求规格说明书和设计说明书,详细理解用户的真正需求,并且对软件所实现的功能已经准确理解,然后着手制订测试用例。
测试用例制定的原则
1测试用例要包括欲测试的功能、应输入的数据和预期的输出结果。
2测试数据应该选用少量、高效的测试数据进行尽可能完备的测试。
用例覆盖
1正确性测试:输入用户实际数据以验证系统是满足需求规格说明书的要求;测试用 例中的测试点应首先保证要至少覆盖需求规格说明书中的各项功能,并且正常。
2容错性(健壮性)测试:程序能够接收正确数据输入并且产生正确(预期)的输出, 输入非法数据(非法类型、不符合要求的数据、溢出数据等),程序应能给出提示 并进行相应处理。把自己想象成一名对产品操作一点也不懂的客户,在进行任意操作。
3完整(安全)性测试:对未经授权的人使用软件系统或数据的企图,系统能够控制的程度,程序的数据处理能够保持外部信息(数据库或文件)的完整。
4接口间测试:测试各个模块相互间的协调和通信情况,数据输入输出的一致性和正确性。
5压力测试:输入10条记录运行各个功能,输入30条记录运行,输入50条记录进行测试。
6性能:完成预定的功能,系统的运行时间(主要是针对数据库而言)。
7可理解(操作)性:理解和使用该系统的难易程度(界面友好性)。
8可移植性:在不同操作系统及硬件配置情况下的运行性。
测试方法
1边界值分析法:确定边界情况(刚好等于、稍小于和稍大于和刚刚大于等价类边界值),针对我们的系统在测试过程中主要输入一些合法数据/非法数据,主要在边界值附近选取。
2等价划分:将所有可能的输入数据(有效的和无效的)划分成若干个等价类。
3错误推测:主要是根据测试经验和直觉,参照以往的软件系统出现错误之处。
测试用例的填写
1一个软件系统或项目共用一套完整的测试用例,整个系统测试过程测试完毕,将实际测试结果填写到测试用例中,操作步骤应尽可能的详细,测试结论是指最终的测试结果(结论为:通过或不通过)。
测试工程师面试,接口测试问题总结
1、什么是接口
接口测试记录?
2、什么是接口测试?
3、接口组成的要素有哪些?
4、Python 的 requests 包是干什么的?
5、如何使用 Python 的 requests 包?
6、为什么开展接口测试?
7、为什么要写接口测试用例?
8、接口测试用例设计主要考虑哪些?
9、接口测试用例包含哪些内容?
10、接口测试如何设计用例?
11、通用接口用例设计?
12、接口测试报告包含哪些内容?
13、测试指标范围包含哪些?
14、做接口测试运用过哪些测试工具?
15、抓包工具用过哪些?
16、为什么进行抓包测试?
17、TCP/IP 参考模型有哪几层?
18、常用协议的端口号?
19、常见的状态码有哪些?
20、
接口测试记录你们公司的接口测试流程是怎样的?
21、请详细阐述接口测试和 UI 测试在测试活动中是如何协同测试的?
22、接口测试注意事项?
23、接口测试执行中对比数据库吗?
24、请简述一下 cookie、session 以及 token 的区别?
25、谈谈你对 HTTP 协议的
接口测试记录了解?
26、你对 http 请求跟 webservice 请求的了解?
27、在接口测试中关联是什么含义?如何使用 Postman 设置关联?
28、接口自动化测试框架一般分为几层?
29、测试框架里如何做到数据和代码分离?
1、什么是接口?
接口就是 API,意思是应用程序编程接口。
接口本质上是程序开发的函数和方法,提供参数和返回值。
2、什么是接口测试?
接口测试是测试系统组件间接口的一种测试,接口测试主要用于检测外部系统和内部系统之间以及各个子系统之间的交互点。测试的重点是检查数据的交换、传递和控制管理的过程,以及系统间的相互逻辑依赖关系等。
3、接口组成的要素有哪些?
接口访问的地址、请求的方法、参数、返回值
(1)接口访问的地址 协议://IP 地址或域名:端口号/应用名/功能名
(2)请求的方法 get、post 等
(3)参数 用户使用接口时,需要向接口提供的数据。
(4)返回值 接口给用户的反馈结果。
4、Python 的 requests 包是干什么的?
requests 是一个 HTTP 库,作用是发送 HTTP 请求,获得响应,往往使用在网络爬虫,接口自动化测试中。
5、如何使用 Python 的 requests 包?
(1)安装 Python
(2)安装 requests 模块
(3)创建.py 文件
(4)导入 requests 模块
(5)编写 Python 代码
(6)调用 requests 方法
6、为什么开展接口测试?
接口测试属于集成测试、测试接入越早,就越能在项目早期发现问题,修复问题成本降低。
接口测试非常快速,UI 自动化执行一个测试用例 10s 左右,接口用例执行一般毫秒级。
7、为什么要写接口测试用例?
(1)理清思路,避免漏测和重复测试。
(2)提高测试效率、跟进测试进度、告诉领导做过、跟进重复性工作。
(3)更好的记录问题、发现问题、复现问题、同时这也是接口测试流程中的一个产物。
8、接口测试用例设计主要考虑哪些?
(1)功能是否正常。
(2)功能是否按照接口文档实现、是否依赖业务、异常情况(参数异常、数据异常)、安全测试等。
9、接口测试用例包含哪些内容?
用例名称、接口地址、请求方式、前置条件、描述、请求头部、请求参数、状态码、预期返回结果
10、接口测试如何设计用例?
接口测试一般考虑入参形式的变化和接口的业务逻辑。
一般设计接口测试用例采用等价类、边界值、场景法居多。
接口测试用例设计思路:
(1)接口业务逻辑测试,接口逻辑测试是指根据业务逻辑,输入参数,输出值的描述,对正常输入情况下所得输出值是否正确的测试,也就是测试对外提供的接口服务是否正常。
(2)模块接口测试,模块接口测试是为了保证数据的安全及程序在异常情况下的逻辑正确性而进行的测试模块,接口测试主要包括以下几个方面
a.鉴权码 token 异常(为空、没有、错误、过期)
b.其
接口测试记录他参数的异常,必填项的检查,参数的长度、类型、格式异常。常规的参数有数字,字符串,日期;参数长度,位数、身份证、电话的长度;参数的类型,数字精度,字母,中文,带空格的参数,特殊字符;日期格式,日期年月日,年月日时分秒,日期格式(包含/-:等)
c.错误码异常覆盖
11、通用接口用例设计?
(1)通过性验证:首先肯定要保证这个接口功能是好使的,也就是正常的通过性测试,按照接口文档上的参数,正常传入,是否可以返回正确的结果。
(2)参数组合:现在有一个操作商品的接口,有个字段 type,传 1 的时候代表修改商品,商品 id、商品名称、价格有一个是必传的,type 传 2 的时候是删除商品,商品 id 是必传的,这样就要测参数组合了,type 传 1 的时候,只传商品名称能不能修改成功,id、名称、价格都传的时候能不能修改成功。
(3)接口安全:绕过验证,比如说购买了一个商品,它的价格是 300 元,那
接口测试记录我在提交订单时候,我把这个商品的价格改成 3 元,后端有没有做验证,更狠点,我把钱改成-3,是不是我的余额还要增加?绕过身份授权,比如说修改商品信息接口,那必须得是卖家才能修改,那我传一个普通用户,能不能修改成功,我传一个其他的卖家能不能修改成功。参数是否加密,比如说我登陆的接口,用户名和密码是不是加密,如果不加密的话,别人拦截到你的请求,就能获取到你的信息了,加密规则是否容易破解。密码安全规则,密码的复杂程度校验。
(4)异常验证:所谓异常验证,也就是我不按照你接口文档上的要求输入参数,来验证接口对异常情况的校验。比如说必填的参数不填,输入整数类型的,传入字符串类型,长度是 10 的,传 11,总之就是你说怎么来,我就不怎么来,其实也就这三种,必传非必传、参数类型、入参长度。
12、接口测试报告包含哪些内容?
系统接口概况、测试目的与范围、测试工具与资源、测试记录及结果分析(单场景接口、混合场景接口)、测试结论
13、测试指标范围包含哪些?
(1)被测接口接收请求和返回报文。
(2)被测接口返回状态、被测接口对应业务逻辑处理、涉及数据沉淀的处理、复杂场景下多个接口串联交互。
14、做接口测试运用过哪些测试工具?
(1)Postman
(2)JMeter
(3)SoapUI
(4)Python + requests
(5)Java + HttpClient
(6)Java + OkHttp
15、抓包工具用过哪些?
(1)Fiddler
(2)Charles
(3)Wireshark
16、为什么进行抓包测试?
有些时候公司没有标准的接口文档,测试人员只能抓包来获取接口信息。
抓包可以迅速找到请求,通过抓包可以查看整个请求过程,以及响应过程,可以通过抓包来分辨前台还是后台 bug。
通过抓包,可以查看是否有敏感信息泄露,比如用户密码和个人账号信息等数据。
通过抓包进行测试,拦截请求,修改请求数据,查看对应响应结果,抓包本身就是接口测试的一部分。
17、TCP/IP 参考模型有哪几层?
应用层、传输层、网络层、网络接口层
18、常用协议的端口号?
(1)21/tcp FTP 文件传输协议
(2)22/tcp SSH 安全登录、文件传送(SCP)和端口重定向
(3)23/tcp Telnet 不安全的文本传送
(4)25/tcp SMTP Simple Mail Transfer Protocol(E-mail)
(5)69/udp TFTP Trivial File Transfer Protocol(微型文件传输协议)
(6)80/tcp HTTP 超文本传送协议(WWW)
(7)110/tcp POP3 Post Office Protocol(E-mail)
(8)443/tcp HTTPS used for securely transferring web pages
(9)3389/tcp 远程访问 5631/tcp
(10)5632/udp pcanywhere 端口号
(11)1433 SqlServer 服务端口号
(12)1521 Oracle 服务端口号
(13)3306 Mysql 服务端口号
(14)8080 Tomcat 默认服务端口号
19、常见的状态码有哪些?
(1)1XX 信息提示,用于指定客户端相应的某些动作。
(2)2XX 成功,用于表示请求成功。
(3)3XX 重定向,用于移动的文件并且常被包含在定位头信息中制定的新的地址信息。
(4)4XX 客户端错误,用于指出客户端的错误。
(5)5XX 服务器错误,用于指出服务器的错误。
20、你们公司的接口测试流程是怎样的?
(1)从开发中取得接口文档,了解接口业务,主要包括接口地址、请求方式、入参、出参、返回格式等信息。
(2)使用 Jmeter 进行接口测试,创建一个线程组,然后建立一个 http 请求默认值,再新建很多 http 请求,一个请求是一个用例,输入相应接口路径、访问方式、参数等,创建断言和察看结果树。
(3)最后调用并执行测试用例,编写测试报告。
(4)在做接口测试的时候遇到过很多问题,都是自己独立解决的,比如返回值乱码(修改 Jmeter 的配置文件为 UTF-8)。
21、请详细阐述接口测试和 UI 测试在测试活动中是如何协同测试的?
接口测试和 UI 测试这两块其实是有一部分是重叠的,UI 测试是通过前端写的界面来调用接口,而接口测试是直接调接口。所以排除前端的处理的逻辑和调用的正确性,在理论上接口测试是可以覆盖所有的 UI 测试。但实际过程中,如果只是在接口层覆盖所有的业务流,在 UI 上只测试前端的逻辑,最终的结果可能会是忽视很多原有的功能点,导致了 UI 测试的不充分。所以存在多人分工且时间充分的时候可以尝试接口去做业务流的全覆盖,否则不要轻易尝试。
22、接口测试注意事项?
(1)改变请求参数,看响应结果是否和接口文档一致。
(2)查看参数是否有敏感信息(比如个人账户信息,资金信息)。
(3)查看是否对关键参数进行加密处理(密码信息)。
(4)所有列表页接口必须考虑排序值。
(5)接口返回的图片地址能否打开,图片尺寸是否符合需求。
(6)接口有翻页时,页码与页数的异常值测试。
(7)当输出参数有联动性时,需要校验返回两参数的实际结果是否都符合需求每个接口入参的默认值、异常类型、非空校验。
(8)入参支持多个值时,要考虑传的值的个数多的情况下,接口会不会报错。
23、接口测试执行中对比数据库吗?
肯定要对比,因为接口返回值的数据来源于数据库,接口对数据的操作还要进行深层次的数据库检查。
24、请简述一下 cookie、session 以及 token 的区别?
cookie 数据存放在客户的浏览器上、session 数据放在服务器上、token 是接口测试时鉴权码,一般情况下登陆后才可以获取到 token,然后在每次请求接口时需要带上 token 参数。
cookie 不安全,别人可以分析存在本地的 cookie 并进行 cookie 欺骗,考虑到安全应当使用 session 可以将登录信息等重要信息存放为 session,其他信息可以保存在 cookie。
25、谈谈你对 HTTP 协议的了解?
超文本传输协议,端口为 80,是由请求和响应两部分组成的。
请求是由请求头,请求行,请求正文组成;响应是由响应头、响应行、响应正文组成。
面向安全的话使用 https。
26、你对 http 请求跟 webservice 请求的了解?
(1)http api 接口:是走 http 协议,通过路径来区分调用的方法,请求报文都是 key-value 形式的,返回报文一般都是 json 串,有 get 和 post 等方法,这也是最常用的两种请求方式。可以使用的工具有 postman、RESTClient、jmeter、loadrunner 等。
(2)webservice 接口:是走 soap 协议通过 http 传输,请求报文和返回报文都是 xml 格式的,都是通过工具才能进行调用与测试。可以使用的工具有 SoapUI、jmeter、loadrunner 等。
27、在接口测试中关联是什么含义?如何使用 Postman 设置关联?
关联就是把上一个接口返回值的部分截取出来,作为下一个接口的参数,能让接口串联运行。
在 Postman 中设置关联的步骤如下:
(1)通过正则表达式提取的方式或 json 取值的方式把下一个接口需要的信息从上一个接口截取出来。
(2)使用设置全局变量的代码把取出来的值保存到全局变量里。
(3)在下一个接口中,使用(全局变量)代替要替换的静态值。
28、接口自动化测试框架一般分为几层?
自动化测试框架一般分为 5 层(配置层,脚本层,数据层,测试报告层,驱动层)
接口项目工程规划大致可分为几类,首先是测试结果类,比如说叫 test_rusult,里面存放一些比如日志文件,测试报告。然后是测试用例 testcase,里面分模块存放测试用例。接下来是公共方法类,比如说叫 public,或者是 tools,里面存放一些,读取 excel 数据的方法,发送 http 请求的方法,收集 log 日志的方法,发送邮件,操作数据库等方法。还有就是配置文件类,比如说叫 config,里面存放一些指定运行部分用例的配置文件,连接数据库的配置文件。最后是写一个 run 方法,运行所有的用例。
29、测试框架里如何做到数据和代码分离?
第一种:写在 excel 表格里,像这种主要是读取 excel 数据有点麻烦,常用的用来读取 excel 的第三方库有 openpyxl,xlrd 等。当然读取 excel 数据最好用的还是用来做数据分析的 pandas 模块,不用写那么多 for 循环。
第二种:数据存放到 yaml 文件里,一个模块或者是一个功能写一个 yaml 文件,最后写个读取 yaml 文件的公共方法就行了。yaml 格式的文件比较简单。
第三种:存放在数据库里面。
第四种:数据存放在 json 文件里。
fiddler抓包详细教程--接口测试
前言
Fiddler最大的优势在于抓包,我们大部分使用的功能也在抓包的功能上,fiddler做接口测试也是非常方便的。
对应没有接口测试文档的时候,可以直接抓完包后,copy请求参数,修改下就可以了。
Composer简介
点开右侧Composer区域,可以看到如下界面,就是测试接口的界面了
1.请求方式:点开可以勾选请求协议是get、post等
2.url地址栏:输入请求的url地址
3.请求头:第三块区域可以输入请求头信息
4.请求body:post请求在此区域输入body信息
5.执行:Execute按钮点击后就可以执行请求了
6.http版本:可以勾选http版本
7.请求历史:执行完成后会在右侧History区域生成历史记录
模拟get请求
1.在Composer区域地址栏输入博客首页: http://www.cnblogs.com/yoyoketang/
2.选择get请求,点Execute执行,请求就可以发送成功啦
3.请求发送成功后,左边会话框会生成一个会话记录,可以查看抓包详情
4.右侧history区域会多一个历史请求记录
5.会话框选中该记录,查看测试结果:
选中该会话,点开Inspectors
response区域点开Raw区域
Raw查看的是HTML源码的数据
也可以点WebView,查看返回的web页面数据
Json数据
1.有些post的请求参数和返回参数是Json格式的,如博客园的登录请求: https://passport.cnblogs.com/user/signin
2.在登录页面手动输入账号和密码,登录成功。
3.找到这个登录成功的会话,查看json数据如下图:
模拟post请求
1.请求类型勾选post
2.url地址栏输入对应的请求地址
3.body区域写登录的json参数,json参数直接copy上一步抓包的数据,如下图红色区域
4.header请求头区域,可以把前面登录成功后的头部抓包的数据copy过来
(注意,有些请求如果请求头为空的话,会请求失败的)
5.执行成功后查看测试结果:
–执行成功如第三所示的图,显示success=True
–执行失败如下图所示,显示
message=Invalid length for a Base-64 char array or string.
success=False
get请求(url详解)
前言
上一篇介绍了Composer的功能,可以模拟get和post请求,get请求有些是不带参数的,这种比较容易,直接放到url地址栏就行。有些get请求会带有参数,本篇详细介绍url地址格式。
url详解
1.url就是我们平常打开百度在地址栏输入的: https://www.baidu.com ,如下图,这个是最简单的url地址,打开的是百度的主页
2.再看一个稍微复杂一点的url,在百度输入框输入:上海悠悠博客园
3.查看url地址栏,对比之前的百度首页url地址,后面多了很多参数。当然最主要的参数是:wd=上海悠悠博客园(后面的一大串可以暂时忽略)。
4.那么问题来了,这些参数有什么作用呢?
可以做个简单的对比,在地址栏分别输入:
https://www.baidu.com
https://www.baidu.com/s?wd=上海悠悠博客园
对比打开的页面有什么不一样,现在知道作用了吧,也就是说这个多的”/s?wd=上海悠悠博客园”就是搜索的结果页面
url解析
1.以” https://www.baidu.com/s?wd=上海悠悠博客园”这个url请求的抓包为例
2.那么一个完整的url地址,基本格式如下:
https://host :port/path?xxx=aaaooo=bbb
http/https:这个是协议类型,如图中所示
host:服务器的IP地址或者域名,如图中2所示
port:HTTP服务器的默认端口是80,这种情况下端口号可以省略。
如果使用了别的端口,必须指明,例如:192.168.3.111:8080,这里的8080就是端口
path:访问资源的路径,如图中3所示/s (图中3是把path和请求参数放一起了)
?:url里面的?这个符号是个分割线,用来区分问号前面的是path,问号后面的是参数
url-params:问号后面的是请求参数,格式:xxx=aaa,如图4区域就是请求参数
:多个参数用符号连接
请求参数(params)
1.在url里面请求参数一般叫params,但是我们在fiddler抓包工具看到的参数是:QueryString
2.QueryString是像服务端提交的参数,其实跟params是一个意思,每个参数对应的都有name和value值
3.多个参数情况如下:
UrlEncode编码
1.如果url地址的参数带有中文的,一般在url里面会是这样的,如第二点里的wd=%E4%B8%8A%E6%B5%B7%E6%…
像看到%E4这种编码的就是经过url编码过的,需要解码就能看到是什么中文了
2.用urlencode在线编码/解码工具,地址: http://tool.chinaz.com/tools/urlencode.aspx
post请求(body)
前言上一篇讲过get请求的参数都在url里,post的请求相对于get请求多了个body部分,本篇就详细讲解下body部分参数的几种形式。
注意:post请求的参数可以放在url,也可以放在body,也可以同时放在url和body,当然post请求也可以不带参数。
只是一般来说,post请求的参数习惯放到body部分
body数据类型
常见的post提交数据类型有四种:
1.第一种:application/json:这是最常见的json格式,也是非常友好的深受小伙伴喜欢的一种,如下
2.第二种:application/x-www-form-urlencoded:浏览器的原生 form 表单,如果不设置 enctype 属性,那么最终就会以 application/x-www-form-urlencoded 方式提交数
3.第三种:multipart/form-data:这一种是表单格式的,数据类型如下:
4.第四种:text/xml:这种直接传的xml格式
json格式
1.打开博客园的登录页面,输入账号密码后抓包,查看post提交数据,点开Raw查看整个请求的原始数据
2.前面讲过post的请求多一个body部分,上图红色区域就是博客园登录接口的body部分,很明显这种格式是前面讲到的第一种json格式
3.查看json格式的树状结构,更友好,可以点开JSON菜单项
4.查看这里的json数据,很明显传了三个参数:
input1:这个是登录的账号参数(加密过)
input2:这个是登录的密码参数(加密过)
remember:这个是登录页面的勾选是否记住密码的选项,False是不记住,True是记住
x-www-form-urlencoded
1.登录博客园后,打开新随笔,随便写一个标题和一个正文后保存,抓包数据如下
2.如上图的这种格式,很明显就属于第二种了,这种类型的数据查看,在WebFrom里面查看了
3.上面红色框框的Query String是url里面的参数,下面红色框框的body部分就是这次post提交的body参数部分了。
WebFrom
1.为什么登录请求的WebFrom的body部分为空呢?
2.看上图红色框框的显示:这里只支持application/x-www-form-urlencoded这种格式的body参数,也就是说json格式的,需要在JOSN这一栏查看了。
如何记录Selenium自动化测试过程中接口的调用信息
1.设置fiddler过滤一下抓取信息,如:只抓取host为:*.csdn.net的接口信息。
2.测试执行开始前,打开fiddler。
3.当执行一个test时,先在fiddler控制台输入cls,清空当前sessions,防止接口信息过多或混在一起不方便排查错误。
4.当执行test完毕,如果有错误,则保存此test执行过程中的所有sessions至一个文件夹。无错误不做操作(如果你非要保存也是可以的)
5.重复2-3的步骤,直至所有测试结束。
6.测试执行结束后,关闭fiddler。
什么是接口测试
接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。
接口测试的目的是为了测试接口(听起来怪怪的),尤其是那些与系统相关联的外部接口,测试的重点是要检查数据的交换,传递和控制管理过程,还包括处理的次数。外部接口测试一般是作为系统测试来看待的。
不是所有的团队都可以在一个隔离的测试环境中进行测试工作的,因此使得对外部接口的测试显得困难。我们应该确保较早地与相关的组织协调好并确定进行外部接口测试的方案。有时候相关的组织只是人工的静态的审阅一次数据而并不真正的用这些数据来来测试。等等这些都增加了实际测试执行中遇到的风险,但有些时候是可以避免的。
假设/预处理
项目的责任人/开发人员必须已经成功完成了单元测试、功能测试和集成测试,一些错误都已经被列出。测试策划人员拿到的是最新版本的源代码
期望
² 正如前面提到过的那样,最重要的是关于外部接口的测试,这需要依赖于外部接口的相关数据,而这可能是极其复杂的
² 测试项目需要一系列的测试计划以及和外部组织的协调工作,主要包括:
l 负责人选
l 预定的测试时间
Ø 如果没有合适的测试环境,测试可能需要在周末或者工作时间以外的时间里进行
l 需要什么类型的测试用例,需要多少以及这些用例分别是用来测试什么的
Ø 提供测试用例的副本及相关文件给相关合作人员
Ø 如果外部组织有一些特殊用例需要执行,我们也需要拿到相关副本及文件
l 谁将提供测试数据,这些测试数据包括哪些方面的内容,是以什么形式给出的(纸质,电子档还是只是一些数据的底稿并且需要相关的人员整理成可用的数据)
l 谁将对测试结果进行确认并且判别这些数据就是我们所需要的
l 每隔多久时间我们需要各路人马需要聚在一起讨论测试中遇到的问题以及测试进度
² 所有正常的情形和异常的情形都需要测试,测试的各个方面(数据的各个出口,路径,入口)都需要尽可能考虑周全。我们不仅需要用一般大小的数据量去测试,也需要用预期的或者规定的最大数据量去测试
² 如果允许的话,我们还可以测试各个部分处理一批数据的时间数据
² 如果因修复bug等改动代码从而改变了接口的某一端,相关的决定,到期时间,再测试等过程都应该被记录在案,并且分发到各个相关组织或人员。
职责划分
² 测试的建立------开发人员,数据库和/或系统的负责人, 或者测试人员
² 测试的执行-------测试人员
² 测试结果的确认,测试结束的决定------开发组长,测试组长,质量保证组长,架构人员,项目负责人,外部组织负责人(如果可以的话)
测试环境
² 系统测试环境和外部组织的测试环境
数据类型
² 真实的数据------被处理过的用于测试的数据
测试结束
² 依照某某文档
关于接口测试记录和接口测试举例说明的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
接口测试记录的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于接口测试举例说明、接口测试记录的信息别忘了在本站进行查找喔。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
暂时没有评论,来抢沙发吧~