软件测试面试经常会被问到的三大问题(面试常考)

软件测试面试经常会被问到的三个问题

什么是软件测试(面试常问)

本质上来说软件测试就是为了测试软件是否满足用户的需求

注意:测试一款软件的质量并不是以软件测试人员主观意愿去判断的,而是看其是否满足用户的需求,这也是软件质量的度量(标准).

思考:不运行系统或者程序可以进行软件测试吗?

答:可以的,软件测试分为动态测试和静态测试

动态测试就是将我们的程序跑起来

静态测试无需跑程序,只需要看代码即可。

软件测试和研发的区别(面试常问)

可以分为两个方面来答:
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:从责任感和压力方面来说的话,责任感强,能够承受住压力这些也要向面试官说明
4: 从思维模式来说的话:此时给大家举一个例子,先来看一道题目:
假如此时有一个自动售卖饮料的机器,这个机器只能投掷硬币,此时他只售卖三种饮料:红茶,雪碧,可乐
当用户投入的硬币金额达到1.5元的时候,按可乐出可乐,按雪碧出雪碧,按红茶出红茶,如果投币的金额总数达到2元的话,除了会出相应的饮料,还会退还五毛钱.
那么此时思考一个问题:在售卖饮料的机器运行期间会出什么问题?请将这些问题列举出来并进行测试:
在这里插入图片描述
上面罗列的就是这台机器在运行过程中可能会发生的问题.
这个问题其实就是在考察大家的发散思维能力逆向思维能力.这两个思维能力很重要,例如一个问题需要考虑到正反面的各个细节等等.

Guess you like

Origin blog.csdn.net/qq_41972686/article/details/119799805