在你的眼中软件测试岗位是什么样的呢?在网上大多数人就是看需求,看业务手册,看设计文档,然后进行点点点没有技术含量的工作。
确实,点点点是软件测试工程师不可否认的事实。但这只是你踏入软件测试行业的基本要求。在互联网高速发展的时代,已经进入网络生活化,如果你还是只会功能测试,那么必然会限制你的职业发展。
据某招聘app数据显示,2022年人才流入率最高的行业就是互联网行业,平均工资最高的也是互联网行业。平均薪资达到10K。面对日益严重的就业形势,想要在就业大军中突出自己的本领就要做到:别人做不到的我能做到,别人能做到的我可以做得更好。
以下是我通过自己总结的一些软件测试面试的必备技能,以及个人的经验总结和思考
一、软件测试基础知识
基础知识是一名软件测试工程师必备的专业技能, 当然也是最基础的。但其实在工作中并不会用到所有内容,只需要根据不同场景知道应对方法即可。
编写各种测试文档,对于初学者来说稍有难度。但是终究还是谈不上什么技术含量,如果对业务和流程足够熟悉,文档用例自然就会写了。
二、测试用例的编写
-
这是测试中最重要的文档, 他是测试工作的核心,是一组在测试时输入输出的标准,是软件需求的具体对照。编写测试用例,是测试人员的基本功,真正能写好的人并不多。
-
测试用例包括的内容:用例编号,用例名称,测试背景,前置条件,优先级,测试数据,测试步骤,预期结果,实际结果,备注。
-
当测试小伙伴拿到第一个需求文档的时候,进行分析,提取测试点,编写 测试用例,然后叫上开发,产品以及相关人员进行用例评审
-
编写测试用例常用方法:等价类划分法,边界值分析法,错误推荐法,流程图法等。
-
学会质疑需求,不要完全按照需求来写测试用例,要从用户角度去理解需求,看到需求之外的功能和体验。
三、http与https协议
1、http协议原理
超文本传输协议(HTTP:Hypertext Transport Protocol)是万维网应用层的协议,它通过两个程序实现:一个是客户端程序(各种浏览器),另一个是服务器(常称Web服务器)。这两个通常运行在不同的主机上,通过交换报文来完成网页请求和响应,报文可简单分为请求报文和响应报文。
2、TCP和UDP区别
1). TCP面向连接(如打电话是要先拨号建立链接);UDP是无连接的,即发送数据之前不需要建立连接。
2). TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且顺序到达;UDP尽最大的努力交付,即不保证可靠交付。
3). TCP面向字节流,实际上是TCP把数据看成一连串无结果的字节流;UDP是面向报文的。UDP没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对应时应用很有用,如ip电话,实时视频会议等)
4). 每一条TCP连接只能是点到点的;UDP支持一对一、一对多,多对一和多对多的交互通信。
5). TCP首部开销20字节;UDP的首部开销小,只有8个字节。
6). TCP的逻辑通信信道是双全工的可靠信道,UDP则是不可靠信道。
3、get和post区别
1). post更加安全不会被缓存、保存在服务器日志、浏览器浏览记录中。
2). post发送数据量更大,get有url的长度限
3). post发送的数据类型更多,get只能发送ASCII字符
4). post没有get的提速快
5). post用于修改和写入数据,get一般用于查询获取数据。
使用场景:
1). 在数据查询一般建议使用Get方式,增删改建议用Post
2). Get方式安全性差但是速度快,所以在比较机密隐私的情况下一般使用Post
四、编程能力
如果是开发人员,那么编程能力是必定会考察的内容。但是对于软件测试工程师来说,如果在编程能力上略懂一二,面试官也会给你加分。
懂编程和不懂编程的人看系统的深度不一样,一点不懂得只能看出这是按钮,那个是输入框。懂编程的人就知道你的登录是个,输入框是个,你的登录是用的post 还是get呢?逻辑层就是获取到输入的用户名密码是查数据库做比较嘛。
在测试过程中不管功能实现也好,bug也好,都会看得更透彻,从而容易挖掘出相关的bug。
五、总结
软件测试行业的发展已经比较成熟了,但是测试开发等高端人才缺口仍然巨大。
测试入门简单,但是不断提升技术才是重中之重,如果我们一直安于现状那么最终一定会被淘汰。
就业机会多,是因为公司产品迭代快,个人技术能力也应当随之增长。
学习成本相对比开发来说时间和资金成本要少很多。
机会本身就是留给有准备的人,面试官更多的时候就是在找闪光点。学习本就枯燥,想要站到行业的顶端,我们就应该不断地坚持。
如果对python自动化测试、web自动化、接口自动化、移动端自动化、面试经验交流等等感兴趣的测试人,可以加群:914172719
大厂软件测试岗经验分享
通过大数据总结发现,其实软件测试岗的面试都是差不多的。常问的有下面这几块知识点:
测试基础
Linux必备知识
Shell脚本
互联网程序原理
MySQL数据库
抓包工具
接口测试工具
Web自动化测试Java&Python
接口与移动端自动化
敏捷测试&TestOps构建
性能测试&安全测试
第一部分 软件测试基础
第二部分 Python编程
第三部分 MySQL
第四部分 LordRunner相关
第五部分 Web测试
什么是sql注入,什么是跨站脚本,什么是跨站
给你一个网站怎么开展测试?
电商支付模块的测试如何展开?
如何开展兼容性测试?
nginx.tomcat.apache都是什么?
apache和nginx 的区别?
第六部分 接口自动化测试
第七部分 App测试
由于篇幅限制,文档的详解资料太全面,细节内容太多,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!
朋友们如果需要这份完整版的资料,VX扫描下方CSDN官方二维码【免费获取】。