不愧是美团内部“接口自动化测试学习笔记”这细节讲解,神了
Lego-美团接口自动化测试实践
1.1 接口自动化概述
众所周知,接口自动化测试有着如下特点:
1.低投入,高产出。
2、比较容易实现自动化。
3、和 UI 自动化测试相比更加稳定。
如何做好一个接口自动化测试项目呢?
我认为,一个“好的”自动化测试项目,需要从“时间”、“人力”、“收益”这三个方面出发,做好“取舍”。
不能由于被测系统发生一些变更,就导致花费了几个小时的自动化脚本无法执行。同时,我们需要看到“收益”,不能为了总想看到 100%的成功,而少做或者不做校验,但是校验多了维护成本一定会增多,可能每天都需要进行大量的维护。
所以做好这三个方面的平衡并不容易,经常能看到做自动化的同学,做到最后就本末倒置了。
我这边开发了Lego 接口测试平台,来实现我对自动测试想法的一些实践。先简单浏览一下网站,了解一下大概是个什么样的工具。
Ps:由于内容较多,本次将展示部分,如果看得不过瘾想更加深入地了解本笔记彻底掌握美团接口自动化测试在文末了解详情。
首页
用例维护页面
自动化用例列表
在线执行结果
用例数量统计
二、脚本设计
2.1 Lego 的做法
Lego 接口自动化测试脚本部分,使用很常见的 Jenkins+TestNG 的结构
相信看到这样的模型并不陌生,因为很多的测试都是这样的组成方式。
将自动化测试用例存储至 MySQL 数据库中,做成比较常见的“数据驱动”做法。
很多团队也是使用这样的结构来进行接口自动化,沿用的话,那在以后的“推广”中,学习和迁移成本低都会比较低。
模块一:Lego-美团接口自动化测试实践
1. 为了减少开发成本,使用比较常见的 Jenkins+TestNG 的脚本形式。
2. 为了简化 code 操作,使用 DB 进行测试用例存储,并抽象出用例摸版。
3. 为了减低新建用例成本,开发“用例维护页面”和“一键生成”等工具。
4. 为了减低维护成本,加跳转链接,维护一条用例成本在几分钟内。
5. 为了增加用例健壮性,设计了“参数化”、“前后置动作”等灵活的参数替换。
6. 为了易用和兼容,统一“返回结果”类型,统一“检查点”的使用。
7. 为了接口自动化用例设计提供方向,结合 Jacoco 做代码覆盖率统计,并开发相关配置工具
8. 为了便于分析数据,从 DOM、CAT、Jenkins 上爬各种数据,在页面上用图表展示。
9. 为了优化用例,提供“用例打分”、“线上调用量排行”等数据进行辅助。
模块二:智能支付稳定性测试实战
美团支付承载了美团全部的交易流量,按照使用场景可以将其分为线上支付和智能支付两类业务。线上支付,支撑用户线上消费场景,处理美团所有线上交易,为团购、外卖、酒店旅游等业务线提供支付能力;
智能支付,支撑用户到店消费场景,处理美团所有线下交易,通过智能 POS、二维码支付、盒子支付等方式,为商家提供高效、智能化的收银解决方案。其中,智能支付作为新扩展的业务场景,去年也成为了美团增速最快的业务之一。
模块三:大众点评 App 的短视频耗电量优化实战
美团测试团队负责 App 的质量保证工作,日常除了App 的功能测试以外,还会重点关注 App 的性能测试。
现在大家对手机越来越依赖,而上面各 App 的耗电量,直接影响了手机的待机时间,是用户非常关心的一点。本文主要通过一个典型案例,介绍 App 性能测试中的电量测试,并总结了我们由此引发的一些思考。
模块四:“小众”之美——Ruby 在 QA 自动化中的应用
关于测试领域的自动化,已有很多的文章做过介绍,“黑科技”也比比皆是,如通过 Java 字节码技术实现接口的录制,Fiddler 录制内容转 Python 脚本,App 中的插桩调试等,可见角度不同,对最佳实践的理解也不一样。这里想要阐述的是,外卖(上海)QA 团队应用相对“小众”的 Ruby,在资源有限的条件下实现自动化测试的一些实践与经验分享。
模块六:美团点评云真机平台实践
随着美团点评业务越来越多,研发团队越来越庞大,对测试手机的需求显著增长。这对公司来说是一笔不小的开支,但现有测试手机资源分配不均,利用率也非常有限,导致各个团队开发、测试过程中都很难做到多机型覆盖。怎么样合理、高效利用这些测试手机资源,是摆在我们面前的一道难题。
模块七:质量运营在智能支付业务测试中的初步实践
毋庸置疑,质量是决定产品能否成功、企业能否持续发展的关键因素之一。对于“质量时代”下的互联网企业,如何在快速迭代的节奏中兼顾质量,真正落地“人人重视质量、人人创造质量、人人享受质量”,这是对 QA 的要求,也是整个产品技术团队面临的重要挑战。
质量运营,是将运营的思路注入到质量评估与改进工作中,它着眼于产品的全生命周期,以质量为中心,以数据为驱动,通过建设持续迭代的质量保障体系,最终提升交付质量。本文将聚焦研发过程中的提测阶段,以改进提测质量为例,从方案制定、策略应用、效果评估等几个方面,介绍质量运营在智能支付业务中的初步应用。
总结
经过一段时间的摸索和实践,我们在提测质量上有了较明显的提升,过程中积累的方法、流程和工具也在推广使用。但提测质量只是全生命周期质量运营的一小部分,对于高速发展的智能支付业务,不仅要求整个质量保证体系的迭代优化,更要求全体成员不断提升质量思维、持续追求极致质量,进而形成一种质量文化,真正实现“人人重视质量、人人创造质量、人人享受质量”。
最后: 可以在公众号:伤心的辣条 ! 自行领取一份 216 页软件测试工程师面试宝典文档资料【免费的】。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux 必备、Shell、互联网程序原理、Mysql 数据库、抓包工具专题、接口测试工具、测试进阶-Python 编程、Web 自动化测试、APP 自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。
学习技术千万不要孤军奋战,最好是能抱团取暖,相互成就一起成长,群众效应的效果是非常强大的,大家一起学习,一起打卡,会更有学习动力,也更能坚持下去。你可以加入我们的测试技术交流扣扣群:746506216(里面有各种软件测试资源和技术讨论)
喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!
版权声明: 本文为 InfoQ 作者【伤心的辣条】的原创文章。
原文链接:【http://xie.infoq.cn/article/d352abbb635ec772f8fdd77e3】。未经作者许可,禁止转载。
评论