1.什么是自动化 ?
即三个自动化 : 代码修改自动触发自动化运行 、自动执行测试用例 、自动生成测试结果并发送团队 。
对技术的要求就是:自动化测试框架 + 持续集成工具
2. 企业为什么要做自动化 ?
从企业的需求来看 ,一定是降本增效 ,提高效率(ROI) 。
3.个人为什么要学习自动化
有人可能会问 ,这不跟企业的目的一致的吗 ? 都是为了提高效率 。但很多人员的述求并不至于此,比如 :
-
想法一:可能是团队要求 ,也可能是面试被问到 ,总之,学习的目的是为了应付市场的需求 ,要不然可能会被淘汰。
-
想法二 :只是为了单纯提升自己的技能 ,突破自己的发展瓶颈 、亦或者是为了更好的发展 ,能获得更到的待遇 。
-
想法三 : 你真的是想通过自动化来实现降本增效 ,即让你做的自动化能实现价值 。
有第一种想法的 ,学习纯粹是被动的 ,不学习就可能被淘汰 ;有第二种想法的 ,学习是主动的,希望通过学习能提高技能,从而提升自己的竞争力 ;有第三种想法的 ,已经不满足于现状,希望能自我实现 ,实现价值认同 。
所以 ,如果你有意学习 ? 那么是那种想法呢 ?可以在评论区探讨 。
4.个人学习需要具备什么样的条件 ?
最好做过一年及以上的测试人员,为什么说要有这个条件呢 ? 因为自动化的本质是解决功能测试的问题 。换句话说 ,功能测试人员是自动化测试人员(测开人员)的产品经理 ,相当于是提需求的 ,而自动化测试人员相当于开发人员,是负责实现需求的 。
所以 ,作为'产品经理',你当然的了解功能测试过程中的一些痛点 ,这样才能更好的自动化 。
5.自动化的分类
自动化主要可以分为 :
-
单元测试自动化 ,多是开发人员或者白盒测试人员去做 。
-
接口自动化 ,目前应用最广泛的自动化 ,优点是稳定 、效率高 、而且可以做覆盖率 。
-
web自动化 :针对web系统的自动化 ,可以最真实的模拟测试人员回归测试用例 ,但是UI界面的变动对自动化的稳定性影响很大 ,所以更多的只是做场景用例 ,不求覆盖率 。
-
app自动化 : 和app自动化一样 ,都属于ui自动化 ,所以特点基本一样 ,唯一不同的是它主要面向的是app 。
6.学会自动化需要掌握什么 ?
其实对我们个人而言 ,在公司我们很难同时去完成所有的自动化 ,只是负责把中的一项或两项做好即可 ,强调的是单点突破 、单点出成效 ,而不是全局兼得 ,结果是都没有结果 。
所以 ,你能掌握以下的自动化技术 ,面试一个高级自动化测试人员没问题 。
7.在公司如何实践自动化 ?
自动化一定是要根据公司产品的情况来确定 ,如果公司产品比较成熟 、相对稳定 ,UI自动化和接口自动化都可以做 ;但是产品在前期的开发阶段 ,UI自动化实时起来就比较难 。
实现策略是 :
-
接口自动化要强调覆盖率 ,理想目标是100%的接口覆盖 。
-
UI自动化要强调场景 ,主要在回归测试期间能把一些流程用例和主要功能进行回归即可 。
人员策略是 :
-
测试开发人员(自动化测试人员)负责维护自动化测试框架 ,解决框架问题 ,提高框架运行稳定性 、提升框架编写效率 。
-
业务测试人员来负责添加和维护自动化测试用例 ,从调试、入场、查看结果、分析结果等一系列操作 。
运行策略 :
-
接口自动化可设置代码变更即触发运行 ,因为它的运行效率高 ,能快速出结果。
-
ui自动化可以设置为每天下班后运行一次结果 ,验证当天修改是否对原有功能是否产生影响 。
维护策略 :
-
接口自动化用例跟着版本迭代走 ,每个版本修改或修改那些接口 ,即当前版本及时添加自动化测试用例 。
-
ui自动化用例跟着个人规划走 ,本周要实现那几条测试用例 ,下周要实现那几条测试用例 。持续稳定的去做下去 。
总之 ,自动化技术本身不难 ,难的是做出结果 ,做出效果 ,希望你在做自动化的道路上能做的更好 。