目录:导读
- 前言
- 一、Python编程入门到精通
- 二、接口自动化项目实战
- 三、Web自动化项目实战
- 四、App自动化项目实战
- 五、一线大厂简历
- 六、测试开发DevOps体系
- 七、常用自动化测试工具
- 八、JMeter性能测试
- 九、总结(尾部小惊喜)
前言
当我们开始分析一个自动化系统的构成时,首先应该思考一下,自动化究竟需要解决一个什么样的场景,它是为了解决测试人员写脚本难的问题,还是解决测试效率的问题,又或者是解决复杂场景的问题.
只有先搞清楚了这一点,我们才明确设计核心是什么。
举个例子
网易一款自动化平台 AirTest,它重点解决了两类问题:
1.就算不熟悉 python 的人,用了它也能把自动化用例实现出来;
2.因为很多游戏 APP 的控件不是原生的 View 渲染的,必须依赖图像识别技术,或者界面渲染引擎的控件定位技术,这在业务上难度是比较大的,用了它这一切也就不成为问题。
因此,它的设计核心是解决测试人员写脚本难的问题,以及解决复杂场景的问题。
再举个例子
蚂蚁金服开源的 SoloPi 是一款 APP 自动化工具,它重点解决了这两类问题:
1.脚本录制回放功能,解决的是测试人员写脚本难的问题;
2.一机多控,解决的是测试效率的问题;
每一个产品都有自己核心立足点,明确了核心,才知道要怎样去做技术选型。
所以,第一步是确认好,这款自动化产品它的核心解决场景是什么。
有了核心,就如同设定好了目标,接下来的具体设计都是围绕目标展开的。
有一些同学在做设计的时候,想做到 Appium 那样支持多语言客户端,获得更广泛的群众基础;或是像 SoloPi 那样支持录制回放功能,还想添加……
这种持续做加法的原则对原型开发并不友好。
原型版本的设计,应该尽可能做减法,让主流程能跑通,再考虑锦上添花的事。
做技术开发往往都知道 “迭代” 这个词,产品很难一口吃成一个大胖子,一开始做得简单。
三个好处:
容易对不明确的技术做调试,确认其可行性;
容易围绕核心去做事,不会迷失在过多的细节中;
开发过程往往会伴随 “重构” 的发生,越是简单的东西,越容易做重构。
核心的功能现在已经基本梳理好了,整个业务流程图这时就应该筹备起来。这里要考虑系统是如何进行工作的,在哪个环节有输入,哪个环节有输出,等等。
拿 SoloPi 举例
录制回放业务中,整个过程分为两部分,一个在录制,把用户操作的过程和设置的参数进行保存,输入的是操作,输出的是数据;另一部分是回放,将得到的数据作为新的输入,传给固定的操作模板去执行,这样整个业务流程的闭环就有了。
要考虑分工协作的事,将模块进行拆分。
一个产品不管是独立开发还是一群人合作开发,都要将其功能进行合理拆分,尽可能让不同的模块独立化开发,这样不仅可以将任务分解出去,也能让新的模块更好的扩展进来。
拿 AirTest 举例
划分为 IDE 模块,系统支持模块,控件识别模块的话,一组人专门把界面做好,实现 button,代码编辑器等;一组人去支持 Android,iOS,Windows,Web 等系统的连接,控制;一组人做好图像识别,Unity 控件识别。这样就可以同步干活了。
设计一款自动化测试系统,首先要确认好核心功能是什么,其次让原型设计做得尽可能简单,再次考虑整个业务流程是如何流转的,抓住几个关键的输入输出点,最后合理将模块进行拆分,进行团队的分工协作。
下面是我整理的2022年最全的软件测试工程师学习知识架构体系图 |
一、Python编程入门到精通
二、接口自动化项目实战
三、Web自动化项目实战
四、App自动化项目实战
五、一线大厂简历
六、测试开发DevOps体系
七、常用自动化测试工具
八、JMeter性能测试
九、总结(尾部小惊喜)
事业总有大起大落,人总会遇到挫折,只要你不怕跌倒你一定会开创出自己的一片天地来,记得还有我在你身边鼓励你!祝你心想事成!
人家说,梦想都是用来骗自己的,以前我总是倔强的反对着这个说法,求学时代的我不断的在老师和长辈们的熏陶下不断将梦想渐渐的深深的刻在脑海里。以至于后来一听到亵渎梦想的话就表示强烈的反感。
生命,需要我们去努力。年轻时,我们要努力锻炼自己的能力,掌握知识、掌握技能、掌握必要的社会经验。