前言
本科计算机专业,做了四年软件测试工作,从一开始一脸懵的点点点,到现在会自动化测试了,浅谈一下计算机专业人员从事软件测试的一点点心得体会,仅供参考交流。
如果你本科学的是计算机专业,觉得开发那边做不下去的话可以试下软件测试,软件测试工作门槛相对来说比较低,容易入门一些。但总归是个技术行业,该有的技术能力还是要有的,就如今的大环境,你不卷,很难找到合适的工作,甚至面试机会都少的可怜,其实不只是这个行业卷,2023年各行各业都不太好过,我一在厂里弄龙门刨床的朋友,薪资都从1W多到如今打了半折 ,很多人说大不了去厂里,问题是现在厂里效益也一般啊!
既然选择了软件测试这行,还是坚定的走下去吧!相对于其他行业这行的薪资还是不错的,接下来我谈谈自己的一点心得体会吧!
一、 怎么系统学习的问题
1、测试用例设计方法、什么边界值、等价划分等等,这些一般都是做功能测试要用的技能,不用去死磕理论,可以先用起来。
2、抓包:运用工具去进行抓包,需要了解http协议、请求头、请求体、响应消息这些都是基本的知识。通过抓包得到的数据,用postman或者jmeter构造接口请求,接口能否请求成功。不要单纯的为了抓包而抓包,要将自己会的技能都运用起来。
3、数据库:一般互联网公司在测试都会用到数据库,学习基本的增删改查。深入的话要了解子查询、左右连接、多表查询、存储过程等。
4、Linux命令: 测试需要定位bug、部署环境等。因此掌握比较常见的linux命令是非常有必要的,比如:cd、ps、pwd、cp、tail、mv、cat、netstat、chmod等等。
二、学了却用不上
有很多面试时问的一些技能,进去后发现用不着,我当初一度很苦恼,很多东西学习,当时记住了,后面在公司没用过就慢慢的忘了。其实,如果工作了,完全可以利用公司提供的资源进行深度学习,多写多练,善于思考。想入行却没有工作的,学的东西其实很多都停留在理论方面,你可以找找身边有没有做测试的同学、关系好的朋友,看看他们的被测系统、软件。还可以在网上搜索资源进行实战(前提是学习能力不错,而且能坚持下去),新手还是入职提升最快。
举个简单的例子,账号注册登录模块,网上都是用等价划分来测试注册登录模块功能,但在实际项目里,注册登录模块却远不止于此。
1、账号注册:注册方式,手机号,微信号,其他账号,以前别人用这个手机号注册了,现在手机号另一个人在用要怎么处理等。
2、登录:除了验证密码之外,还有忘记密码,多次输入错误密码账号锁定等等。
举的这个例子,主要是说明实际的工作经验还是非常重要的,所以呢,学习理论知识,但不要仅仅停留在理论上,实践才出真知。
三、是否报培训班
这个问题我的观点是,首先看学习能力,自学能力比较好的,其实网上就有很多丰富的资源,比如B站、买相关学习书籍、贴吧、知乎等等。在学习之前要有个思路,有学习计划,就像读书时学校课程安排一样,先从基础学起,循序渐进,做笔记、练习、实操。自学能力较弱,自制力较差的同学,建议还是报班,毕竟花了钱,还是会心疼,但别以为你报了培训班,就能高枕无忧,最主要的还是靠自己,培训班主要是提供系统化的学习和一些项目以及学完后会有一些手段让你进公司,个人感觉这个最有价值的部分,最终技术还是要自己加油起来。
我也经常这样对我说,学习获取知识,其实是一个辛苦的过程。刚开始学习的时候,我连一个简单的问题都搞不定,常常怀疑自己笨,否定自己,是不是不适合搞这个。当搞定一个问题,又遇见另一个问题,陷入自我否定的阶段,反复循环,这时候,往往是游戏、看剧走起,真香。学习,学个屁啊!!!要锻炼好遇见困难的心态和解决问题的能力,如果有好的基础,花钱进培训机构,借力往更高处走也是一种方式。
四、自学需要准备的
我也收集整理了一些软件测试资源【点击文末小卡片免费领取】,基本涵盖了软件测试的全部核心技术点:测试理论,Linux 基础,MySQL 基础,Web 测试,接口测试,App 测试,管理工具,Selenium 相关,性能测试,计算机网络,组成原理,数据结构与算法等,希望能把自己所学,实际工作中使用的技术、学习方法,记录下来。也希望想做自动化的你一样,通过我的分享可以少走一些弯路,形成一套自己的方法,并应用到实际中。
一、测试理论
你们原来项目的测试流程是怎么样的?
如果需求不明确的话你怎么办?
有没有写过测试计划,具体包括哪些内容?
用例包含哪些部分,哪些用例设计方法,你一般常用哪些方法?
测试中,如何判断是前端的 bug 还是后端的 bug 呢?
...
二、Linux
Linux 系统你是怎么用的?
Linux 是什么工具连接的, Linux 版本是多少
监控资源命令用到哪些 ?
nmon 工具是如何使用的?
...
三、数据库
你们数据库怎么用 ?
存储过程是怎么编写的 ?
常见的关系型数据库有哪些 ?
你们用的什么数据库连接工具?
...
四、Python 编程
一个变量没有定义报什么错误 ?
列表与元组的区别 ?
如何获取字典中的所有键?
截取字符串里面部分字符怎么做?
...
五、持续集成
jenkins + ant + jmeter + svn 接口自动化测试?
jenkins 如何使用?
...
六、抓包与网络协议
抓包工具怎么用 ?
如何抓取 https 的包 ?
如何抓取手机的包 ?
http 跟 https 的区别 ?
为什么要使用 cookie 和 session:http 是无状态协议 ?
...
七、接口测试
接口测试怎么测 ?
接口测试主要目的是什么?
给你一个新的接口,你怎么去设计用例?
接口文档主要包含哪些内容?
什么情况下开展接口测试?
依赖于第三方的接口如何测试 ?
接口传输格式有哪些 ?
接口测试的工具有哪些?
...
八、接口自动化
接口自动化怎么测试 ?
为什么做接口自动化?
假如公司想要做自动化,让你去做,你会从那些方面考虑入手?
你写了多少接口自动化用例 ?
比如说你接口的请求参数需要加密处理的,你们用的是什么加密方式,你加密怎么处理的?
你查询出来返回结果是密文,密文你怎么测试 ?
...
九、UI自动化
ui 自动化怎么测试 ?
什么是自动化测试?
什么样的项目合适做自动化(至少三个) ?
自动化测试流程是什么?
你们自动化覆盖率有多少?
自动化测试环境的搭建是怎样的?
...
十、Unittest框架
你们自动化用例是怎么管理的?
Web UI 自动化都用到过哪些库?
Unittest 框架的原理?
Unittest 框架有哪些组件?
如何生成自动化测试报告?
...
十一、Pytest框架
pytest 框架如何使用 ?
pytest 框架如何去生成测试报告 ?
bytes 如何去运行多个文件或者整个目录 ?
pytest 框架如何去运行上次失败的测试用例 ?
...
十二、APP测试
app 测试你具体怎么做的?
Web 测试与 app 测试区别?
常用的 adb 的命令?
App 兼容性测试怎么做的?
...
十三、性能测试
性能测试怎么测试 ?
性能测试流程是怎么样的?
你们性能观察哪些指标,大概指标范围是怎么样的?
性能测试计划有哪些内容 ?
有没有写过性能测试报告,具体包括哪些内容 ?
什么是内存泄漏,什么是内存溢出?
...
十四、职业规划
简单的自我介绍一下
你的职业发展规划和职业目标
对于一个新的工具你有什么看法
你做了 3 年测试收获,你的测试心得
你还有什么问题要问?
...
整份文档一共有200多页,全部为大家展示出来肯定是不太现实的,为了不影响大家的阅读体验就只展示了部分内容,还望大家海涵,希望能帮助到您面试前的复习且找到一个好的工作,也节省大家在网上搜索资料的时间来学习!最后祝大家都能找到心仪的工作,快乐工作,幸福生活,广阔天地,大有作为。