知乎3000多人关注!27w+阅读软件测试进阶难题:功能测试学到什么水平就可以转战自动化了?
Posted 程序员二黑
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了知乎3000多人关注!27w+阅读软件测试进阶难题:功能测试学到什么水平就可以转战自动化了?相关的知识,希望对你有一定的参考价值。
大家好,我是二黑,这里赠送一套软件测试相关资源:
- 软件测试相关工具
- 软件测试练习集
- 深入自动化测试
- Python学习手册
- Python编码规范
- 大厂面试题和简历模板
关注我公众号:【程序员二黑】即可免费领取!
交流群:642830685
首先,明确什么时候引入自动化测试。如果遇到不懂自动化的领导,你的实现过程可能会很乱。
在引入自动化之前,测试经理或测试总监不能简单孤立地看待自动化测试,也不能直接幻想着说引入自动化一定会提高效率,降低成本。因此,我们必须先想好下面这三个问题:
- 不是所有的项目都适合直接引入自动化测试
- 我应该什么时候介入自动化测试
- 最终项目的自动化程度和自动化率
什么样的项目适合自动化:基于回归测试的项目需要长期的支持和维护;覆盖率测试;压力测试。
自动测试介入时间:在项目初期可能不太适合,因为界面和用户界面不稳定,代码频繁修改,维护成本会很高;在项目的后期和维护阶段,自动化介入为回归测试做准备。
自动化程度和自动化率:项目前期可能不适合自动化,但可以选择一些环节,比如环境建设、稳定的公共接口、软件部署等。相对会比较稳定。当然,可以根据具体的项目类型进行不同的调整。
如果管理层在没有考虑这三个问题的情况下盲目引入自动化测试,说明领导认知水平存在一些问题:
1.盲目幻想,觉得自动化测试肯定能省钱,想着自动化能省多少人工成本;
2.不清楚自动化测试的目标是什么,也没有实现目标的投资计划;
3.如果自动化测试做得好的话,可以节约成本,提高产品质量,但以节约人工成本为核心目标,对项目是致命的;
4.自动化测试只写一次,可以多次使用。不需要花很多时间修改代码;如果发生这种情况,说明你遇到了一个什么都不懂且喜欢异想天开的领导。
在学习自动测试的过程中,很难使用,这是零基础的白色或软件测试面临的棘手问题。最常见的问题就是找一个好的教程,发现在自己公司毫无用武之地。
根据我的经验,我给想学习自动化测试的学生6点建议。
1.先学习编程语言,再接触自动化工具
语言可以选择Java,也可以选择Python。可以先从Python开始,再从Java开始。在学习一门语言的过程中,一定要忘记自己是测试人员,把自己当成开发人员,系统地学习相关的编程知识,因为语言的水平很大程度上决定了自动化的水平。
2.打好基础,不要本末倒置去学习自动测试工具
不了解http协议,就不会了解loadrunner、fiddler、soapUI等工具。不懂html就看不懂firebug。所以,打好基础,事半功倍。
3.认清自己,明确目标
说白了,做一件事之前,首先要看自己有多少斤几两。先评估一下自己目前的能力水平,再看能投入什么资源(精力、时间、资本)去学习。只有这样,你才能知道你能听懂什么样的内容,不要在最后越学越糊涂;其次,在认清自己的能力之后,要给自己定一个合理的目标,多久达到什么水平。
4.选择一个好的切入点,设计一个对你帮助最大的计划
- 接口自动化:Python+Unittest+HtmlTestRuner+Jenkins和Java+Httpclient+TestNG+Jenkins
- web自动化:
- Python+Webdrver+HtmlTestRunner+Jenkins,Java+Webdriver+TestNG+JenkinsAPP
- 自动化:
- Robotium+Java+TestNG+Jenkins,Appium+Java+TestNG+Jenkins,Appium+Python+HtmlTestRunner
- 辅助测试脚本:Shell和Python是简化重复性工作、过滤日志等的主要工具
当然这些都是基本的实现方案,其他就不先介绍了。如果你是新手,我建议你选择语言,然后从接口测试开始,然后学习web和APP自动化。
5.要贪多嚼碎,学会举一反三
新手上路,容易着急,什么都想学,所以容易迷茫,难以消化。很多地方是相通的。代码架构、用例管理等。可以举一反三,这不仅可以提高你的学习效率,还可以避免混乱。最重要的不是纸上谈兵,而是实践。
6.不要被工具限制,多使用开源
在测试行业,自动化测试工具很多,但是大公司倾向于使用开源框架和工具,然后定制自己的测试解决方案。学习使用一些开源比如Webdriver,Appium等。去搭建自己的自动化测试项目,然后掌握整个自动化工作原理,为以后搭建自己的工具平台做准备。毕竟,搞定自动化并不像使用几个工具那么简单。
自动化测试的最高境界:开发测试工具,设计自动化框架供他人使用。
自动化测试学习终极路线,从语言开始,完成自动化测试
- 掌握Python或者Java语言,建议先从Python开始
- 基础语言知识,语法,函数,模块,输入输出,面向对象编程
- 脚本、标准库、多线程、第三方库、外部数据处理
- Unittest,pytest测试框架,参数化,数据驱动
web端自动化测试
- selenium安装、录制和处理
- web控件,javascript脚本,PO模式
移动端APP自动化测试
- appium使用、录制、元素定位方法
- APP控件定位、交互,参数化用例
- appium问题定位分析、源码分析、二次封装
服务端接口自动测试
- 接口自动化测试框架request
- 接口请求构造、断言
- json/xml请求、响应断言
- headcookie处理、认证体系
如果你按照这个学习路线彻底了解自动化测试,那么月薪15-25K是很容易拿到的。同时你也具备了代码能力,可以继续奔着测试开发这个方向而努力!
最后为方便大家学习测试,特意给大家准备了一份13G的超实用干货学习资源,涉及的内容非常全面。
包括,软件学习路线图,50多天的上课视频、16个突击实战项目,80余个软件测试用软件,37份测试文档,70个软件测试相关问题,40篇测试经验级文章,上千份测试真题分享,还有2021软件测试面试宝典,还有软件测试求职的各类精选简历,希望对大家有所帮助……
关注我公众号:【程序员二黑】即可获取这份资料了!
推荐阅读
以上是关于知乎3000多人关注!27w+阅读软件测试进阶难题:功能测试学到什么水平就可以转战自动化了?的主要内容,如果未能解决你的问题,请参考以下文章
CSDN 8000多人关注!27w+阅读开发者进阶难题:JAVA 学到什么水平就可以转战 Android 了?