目录:导读
- 前言
- 一、Python编程入门到精通
- 二、接口自动化项目实战
- 三、Web自动化项目实战
- 四、App自动化项目实战
- 五、一线大厂简历
- 六、测试开发DevOps体系
- 七、常用自动化测试工具
- 八、JMeter性能测试
- 九、总结(尾部小惊喜)
前言
Python自动化测试:https://www.bilibili.com/video/BV16G411x76E/
今天我们就来聊聊项目如何落地自动化测试,以及落地要面临和解决哪些问题。
落地前------分析因素
从我个人的工作实践经验来看,在决定是否引入新的技术框架或者开展技术项目前,足够详尽的分析调研必不可少。
这样做的好处在于一方面可以避免重复建设;另一方面,尽可能确保投入的资源能获得足够的收益。落地自动化测试之前,主要有如下几点因素需要考量。
1、当前面临的痛点是什么?
引入自动化测试是为了解决工作过程中遇到的问题或痛点,所以在引入之前第一个要考虑的是当前面临的痛点是什么。
比如:线上功能bug频发,人力资源时间不足导致团队加班太多,版本迭代快/多版本并行等,且这些痛点都已经严重影响到了团队的日常工作效率和氛围。
先将面临的问题和痛点列出来,按照影响范围和优先级排序,然后分析背后的原因。
2、痛点背后的原因有哪些?
线上功能bug频发,可能的原因有漏测/case覆盖率不足/需求变更快/发布流程不规范等原因。
人力或者时间不足,背后的原因可能有团队同学能力不足/团队效率不高/管理混乱/缺乏提效手段和工具。
版本迭代快多版本并行的情况,背后的原因就更复杂了,涉及到流程/管理/业务成熟度/企业所处阶段等多种因素。
3、有什么可以解决问题的方案?
分析出团队面临的痛点以及背后的原因,我的建议是将原因列出来进行归类。
比如:
资源问题:人手不足/工时评估不合理;
流程问题:研发交付流程混乱,发布不可控;
管理问题:团队效率不高,管理混乱,职责不清;
技术建设问题:缺乏CI/CD工具&需求/代码/case/bug管理工具,团队同学缺乏相关经验;
4、自动化是不是最合适的解决方案?
问题分类和排优先级之后,就是case by case的分析有哪些解决方案了。假设某部分问题可以通过自动化测试来解决或者改善,那就可以着手进行下一步分析。
5、当前的情况是否适合开展自动化测试?
“自动化测试适用于重复度较高的工作,且不是一蹴而就即插即用就能解决问题的。需要相对稳定的业务需求迭代、比较成熟稳定的研发团队和一定的技术基础设施建设,以及较为规范的流程才能更好的落地,达到提效的目的”。
举个例子:某创业公司,当前处于产品初创和快速迭代期,追求的是快速推出MVP产品推向市场,业务不稳定,人力资源紧张,技术基础设施很差,那这个时候是不适合做开展自动化测试的。
开展前------评估价值
罗列问题,分析原因,制定优化方案后,接下来就是项目立项及调研了。自动化测试的调研,主要关注如下几点:
工具框架选型:业内有哪些自动化测试工具或框架?功能是否满足需求?产品稳定性如何?社区活跃度如何?是否有足够详细的说明文档和使用案例。
选定试点范围:选择哪个业务或者团队进行试点?试点对场景覆盖范围和case的粒度要求是什么?
团队成员技术栈匹配度:如果工具需要一定的代码开发,团队成员编码能力如何?对哪种语言熟悉?培训和学习成本?
要投入多少人力时间资源:确定范围和case粒度后,预期需要投入多少人日/工时才能达到预期结果?
预期的投入产出比是多少:投入预期的人日/工时后,预期的效果如何?是否能解决当前面临的痛点问题?
落地过程------解决问题
其实到了研发落地阶段,只需要遇到问题解决问题即可。
自动化工具或框架落地过程中,常见的问题有:
学习培训:工具或框架对于团队同学来说需要一定学习成本,建议提供使用说明手册并开展几次培训。
案例演示:其实自动化case或者脚本写起来很简单,但还是建议提供一些demo或者案例,能让其他同学更快速上手。
二次开发:很多开源的自动化工具已经具备了大部分常见功能,但落地过程中还是要解决一些定制化功能,或者修复开源工具的一些bug,这就需要一定的开发能力对工具进行二次开发或者优化。
构建效率:自动化测试并不是拿着工具把case写好就完事了,要考虑到自动化落地的初衷就是解决效率问题,因此落地后的构建执行效率是重点关注的因素。
构建成功率:除了关注构建执行效率,每次构建执行的成功率也要高度关注,否则会耗费大量时间在排查问题上。
接下来就是实施自动化测试了,下面列举了现测试岗主流的自动化测试配套框架。
接口自动化测试方向:Python+requests+pytest+yaml+alluer+Jenkins;
web自动化测试方向:Python+selenium4+pytest+POM+allure+Jenkins;
app自动化测试方向:Python+appium+POM+pytest+allure+Jenkins;
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图 |
一、Python编程入门到精通
二、接口自动化项目实战
三、Web自动化项目实战
四、App自动化项目实战
五、一线大厂简历
六、测试开发DevOps体系
七、常用自动化测试工具
八、JMeter性能测试
九、总结(尾部小惊喜)
不要让失败和困难变成你放弃的理由,相信自己的实力,坚信自己能够超越一切。只有你拼尽全力,才有可能收获最好的结果。成功的唯一秘诀就是始终不停地追求进步!
每一次的尝试,都是你变得更好的机会。不要害怕失败,勇敢地迎接挑战,用汗水和努力去证明自己!成功与否并不重要,最重要的是你永远不放弃追寻梦想的勇气。
每一份努力都值得被珍惜,每一次坚持都值得被尊重。要相信自己的能力,即使路途再坎坷,也要勇往直前,因为你所拥有的只有今天,而明天还在等着你去创造!