网站与维护,苏州市住房城乡建设局网站,画册设计是什么,无锡网络公司一. 什么是接口测试
接口测试是一种软件测试方法#xff0c;用于验证不同软件组件之间的通信接口是否按预期工作。在接口测试中#xff0c;测试人员会发送请求并检查接收到的响应#xff0c;以确保接口在不同场景下都能正常工作。
就工具而言#xff0c;常见的测试工具有…一. 什么是接口测试
接口测试是一种软件测试方法用于验证不同软件组件之间的通信接口是否按预期工作。在接口测试中测试人员会发送请求并检查接收到的响应以确保接口在不同场景下都能正常工作。
就工具而言常见的测试工具有Jmeter、Postman等。但这类工具往往更是做接口调试对于做自动化以及测试集成却不够理想因此便有了接口测试脚本Java、Python、GO等语言都能支持。
然而语言总归是要学习成本的因此陆续开始有了各类测试平台。为什么做测试平台即将接口测试工具与接口测试脚本结合起来实现像测试工具做接口调试一样简单同时也能更好的支撑场景化测试、持续集成测试。
二. 接口测试的要素有哪些
接口测试其实无外乎就是将请求发送出去并验证响应结果。我们常做的接口测试主要是HTTP协议针对这类接口其请求数据主要构成是请求方法请求地址请求头请求参数。
请求方法即是常见的GET/POST/PUT/DELETE等根据接口文档来维护即可只是定义了不同的请求方式而已。
至于请求地址在做自动化测试时又可以拆分为请求域名和请求路由一般来说不同的环境域名会产生变化但是路由一般是固定的因为我们在做测试集成时为保证一个接口请求能在多个环境下执行会选择将域名提出来放在环境中管理而每个接口对应的域名通常可以根据路由的值来匹配即可。当然在微服务架构中我们也可以给每个接口打上微服务的标识而同一个微服务的接口无论在任何环境下其域名应当是一致的。因此除了通过路由匹配我们也可以通过微服务标识来匹配我称之为域名标识。 此外接口测试最重要的一点就是登录验证通常会有四种方式。RestAPI最常见的是Session/Cookies和TokenOpenAPI一般是OAuth最古老的鉴权则是HTTP Basic Authorization。对于Cookies和Token一般我们都是通过放在请求头中发送出去Session一般都是作为状态管理员来保存通常编程语言的HTTP包会自带该方法我们需要做的无外乎就是在登录后保存这个Session即可。至于OAuth通常是需要加密成一个签名来做校验我会在后面单独开一篇文章来介绍具体的使用。
对于请求数据一般有三种方式分别是查询参数、路由参数以及请求体。查询参数即将参数转变为namevalue的形式放在请求地址后面以?号分隔多个参数中间加符。路由参数往往是将参数值放在路由中因此路由的值往往会是动态的且路由数量也是不定的。至于请求体则比较好理解一般常用的是表单和json串。当然古老的接口也有文本格式/XML格式等另外就是文件上传的接口会是二进制流。
最最重要的一点就是无论什么业务接口测试一定要有断言没有断言的接口测试用例就是在耍流氓。因此接口还有一个重大要素就是编写断言断言的方式有很多可以断言接口的响应数据对于数据增删改的接口同样也可以去断言数据库的内容。
三. 如何用开源工具平台来做接口自动化测试
前面了解了接口自动化测试基本原理之后我们用一款开源测试平台来快速的实现一个简单的接口自动化测试用例编写接下来我们合并图文来介绍用法
第一步创建环境如上所述环境是接口测试用例为了能在多环境复用下不可缺少的一部分。环境创建完成后还需要在环境下创建域名域名匹配规则在上文介绍过可以通过路由匹配和域名标识匹配。 新增环境
第二步创建接口我们在做自动化测试时接口需要单独维护和管理从而做到当接口发生变化时只需要维护接口管理处的接口所有引用该接口的用例都能随之变化提升维护效率。在创建接口前我们可以先创建接口所属的业务模块同样的也方便后期快速找到接口。
而接口需要维护的数据也很简单即前面所述的四大请求数据即可完成最基础的接口信息维护。当然为了后期记忆我们最好还是给接口起个名字加个描述。同时如果希望使用域名标识则给接口绑定上一个微服务的标识即可。 新增接口
第三步做好了接口维护那就可以开始写接口用例了。接口用例其实不过是在接口上面再套一层壳罢了之所以套上这层壳主要目的还是为了做业务逻辑的验证可能一个业务逻辑的验证需要执行多个接口将多个接口加入到一个用例中即可完成。如果多个接口之间数据有依赖关系也可以通过一些关联参数的引用实现这在后面的文章我会单独介绍。 新增用例
第四步接口加进来后直接调试。选择之前维护的环境执行即可。调试成功后维护一下用例的基本信息如给用例起个名字写一段描述点击保存即完成一条接口自动化用例的编写。 调试用例
四. 总结
通过上述的几个步骤不难看出在使用平台后完全可以抛弃代码编写接口测试脚本那一套方案而且便捷程度不属于postman等工具。最大的好处是用例保存服务端我们可以任意编排用例去执行从而验证不同的需求。只要用例数据设计得当即便是换产品经理来验证选好用例直接执行也能完成自动化测试。
最后感谢每一个认真阅读我文章的人礼尚往来总是要有的这些资料对于【软件测试】的朋友来说应该是最全面最完整的备战仓库虽然不是什么很值钱的东西如果你用得到的话可以直接拿走 这些资料对于【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴上万个测试工程师们走过最艰难的路程希望也能帮助到你