写这篇文章之前,我接触了不少的同行,因为之前他们一直都从事手工测试,现在迫切的希望做自动化测试,其中不缺乏其中不乏工作5年以上的人。 本人从事软件自动化测试已经近5年,从server端到web端,从API到mobile,切身体会到自动化带来的好处与痛楚,在此分享一下个人体会。想做自动化,首先得了解一下自动化测试的一些常见问题与学习思路:
自动化测试,顾名思义,自动完成测试工作。通过一些自动化测试工具或自己造轮子实现模拟之前人工点点/写写的工作并验证其结果完成整个测试过程,这样的测试过程,便是自动化测试。自动化测试,看上去很美,感觉好像是第一次工业革命,它开创了以机器代替手工劳动的时代,实则不然.因为每一个自动化测试的case都是从手工测试做起的,如果没有手工测试的基础,是没法进行自动化测试。
为什么进行自动化测试,答案要从自动测试的收益和人肉测试的成本说起:
a. 自动化测试节约成本(根据项目)
毕竟自动化测试确实解放了一批人力(人力成本才是IT公司最大的成本),可以让机器没日没夜的执行一些重复劳动.
b.有些测试项目手工很难实现(手工成本较高)
比如12306的压力测试、负载测试,同时找那么多人去测试不现实可以通过机器去模拟. c.项目质量流程需要
技术新人如何学习自动化测试:
1、认知准备
在开始学习之前,首先一定要明确的是对于行业和学习的认知:
1、进入测试行业一定要学习一门语言,认为做测试不用写代码或者对于写代码比较排斥的,可以绕道了;
2、技术才是你立足的根本,但是不要认为技术做到最强,就可以得到100%的尊重;
3、在不断学习的同时也要积极地参与行业内的交流,比如沙龙、讲座等,朋友内推比海投简历靠谱的多;
4、学历很重要,项目经验很致命,英语是加分项;
5、学习是长反馈、反人性的,不要期待短期速成,不要相信35岁失业的鬼话;
6、沟通能力是和技术同样重要的,放在任何行业都是如此;
2、 计算机基础知识
了解了软件测试的理论之后,下一步就是要了解计算机的基础知识了,上面提到这些测试理论都是离不开计算机的基础操作的,在动手实践的前,一定要对操作系统有所了解,知道什么是内存,什么是cpu,什么是进程,什么是线程,不然什么也不懂然后一顿操作,只会搞得自己一头雾水,越学越迷糊。
而且这里要提醒大家注意的就是,虽然大家常用的是Windows系统,但现在的大部分企业都会把服务部署在Linux服务器上,所以也需要掌握Linux系统的基本使用,至少要对常用的Linux命令有所掌握。
所以你需要知道常用的查看日志方法,知道怎么杀死进程,会用vim编辑文件,比常人更会玩手机,利用手机进行网络抓包,需要掌握安卓系统常用的app命令,iOS的证书相关知识,除此之外,数据库的知识也是重中之重的,sql语句也是一定要掌握的。
3、掌握至少一门编程语言
其实有很多朋友们反馈,那就是学了软件测试也找不到好工作,这里我要为这些软件测试类岗位澄清一下,很多时候不是你找不到好岗位,而是好岗位找不到你。
现在社会对测试行业的要求越来越高,早就不是只拥有测试能力就可以找到工作了,很多公司对软件测试的职业要求早已经更新换代了。
大家除了要具备测试能力,还需要有一定的编写代码的能力,现在很多企业对测试岗位开放了代码的审阅权限,如果你能够看得懂开发代码,那么对整个开发的逻辑也会有更深的理解,测试更加全面。
4、选好学习资料
网上资源非常多,哪些才是真正有用的?我该怎么去选择。所以,选择资料这块就非常重要。我不太建议去买书,因为一般书上的内容没有那么通俗易懂的,另外看书还是比较痛苦的,我个人是深有体会的。
如果你还是没有头绪,我也把我整理的资料以及我的学习路径整理了一下,分享给大家,除了基础到入门的资源,现在也有不少进阶自动化的资源,从理论到实战,知行合一才能真正的掌握。
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取