入软件测试行业已经快三个年头!
第一年写小白总结的时候是2019-02-11,按理第二年测试总结应该在2020-02-11,现在都已经奋斗在第三个年头了,时间过的挺快成长也是颇多。第二年总结因为写作方向不明确没整理,今天偶然看了一个文章决定还是把第二年整理出来,也构思回顾下我的2020年。
偶然看到的文章地址:https://mp.weixin.qq.com/s/kIVFIvfcWXg6YPqbfsRVyA
像文章中所说,第一年是打基础的一年,流程、业务能力更重要,再就是负责任的态度。第二年是大量使用工具的一年,用工具去辅助测试。下面就整理我工作遇到常用的工具以及技能上的提升。
-
第一趴
1、抓接口工具
(1)使用Charles工具
(2)其次使用过Fiddler:https://www.cnblogs.com/yyhh/p/5140852.html
(3)再就是要抓长链接是用的Wireshark:https://www.cnblogs.com/darlingmz/p/12329194.html
(4)Charles使用归类:
1 使用方式查看SSL,绑定对应Local IP Adresses,chls.pro/ssl信任证书 2 Focus、Enable SSL Proxying 3 看请求时间间隔 4 常用校验接口返回 5 修改入参看返回 6 Map到Remote,https到http接口 7 Map到本地修改,控制自己想要的数据返回 8 捕获MacOS Proxy抓本机、自动化执行的接口 9 炸弹型💣问题一般赶紧找服务端看问题:redis写满、磁盘写满、服务宕机... 10 服务端定位问题复制Copy cURL Reques
2、Postman使用
(1)对应各类型接口
(2)建立colletions(接口集合)
(3)设置Environment(环境变量)
(4)使用monitors的使用(监控器)
1 UEL导入 2 get、post、put接口 3 post接口主要是控制入参,不一定要写全所有入参字段,只要填写必要入参即可 4 Params字段、Headers字段 5 post接口入参的json格式:Params —— Body —— raw —— jSON —— {} 6 post接口入参的xml提交:Params —— Body —— raw —— XML —— html 7 设置公共字段,选择不同环境{{base_url}}admin/v1/get_all_sdk_blacklist_config 控制 base_url:http://qa.XXXXX.ori.ksXXX.net/ 8 一个Collections的分享、导入Import 9 某个collections创建一个create a monito监控
3、抓崩溃技巧
(1)iOS使用Xcode:符号化崩溃日志
(2)Android使用adb logcat立即获取执行日志,定位fatal
·adb logcat | grep "关键字"
·重点需要学习积累常用的adb命令
·https://www.cnblogs.com/darlingmz/p/12737680.html
(3)Android使用Studio获取控制台日志
(4)手机本地的日志目录:
获取崩溃日志: ➜ ~ adb shell ➜ ~ adb pull sdcard/Android/data/包名/files/linkv/linkv_2020-06-02_1591102970.txt ./
(5)业务层获取用户日志工具/接口
4、Python + 接口自动化
每20分钟定时执行一次。
灰度机 与 线上机器的返回是否一致对比校验。
5、Airtest + Python + UI自动化
我测试的是APP端的业务,使用UI自动化可以减少回归的重复工作。在测试过程中也可以通过UI自动化完成手工无法持续执行的问题。
首先需要有一定的python基础,Airtes的使用很简单基本三天就能上手、下载个AirtesIDE的客户端了解下poco、swipe、touch,再学习下校验即可上手写test.air了。学习官网文档:https://airtest.doc.io.netease.com/。我们团队有专门人员写测试框架,了解页面元素的获取,在框架里如何调用,补充Tescase中的air即可,重点应该是执行的校验。
1 支持多包回归case用例 2 各类登陆方式:邮箱、手机、谷歌、Line、Facebook等 3 自动化注册账号 4 一键开播 5 进房间、看播送礼、校验金币数 6 个人信息一键设置、修改 7 各级页面-进入二级页面-业务功能校验 8 背包信息校验 9 私信、直播间私信功能 10 原生页面、H5页面业务逻辑校验
11 支持更复杂的业务场景
举个例子:直播APP常用的进房间观看,上下话切换直播间,可以通过UI自动化实现上滑动这个动作,通过设置滑动的房间个数(比如:300个),就不用人手工操作300次了。
举个例子:每次必须要回归验证的登陆,由于马甲包多,登陆方式多,每次都需要回归很久。其实登陆逻辑不常修改,写成UI自动化刚刚好。主要特殊版本的判断、走不同的方法。
6、网损仪
用来控制网络损失情况,模拟用户弱网场景。因为本身测试的是一款直播APP,需要在不同网络下测试直播场景,使用的特别多。
规范:https://www.cnblogs.com/darlingmz/p/12217965.html
7、Android内存泄漏
(3)点击 MEMORY 时间轴上的任意位置以打开 Memory Profiler
(4)
(7)
hprof-conv heap-original.hprof heap-converted.hprof
-
第二趴
1、沟通技巧能力
事在人为,沟通技巧也是门艺术。
2、项目/需求全面把控能力
这个能力在于从发现问题人,转变为项目推荐人,逐渐从QA转变成项目经理。
3、需求总结报告能力
明白你要汇报的对象,随时调整报告人关注的重点。
4、流程推进能力-QA职能明确
QA只有能力提升了,才能得到应有的尊重。
5、扩展技能方向
·职业扩展方向决定你的技术学习的方向:https://mp.weixin.qq.com/s/U-NbmmfFnx-YggO1taF2Yg
·学习要有目的性:当你没有目标只是想广泛增长见识时,我听到的建议是“超一个方向做精、做极致”,因为这个过程中必不可少的会需要了解很多技术,这就满足了你拓宽能力的想法。
很明显我的第三年偏重了音视频测试。大家都知道,了解音视频相关的知识、在懂的基础上才能发现问题,这是转音视频QA,我遇到的最大难题。因为它太杂了,光是平面的了解基本知识点就需要克服很多困难,更何况是纵向的学习。所以我选择从架构出发,当画一个流程图时就会遇到很多词,从遇到的知识点出发去学习,远比宽泛去音视频要高效的多。
在自己画自研架构的同时,需要了解行内已经有的实现图,俗称“知己知彼,百战不殆”。对比别人的架构看更容易定位自研架构存在的问题,QA就不仅仅是发现bug,还能从架构层发现更深的问题。这是从方向决定你要学习的方向,再就是从QA晋升的必要途径去学习,每个QA都要去了解的:单元测试框架 —— 自动化工具—— 接口自动化 —— UI自动化 —— 可持续集成、自动化部署。
·经历的一个流程:选择计算机语言java or python,选择一个流行的库,httpclient or request,然后设计用例,code or excel or mysql,需要执行用例的框架,还有报告输出,日志记录,预警提醒。还需必要的辅助能力,如可持续集成,自动化部署。