一个菜鸟怎样做好功能测试?
1)想要做好功能测试,最基础的测试用例设计方法,测试流程,一些常用测试工具的使用,这些你都要了解。
这些百度也都能搜到很多资料的,确实也不难。
2)比较难的就是对于一些需求的理解。这种要和PM沟通,多看需求文档,因为做功能测试肯定是要做业务相关的事情,必须要对业务有足够的了解。
3)另外问问自己,对公司前后端的整体架构都了解吗,不了解的话怎么对你负责的系统进行测试?
现在互联网产品都是BS或者CS架构,肯定少不了前后端之间的网络请求,你可以多抓包看看你负责的那些功能,是怎么进行网络数据交互的,这样也能对系统更加的熟悉。
4)如果实在还是有很多空闲时间的话,可以学习1~2门后端编程语言。
5)要是有机会能看到开发写的代码,就多看看。这样的话对整个系统更加熟悉,也能帮助你提升代码能力,便于后边你做白盒测试。
做到以上,你基本上就差不多入门初级测试了。也可以对照下边的图片自己查缺补漏,看看哪些知识点还不熟悉。
三、查缺补漏以下知识点
下边是我自己总结的【测试技能成长图谱V1.0】
1)测试理论
要对常用的测试方法有所了解,了解什么是黑盒测试、白盒测试或灰盒测试,以及了解他们分别能解决什么问题。
了解测试方法,对我们设计测试用例很有帮助。
比如:我们测试数值区间时,常常会用到边界值法,测试不同条件下的功能时,常常用到等价划分类;进行白盒测试时,还可以利用条件覆盖、路径覆盖等测试方法去设计测试用例。
平时可以抽空读一读《软件测试》这本书,了解基本的测试理论。
除此之外,了解一下测试工程师的工作流程也是很有必要的,可以参考我之前录制的一期视频《测试工程师每天都是对着手机“点点点”吗?》
在准备测试面试时,也可以去牛客网刷一刷测试的基础题,这样对测试面试也会有很大帮助。
2)计算机的基础知识
首先,需要对操作系统有所了解。知道什么是内存、什么是CPU、什么是硬盘、什么是进程、什么是线程等基本知识。
另外,我们平常可能接触得比较多的是windows系统,但是现在大部分企业都会把服务部署到Liunx服务器上,我们也需要掌握Linux操作系统的基本使用,至少对常用的Linux命令有所掌握。
比方说,你需要知道查看日志,会用vim编辑文件,会用grep过滤文本,知道怎么杀死进程等等。
对于移动设备,也不能只局限于会用app,测试并不是点点点就行的,你要比常人更会玩手机。
比方说,你需要学会用手机连代理进行网络抓包,Android常用的adb命令也需要掌握,iOS的证书相关的知识也需要掌握,知道怎么在手机上信任证书等等。
除此之外,数据库的知识也是重中之重,sql语句一定要掌握。
上面内容推荐大家可以看看《软件测试》、《图解HTTP》、《mysql必知必会》、《操作系统》、《鸟哥的Linux私房菜》、《移动App测试实战》这几本书。
当然,看书是很花费时间的,也可以在网上搜罗别人总结好的资料,关注我,我也会不定期更新一些资料供大家学习。
3)掌握一门编程语言
现在对测试的要求是越来越高了,再也不是仅靠“点点点”就可以找工作的时代了。
除了具备测试能力之外,还需要掌握一定的代码能力。
很多企业现在都对测试开放了代码的审阅权限,假如你能看得懂开发的代码,你对整个开发的逻辑将有更深的理解,测试也会更全面。
现在的测试开发不仅仅要进行日常业务测试,有时候也要去开发测试平台、测试工具,假如不会代码的话,是无法完成开发工具的工作的。
当今测试的面试中,肯定也是少不了编程算法题的,这个需要你对编程语言要熟练掌握,要不然编程题面试肯定是过不了的。
建议初学者可以把java或者python作为入门的编程语言进行学习,最好是都学。
因为java目前是主流的后端编程语言,阿里、美团等大厂都在用。
另外java的编程思想、设计模式都比较成熟,要是学会java之后,再学别的编程语言会觉得比较容易。
python是最近几年特别火的编程语言,语法简单,快的话基本上花一周时间学习和练习,就能够入门。
并且,python在测试行业也是特别流行,很多测试团队开发测试工具,都喜欢用python开发。
一般把基础教程学完,熟知数据结构并能熟练操作数据结构。
另外,要对简单的算法要有所了解,比如八大排序等等。
4)掌握基本测试工具的使用
最重要的肯定是要学会网络抓包,这个是测试工程师的必修课,抓包工具五花八门,一般抓http请求的,用得最多的是fiddler和charles,我推荐使用charles。
接口调试工具可以使用postman或jmeter。
app的测试工具,需要了解monkey的使用
自动化测试工具,可以学习selenium和appium
除了测试工具之外,再给大家介绍一下测试工作中常用的4款软件:
jenkins:只是持续集成工具,说得通俗一点就是,利用这个平台可以进行app打包、代码构建或脚本执行。
wiki:在线文档工具,可以作为企业的知识库
jira:可以用来做项目管理或bug管理
gitlab:代码仓库,也就是存放和管理代码的地方
最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。