做微信的网站有哪些功能,企业网站目的,办公用品十大购物网站排名,网站建设加推广话术前言
前阶段做了一个小调查#xff0c;发现软件测试行业做功能测试和接口测试的人相对比较多。在测试工作中#xff0c;有高手#xff0c;自然也会有小白#xff0c;但有一点我们无法否认#xff0c;就是每一个高手都是从小白开始的#xff0c;所以今天我们就来谈谈一大…
前言
前阶段做了一个小调查发现软件测试行业做功能测试和接口测试的人相对比较多。在测试工作中有高手自然也会有小白但有一点我们无法否认就是每一个高手都是从小白开始的所以今天我们就来谈谈一大部分人在做的接口测试小白变高手也许你只差这一次深入了解
接口测试的目的
已经是老生常谈了我想不用我说凡是说到接口总会被问及这个话题的确没有目标就没有评定标准知道其目的也是至关重要的。
接口测试的目的通过英文翻译呈现如下
API 测试是一种作为集成测试的一部分通过直接控制被测应用的接口API来确定是否在功能、可靠性、性能和安全方面达到预期的软件测试活动。由于 API 都没有 GUI 界面API 测试都是在通讯层进行的。现在 API 测试在自动化测试中有着很重要的地位因为 API 一般是应用逻辑的主要接口同时 GUI 测试在敏捷开发和 DevOps 的快速迭代和频繁变更中很难维护。
在进行接口测试前还需要了解
1、GET和POST请求如果是get请求的话直接在浏览器里输入就行了只要在浏览器里面直接能请求到的都是get请求如果是post的请求的话就不行了就得借助工具来发送。
GET请求和POST请求的区别
1、GET使用URL或Cookie传参。而POST将数据放在BODY中。
2、GET的URL会有长度上的限制则POST的数据则可以非常大。
3、POST比GET安全因为数据在地址栏上不可见。
4、一般get请求用来获取数据post请求用来发送数据。
2、http状态码
每发出一个http请求之后都会有一个响应http本身会有一个状态码来标示这个请求是否成功常见的状态码有以下几种
1、200 2开头的都表示这个请求发送成功最常见的就是200就代表这个请求是ok的服务器也返回了。
2、300 3开头的代表重定向最常见的是302把这个请求重定向到别的地方了
3、400 400代表客户端发送的请求有语法错误401代表访问的页面没有授权403表示没有权限访问这个页面404代表没有这个页面
4、500 5开头的代表服务器有异常500代表服务器内部异常504代表服务器端超时没返回结果
3web service的接口如何测试
它不需要你在拼报文了会给一个webservice的地址或者wsdl文件直接在soapui导入就可以看到这个webservice里面的所有接口也有报文直接填入参数调用看返回结果就可以了。
4cookie与session的区别
1、cookie数据存放在客户的浏览器上session数据放在服务器上。
2、cookie不是很安全别人可以分析存放在本地的cookie并进行cookie欺骗考虑到安全应当使用session。
3、session会在一定时间内保存在服务器上。当访问增多会比较占用你服务器的性能考虑到减轻服务器性能方面应当使用cookie。
4、单个cookie保存的数据不能超过4K很多浏览器都限制一个站点最多保存20个cookie。
5、所以个人建议
将登录信息等重要信息存放为session
其他信息如果需要保留可以放在cookie中
接口测试怎么测
1、通用接口用例设计
①、通过性验证首先肯定要保证这个接口功能是好使的也就是正常的通过性测试按照接口文档上的参数正常传入是否可以返回正确的结果。②、参数组合现在有一个操作商品的接口有个字段type传1的时候代表修改商品商品id、商品名称、价格有一个是必传的type传2的时候是删除商品商品id 是必传的这样的就要测参数组合了type传1的时候只传商品名称能不能修改成功id、名称、价格都传的时候能不能修改成功。
③、接口安全
1、绕过验证比如说购买了一个商品它的价格是300元那我在提交订单时候我把这个商品的价格改成3元后端有没有做验证更狠点我把钱改成-3是不是我的余额还要增加
2、绕过身份授权比如说修改商品信息接口那必须得是卖家才能修改那我传一个普通用户能不能修改成功我传一个其他的卖家能不能修改成功
3、参数是否加密比如说我登陆的接口用户名和密码是不是加密如果不加密的话别人拦截到你的请求就能获取到你的信息了加密规则是否容易破解。
4、密码安全规则密码的复杂程度校验
5、异常验证
所谓异常验证也就是我不按照你接口文档上的要求输入参数来验证接口对异常情况的校验。
2、根据业务逻辑来设计用例
根据业务逻辑来设计的话就是根据自己系统的业务来设计用例这个每个公司的业务不一样就得具体的看自己公司的业务了其实这也和功能测试设计用例是一样的。列出测试点然后再去造数据测试对应的测试点。
用什么工具测
接口测试的工具很多比如 postman、RESTClient、jmeter、loadrunner、SoapUI等这里主要说下最近看到的一些接口测试工具方面的帖子简单汇总一下他们的实现方式 本人首推的测试工具是postman和jmeter接下来就简单介绍下如何使用这两款工具进行接口测试其他工具本次暂不介绍。
1.创建接口用例集没区别
Postman是CollectionsJmeter是线程组没什么区别。
2.步骤的实现有区别
Postman和jmeter都是创建http请求
区别1postman请求的请求URL是一个整体jmeter分成了4个部分协议、主机、端口、路径 区别2postman可以在请求中直接填写请求头信息 jmeter需要通过添加http请求头管理器添加请求头 区别3对于cookiepostman可以对cookie做管理但是jmeter只需添加http cookie管理器即可完成cookie的处理并且是自动处理cookie信息所以jmeter的cookie管理更简单
Postman在pre-request script可以添加前置请求获取响应数据比较容易进行json结果的处理很方便的提取json数据——————jmeter不仅可以处理json数据json提取器还可以提取其他数据正则表达式提取器
3数据用例的实现
区别1jmeter比较适合进行数据与操作分离而postman比较适合把数据和操作放在一起显然postman操作更简单jmeter更便于维护
区别2 postman也支持csv数据文件的导入但是每次执行时都需要收工加载数据文件。不方便所以只能做半自动化 Jmeter可以进行完全自动化特别是引入ant后效果更明显
4断言的实现
区别1Postman有很多自带的断言函数直接引用即可操作非常方便。。。 jmeter也自带断言组件操作非常直观。 区别 postman用函数断言 jmeter用元件进行断言
区别2jmeter支持正则表达式断言postman不支持
区别3Jmeter的断言更丰富。 postman需要通过编程来实现同样的效果所以难度更大
5执行
区别默认执行postman不能保存结果jmeter可以报存结果 Postman可以通过newman实现批量执行和保存结果jmeter可以通过ant实现批量执行和保存结果
6其他
Postman比较适合做手工接口测试因为简单可以实现半自动化 Jmeter比较适合自动化接口测试因为功能强大并且可以保存脚本批量执行设置很容易 Postman一般用来做接口测试用来发现BUG验证后台程序 Jmeter一般用来做自动化测试做冒烟测试。
Postman是谷歌的一款接口测试插件它使用简单支持用例管理支持get、post、文件上传、响应验证、变量管理、环境参数管理等功能可以批量运行并支持用例导出、导入。
jmeter是一款100%纯Java编写的免费开源的工具它主要用来做性能测试相比loadrunner来说它内存占用小免费开源轻巧方便、无需安装越来越被大众所喜爱。
注以下用例中所用地址皆为本人在本地所搭的环境外网无法访问见谅。
①、获取用户信息该接口用于通过userid获取用户信息
请求地址http://192.168.1.102:8081/getuser
请求方式POST/GET
入参 出参 postman中请求如下 jmeter中请求如下 ②、获取用户信息需要添加headerContent-Type application/json
1.1 请求地址
http://192.168.1.102:8081/getuser2
1.2 请求方式
get/post
1.3 入参 1.4 出参 postman测试如下本次入参为json类型当然文档中没说非要用json用其他方式也是可以的 jmeter测试如下 ③、修改用户余额2
1.1 功能描述
功能描述需要添加cookietoken token是写死的token12345
1.2 请求地址
http://192.168.1.102:8081/setmoney2
1.3 请求方式
Post
1.4 入参 1.5 出参 postman测试如下 jmeter测试如下 ④文件上传
postman jmeter: ⑤、请求webService接口
请求webService接口需要用到的工具是SoapUI如下图 在jmeter里请求如下 总结
做好接口测试并没有那么简单当然只要找对方法和工具一切都没有你想象中那么复杂
不管怎样既然开始了那就要想办法把它做好。接下来我会使用新的设计用例思路做我未完成的接口测试用例并修改Java 代码让其支持使用excel作为用例。
最后感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走 这些资料对于【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴上万个测试工程师们走过最艰难的路程希望也能帮助到你