静态测试无需跑程序,只需要看代码即可。
可以分为两个
方面来答:
1.软件测试和调试的区别
(1)目的不同
软件测试
是为了检测软件的质量是否符合标准(标准就是是否满足用户的需求).
软件调试
是开发人员为了检查程序是否实现了他(开发人员)想让程序实现的功能.
(2)人员不一样
软件测试
:黑盒测试工程师,白盒测试工程师,开发人员(单元测试,或者白盒测试)
软件调试
:研发人员
(3)阶段不同
软件调试
:只在开发阶段
软件测试
:贯穿到了整个软件开发的生命周期
软件开发的生命周期为
:
需求分析----》计划----》设计-----》开发----》测试----》运行
当然对于软件测试来说,有两个比较火的概念,面试中可能会考到
:
测试左移
:需求调研阶段和需求阶段,测试人员会参加,区检验需求的合理性.
测试右移
:产品上线后,测试人员要对系统进行一个监控,日志的记录和分析.
2.难易程度,技能要求
软件测试
广度大,专业度低,不但要会用,还需要深究其原理
软件开发
广度小,专业度高
为什么说软件测试广度大,专业度低?
答:广度大是指每种测试都会使用到很多的工具,如下所示:
1.接口测试
:postman soupui Charles
2.抓包
:fiddler,Charles
3.模拟弱网工具(性能测试)
4.自动化测试
:java,Python,ruby,unittest,TestNG
5.安全测试
:网络知识,Linux,tomcat,数据库
专业度低指的是每种工具只需要会用即可,不需要深究其原理,这些工具只是测试的手段。
这个问题同时也有一个变向的问法:既然懂开发的知识?为什么还要选择软件测试?
答:这个问题大的方向来说是从
兴趣
,技能
,责任感和压力
,思维模式
四个方面来说
1:
从兴趣方面来说
:首先是对软件测试比较感兴趣
,其次也是为了更好的和软件开发人员沟通,处理项目中出现的bug,为了更好的完成软件测试工作.
2:
从技能方面来说
:
一般就是从上述四个技能方面来说:
1:具有开发能力,相比于测试人员来说具有即具有开发能力,又具有测试能力.
2:文字能力:bug非常多,需要记录下来,测试人员同时需要写一些测试文档,功能使用文档等
3:沟通能力比较强,也是比较符合软件测试的需求的
4:快速学习能力也要说明.
当然后续在向面试官展示我们的测试能力的时候,可以将我们所写的测试用例向面试官进行展示,例如某个项目的测试用例,或者老师上课所讲到的测试用例.
同时能力还体现在编程能力以及数据结构算法这方面.
以及团结协作(重要)能力,沟通能力等.
3:
从责任感和压力方面来说的话
,责任感强,能够承受住压力这些也要向面试官说明
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!