1.个人情况:做测试了 4 年,还是 app 功能测试为主,用 apk 辅助测试,会用个 monkey,会用一些 ui 自动化的 api 入门,会做一些简单的压力测试。
2.现状:来到一个社区公司,维护接口自动化测试用例。之前没接触过也没写过,我 java 只会一个基础。端午节我拿到整体的代码和接口文档,看了一遍又一遍,没有思维,不知道从何入手,没接触过真个自动化项目的代码,一头雾水。
3.问题:我看得懂大部分,但是我自己去写,写不出来,没有思维,不知从何入手去维护现在的用例。各位学接口自动化的时候除了语言要学,还需要学哪些知识?怎么整合在一起去实践的?目前我在看 jsoup 去实现接口测试。
我,我是新来的菜鸟,我就看看(帮不了忙)…
—— 来自 TesterHome 官方 安卓客户端
额。。只有问题。我想请问的是你学这些目的是什么?or 这个帖子你提出这个问题目的是什么?
1.先写测试用例 2.学习 junit 3.学习 java,搭建开发环境。4.用 junit 写一条自动化用例 5. 运行起来。
—— 来自 TesterHome 官方 安卓客户端
#3 楼 @lamianxiaodian 补充: 搭建开发环境时,新建一个 java 项目,如果开发接口是 jar 包,就引入开发的包。如果是 http 接口,就引入 httpclient 等包,封装 http 请求。具体用法可以上网查。
—— 来自 TesterHome 官方 安卓客户端
迷茫的时候多看看书,多多思考。
大而全的问题真不知道咋回答。。。坐等大神来
接口主要起到一个承上启下的作用,所以测试也要分两方面进行:
然后要搞清楚测试接口协议,进行有针对性的用例设计,主要是对传入参数的类型,大小,范围等进行合理的变化(包括正常与异常数据),并验证返回类型与数据(包括异常处理),并适当增加一些安全性验证(比如 OAUTH2,这方面我了解不多,可以网上查下)。
模拟后端的时候,主要构建正常与异常的返回数据,验证前端的显示或对异常返回数据的处理是否得当(通常这方面很少有文档提前定义过,多半要靠经验)。
对于工具的选择,可以是自己直接写代码,也可以用一些工具:
DHC Client: https://dhc.restlet.com/
Runscope: https://www.runscope.com/
Postman: http://www.getpostman.com/
PingAPI: https://ping-api.com/
另外我记得社区里是有接口测试的视频的,很不错的可以去看看。
按葫芦画瓢
各位学接口自动化的时候除了语言要学,还需要学哪些知识?怎么整合在一起去实践的?
说下自己的 web 接口自动化测试的学习经历,提供一些参考。
首先清楚接口测试的目的是什么?有目的性不会让自己在测试的过程中迷茫。
接口测试个人的理解是为了验证在 UI 层测试时,无法触及到的一些深层次的测试点,还是归结到 “功能测试”。保证后端或者外部提供的接口调用时的正确性,当然还可以做一些性能方面的测试。
为保证以上的接口测试目的性,需要业务验证,构造请求,断言响应,为满足以上 3 个需求,了解接口实现的业务,” 请求方法,请求参数。请求字段,通用字段,响应字段,响应解析等等 http 协议相关方面的知识,推荐可以看下《图解 HTTP》或《HTTP 权威指南》
了解基础知识后,需要知道接口如何工作的,例如前端的一个 submit 按钮,点击提交后调用http://www.xxxxx.com/api/case/add?data=response 给客户端。{}接口,会把用户录入的文字作为接口参数传递给服务器端程序,后端会对传递的参数处理后写入到数据库,并返回一个
找到一个接口自动化的工具,例如 python 中的 urllib,urllib2,requests(建议 requests),熟悉 requests 的文档。了解 api 的使用,例如 get,post,图片上传,流式上传,提交 cookies,会话对象等等。
最后就是所学在实际中使用,可以在平时生活中,练习爬虫,工作中,可以向开发要接口文档,自己尝试写下,不懂的随时问开发,大部分开发还是很乐意帮助的。
当然还有一些需要知道的,fiddler,chrome 开发着工具,firebug,数据库相关的等等。
以上就是最近接口测试中的一些总结,还有很多不足或遗漏的地方,大家一起努力。
来到一个社区公司,维护接口自动化测试用例
就是说,现在已经有一套正常运转接口自动化测试的方案了?如果是这样的话,我建议先熟悉现有的测试方案,可以从用例的管理和维护,到接口测试的实现。熟悉后再进行优化或者扩展,甚至。。重构。。
概括一下楼主的状态就是,拿到一个不懂的东西后就蒙蔽了。不知道从哪下手。
如何下手楼上的几位已经说的很多了。参考 7 楼和 9 楼
最简单的思路:先会手工测试接口 然后再根据手工流程打造自动化程序。当然第一次做免不了推倒返工,不过不要怕,先做了再说,总比一直点点点强。
先从协议开始把,熟悉接口协议,可能看文档难以理解,可以抓包看看,对照文档就容易理解了。
先手工发报文,后续再用脚本做自动化。