关于自动化测试,这些年经历了太多的坑,有被动的坑,也有自己主动挖的坑,在这里做了一些总结。
主要思考总结下这些年来自动化测试过程中的一些基本的东西,例如何时进行自动化、如何自动化、或是怎么自动化我们的测试工作。
注:笔者在这里对自动化的定义,不局限于UI、接口等,而是指在测试过程中所有基于技术进行解决问题和改进效率的技术测试,包括但不限于UI、接口、性能、安全等。
我想为了保证原有功能的正常,是很有必要对原功能进行测试的。
那么在每次修复bug或新增需求时,我们都需要手动的测试所有功能吗?在没有更多的成本、资源、时间时,你依旧需要手动的进行测试,但其成效是否能达到要求呢?
我想这个时候,自动化测试的需求来了,在我们的日常测试工作中,有大量的回归测试需要我们把它们给自动化了。
通常,对于大部分从事软件测试的同行来讲,不管是否具备这个技术能力,大都会收到这样的工作需求。
那么如何对系统进行压测呢?我想肯定不是让你去喊几百几千甚至过万的人来一起点点点,因为这个靠人力来做是不现实的事。
所以自动化你的压测工作就是必须的选项了。
同样的,在项目初中期,UI在不停的变更,但核心的业务接口已经初步稳定,这个时候接口级自动化测试也是引入的好时机了。
在不同的技术层级,我们可以根据其更新频度等情况,我们可以将其自动化,以达到改进效率和提升质量的效果。
将测试工作进行自动化,必然需要成本的投入的,同样也有着各种风险,下面是一些总结。
在某些情况下,可能需要考虑自动化我们的测试工作,如果你已经做出了自动化的决定,或是打算进行自动化,那么你就需要考虑以下几个方面的场景:
想想你的团队,对于自动化测试是否有足够的编程开发知识和能力?如果没有,他们是否具备一定的基础,可以快速的掌握相应的技术?
是否打算组建一个好的自动化团队呢?如果是,那么可以考虑自动化你的测试工作。
不可否认的是,手工测试的成本也是很高的,尤其是对于高素质的手工测试人才,如果你认为自动化测试能解决手工测试的成本问题,我建议你三思而后行。
自动化测试的成本体现在以下几个方面:
请思考, 如果是这样的成果, 那么自动化的用途是什么呢?
在进行UI级自动化测试前要谨慎选择业务场景,尤其是要注意规避可能的大面积发生UI更新的场景,不然自动化脚本的维护成本会非常的高。
所以UI级自动化测试,笔者通常只自动化最核心的业务流程、或最典型用户业务场景,或重点关注的功能模块。
笔者以为不用等到系统足够稳定时才开始自动化测试。
当然,前提是团队拥有足够强的技术功底,能从源码级或数据层级就开始规划、设计自动化测试解决方案。
只能说,别做梦了,你要是都能100%了,那我点点点的功力如何发挥装X?当然了,在性能测试、回归测试、负载压力测试等领域,是有机会实现“100%”的。
对于哪些可能只需运行一次或几次的测试工作,请不要将其自动化,太浪费了。
如果你选中的自动化场景生命周期不够长,那么请不要自动化它,构建自动化的一个基本准则是让自动化了的测试工作比手工执行成本要明显降低。
文末分享:这下面有我学习整理出来的自动化测试资料、大厂面试…待你来领取~ 见公众号:【伤心的辣条】愿你我都有所获…
合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!
我的测试学习交流群:902061117 群里有技术大牛一起交流分享~
包装成1年工作经验的测试工程师,我给他的面试前的建议如下
自动化测试到底要学什么?
为何跳槽不考虑腾讯?聊聊我和鹅厂的一点往事
自动化测试和手动测试哪个更高级?
新手必看:怎么写一个合格的测试用例?
python登录接口测试问题记录与解决 ( 干 货 )