网站开发技术语言的选择,网站收录查询情况,专业软文发布平台,产品设计就业方向前两天在测试技术交流群里#xff0c;听了一位字节跳动的测试总监分享的接口自动化测试的内容#xff0c;对接口自动化更加了解了#xff0c;也为自己接下来在公司实施接口自动化项目提供了思路。
前言
自动化测试#xff0c;算是近几年比较火热的一个话题#xff0c;当…前两天在测试技术交流群里听了一位字节跳动的测试总监分享的接口自动化测试的内容对接口自动化更加了解了也为自己接下来在公司实施接口自动化项目提供了思路。
前言
自动化测试算是近几年比较火热的一个话题当然更是软件测试未来的一个发展趋势。未来功能测试等非核心的测试工作都将被外包。
想要在软件测试这个行业继续前行就必须拥有核心竞争力掌握自动化测试技术是必不可少的一个技能。
在《Google软件测试之道》一书中有介绍到在Google70%的自动化测试工作集中于单元测试20%集中于接口测试剩下10%才是UI测试。
诚然我们没有Google那么完善的机制和工程师文化没必要一切照搬Google但Google作为互联网2.0时代最耀眼的一个公司它的技术发展方向流程管理等可以说是不久的将来我们也要到达的方向。选择适合自己的落地应用是当下我们应该做的。
目前国内的互联网行业大环境来说还处在一个快速发展需要流程化标准化的时期如何跟上不断变幻发展的节奏除了不断了解接触新的东西还需要不断学习提升自身以内在的驱动力去紧跟时代浪潮。即使做不了弄潮儿也不能变成时代淘汰的那一批。 01、接口测试的必要性和意义
接口即API应用程序编程接口关于接口的介绍。
这里主要说说接口测试的必要性和意义
接口测试实施在多系统的平台架构下有着极为高效的成本收益比当然单元测试收益更高但实施单元测试的成本投入更大技术要求更高所以应该选择更适合自身的才是最好的方案。
接口测试天生为高复杂性的平台带来高效的缺陷检测和质量监督能力平台复杂系统越庞大接口测试的效果越明显。
总的来说接口测试是保证高复杂性系统质量的内在要求和低成本的经济利益驱动作用下的最佳方案主要体现在如下三个方面
1、节省了测试成本
根据数据模型推算底层的一个程序BUG可能引发上层的8个左右BUG而且底层的BUG更容易引起全网的死机接口测试能够提供系统复杂度上升情况下的低成本高效率的解决方案。
2、接口测试不同于单元测试
接口测试是站在用户的角度对系统接口进行全面高效持续的检测。
3、效益更高
将接口测试实现为自动化和持续集成当系统复杂度和体积越大接口测试的成本就越低相对应的效益产出就越高。
02、做接口测试需要哪些技能
做接口测试需要的技能基本就是以下几点
业务流了解系统及内部各个组件之间的业务逻辑交互
数据流了解接口的I/Oinput/output输入输出
协议包括http协议TCP/IP协议族之前的博客有系统的介绍过协议传送门http协议菜鸟入门系列
工具工具可以辅助我们更好更高效的完成工作常用的接口测试工具有jmeter、loadrunner、soapui、postman等
数据库知识无论是从数据库获取知识还是确认数据落地抑或接口对数据执行了哪些操作都需要确认因此数据库知识其实就是增删改查就很有必要
补充接口文档的几个必要点完整性、一致性、容错性
整理了一些软件测试方面的资料、面试资料接口自动化、web自动化、app自动化、性能安全、测试开发等有需要的小伙可以点击文末小卡片加入群无套路自行领取~ 03、接口自动化测试
1、如何开展
首先调试单个接口保证单个接口的正确和通畅类似于性能测试中的基准测试
其次明确数据流业务流
最后将N个接口测试脚本串起来执行即可
最重要的一点别想太多太复杂先把最基础最简单的做起来就成功一大半了至于扩展性的第三方接口、https、定时任务、自动出测试报告、自动发邮件等等功能这都是不断累计和优化的
行动起来就行想太多不如行动起来让接口自动化测试落地才是我们首先需要考虑的。
2、开展之前需要知道的
现在的测试对象包含几个页面
每个页面涉及几个接口
分别在哪一步调用
每个接口包含哪些字段
各个字段对应数据库哪张表
每个表中各个字段是什么意思
各个接口对表产生了怎样的操作
3、自动化框架
什么是框架你可以理解为一个完整的环也可以理解为让接口测试脚本运行的一整套环境平台随便什么都可以一般一个自动化测试框架包含以下几点
数据池即测试数据的存储管理一般集成为一个data包其中包括
log日志文件、report测试报告文件一般为xml格式、case-data单个接口的测试数据一般为json格式、server-data接口业务串联的数据可以用excel管理
脚本管理中心接口测试脚本的统一管理、存储、调度中心常用的工具有maven、ant等或者可以使用编程语言中的单元测试框架提供的功能选择自己适用的即可
运行平台一般是借助工具来运行这些测试脚本工具可以使用上面提及到的几种jemter、loadrunner、soapui等同样选择合适的很重要
持续集成工具最常见的就是Jenkins它的作用就是监控外部程序的调用执行定时或者触发调度任务测试脚本执行等功能
通信服务dubbo、spring_boot、thrift等RPC、REST同步调用服务
测试结果统计管理中心比如testlink目的是为了测试结果自动更新上传更好的统计测试结果以便后期的优化
上面说了这么多实际上它的意义就是数据与脚本分离测试结果自动提交通知提高测试脚本和测试数据的维护便利等等。。。
我正在使用的框架为jemtermavenJenkinsdubboMySQL......
关于接口自动化测试基本就是上述的内容当然选择适合自身实际情况的框架落地实施才是重点行动起来才能咸鱼翻身。。。 这些资料都是我这一路走来网上查资料、找朋友要、群里资深测试分享出来的一步步学习进行归纳整理出来的如果觉得对你有帮助的话可以点击下方小卡片领取。
感谢大家的观看觉得对你有用的小伙伴们可以帮忙点点小赞和收藏。