返回首页

软件测试工程师面试,面试官一个笼统的问题: 你们公司是怎么测试的?

233 2023-11-14 18:20 admin

软件测试工程师面试,面试官一个笼统的问题: 你们公司是怎么测试的?

笼统的答案列举如下:

设置软件测试环境,安装必要的软件工具。

运行软件,发现和报告软件缺陷或错误。尤其需要快速定位软件中的严重的错误。

对软件整体质量提出评估

确认软件达到某种具体标准

以最低的成本,最短的时间,完成高质量的测试任务

软件测试员面试题~谁能回答~

自己做的 不一定对

一、 判断题(每题2分,正确的“√”,错误的“╳”)

1 、 好的测试员不懈追求完美。(╳ )

2、 测试程序仅仅按预期方式运行就行了。( ╳)

3、 不存在质量很高但可靠性很差的产品。( ╳)

4、 软件测试员可以对产品说明书进行白盒测试。( √)

5、 静态白盒测试可以找出遗漏之处和问题。(√ )

6、 总是首先设计白盒测试用例。( ╳)

7、 可以发布具有配置缺陷的软件产品。(√ )

8、 所有软件必须进行某种程度的兼容性测试。( √)

9、 所有软件都有一个用户界面,因此必须测试易用性。( ╳)

10、 测试组负责软件质量。( √)

二、 简答题

1、 软件的缺陷等级应如何划分?(3 分)

答:A类—严重错误,包括以下各种错误: 1. 由于程序所引起的死机,非法退出 2. 死循环 3. 数据库发生死锁 4. 因错误操作导致的程序中断 5. 功能错误 6. 与数据库连接错误 7. 数据通讯错误

B类—较严重错误,包括以下各种错误: 1. 程序错误 2. 程序接口错误 3. 数据库的表、业务规则、缺省值未加完整性等约束条件

C类—一般性错误,包括以下各种错误: 1. 操作界面错误(包括数据窗口内列名定义、含义是否一致) 2. 打印内容、格式错误 3. 简单的输入限制未放在前台进行控制 4. 删除操作未给出提示 5. 数据库表中有过多的空字段

D类—较小错误,包括以下各种错误: 1. 界面不规范 2. 辅助说明描述不清楚 3. 输入输出不规范 4. 长操作未给用户提示 5. 提示窗口文字未采用行业术语 6. 可输入区域和只读区域没有明显的区分标志

2、 如果能够执行完美的黑盒测试,还需要进行白盒测试吗?为什么?(5 分)

答: 这个说法是错误的。白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试地,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。所以白盒测试和黑盒测试都是需要的。

3、 你认为一个优秀的测试工程师应该具备哪些素质?(3 分)

答:人是测试工作中最有价值也是最重要的资源,没有一个合格的、积极的测试小组,测试就不可能实现。然而,在软件开发产业中有一种非常普遍习惯,那就是让那些经验最少的新手、没有效率的开发者或不适合干其他工作的人去做测试工作。这绝对是一种目光短浅的行为,对一个系统进行有效的测试所需要的技能绝对不比进行软件开发需要的少,事实上,测试者将获得极其广泛的经验,他们将遇到许多开发者不可能遇到的问题。

①、沟通能力

一名理想的测试者必须能够同测试涉及到的所有人进行沟通,具有与技术(开发者)和非技术人员(客户,管理人员)的交流能力。既要可以和用户谈得来,又能同开发人员说得上话,不幸的是这两类人没有共同语言。和用户谈话的重点必须放在系统可以正确地处理什么和不可以处理什么上。而和开发者谈相同的信息时,就必须将这些活重新组织以另一种方式表达出来,测试小组的成员必须能够同等地同用户和开发者沟通。

②、移情能力

和系统开发有关的所有人员都处在一种既关心又担心的状态之中。用户担心将来使用一个不符合自己要求的系统,开发者则担心由于系统要求不正确而使他不得不重新开发整个系统,管理部门则担心这个系统突然崩溃而使它的声誉受损。测试者必须和每一类人打交道,因此需要测试小组的成员对他们每个人都具有足够的理解和同情,具备了这种能力可以将测试人员与相关人员之间的冲突和对抗减少到最低程度。

③、技术能力

就总体言,开发人员对那些不懂技术的人持一种轻视的态度。一旦测试小组的某个成员作出了一个错误的断定,那么他们的可信度就会立刻被传扬了出去。一个测试者必须既明白被测软件系统的概念又要会使用工程中的那些工具。要做到这一点需要有几年以上的编程经验,前期的开发经验可以帮助对软件开发过程有较深入的理解,从开发人员的角度正确的评价测试者,简化自动测试工具编程的学习曲线。

④、自信心

开发者指责测试者出了错是常有的事,测试者必须对自己的观点有足够的自信心。如果容许别人对自己指东指西,就不能完成什么更多的事情了。

⑤、外交能力

当你告诉某人他出了错时,就必须使用一些外交方法。机智老练和外交手法有助于维护与开发人员的协作关系,测试者在告诉开发者他的软件有错误时,也同样需要一定的外交手腕。如果采取的方法过于强硬,对测试者来说,在以后和开发部门的合作方面就相当于“赢了战争却输了战役”。

⑥、幽默感

在遇到狡辩的情况下,一个幽默的批评将是很有帮助的。

⑦、很强的记忆力

一个理想的测试者应该有能力将以前曾经遇到过的类似的错误从记忆深处挖掘出来,这一能力在测试过程中的价值是无法衡量的。因为许多新出现的问题和我们已经发现的问题相差无几。

⑧、耐心

一些质量保证工作需要难以置信的耐心。有时你需要花费惊人的时间去分离、识别和分派一个错误。这个工作是那些坐不住的人无法完成的。

⑨、怀疑精神

可以预料,开发者会尽他们最大的努力将所有的错误解释过去。测式者必须听每个人的说明,但他必须保持怀疑直到他自己看过以后。

⑩、自我督促

干测试工作很容易使你变得懒散。只有那些具有自我督促能力的人才能够使自己每天正常地工作。

11、洞察力

一个好的测试工程师具有“测试是为了破坏”的观点,捕获用户观点的能力,强烈的质量追求,对细节的关注能力。应用的高风险区的判断能力以便将有限的测试针对重点环节。

4、 产品测试到什么时候就算是足够了?(2 分)

答:直到软件中没有较大错误,可维护性,可用性高。

5、 测试计划的目的是什么?(2 分)

答:测试计划描述所要完成的测试,包括测试背景、测试目的、风险分析、所需资源、任务安排和进度等:

(1)将需求和总体设计分解成可测试,应该测试,推迟测试和无法测试的范围

(2)对每个范围制订测试的策略和方法

(3)制订release和停止测试的标准

(4)准备测试所需要的环境

(5)确定测试风险

6、 为什么要进行软件测试?软件测试的目的是什么? (5 分)

答:是否需要进行软件测试取决于软件开发过程是否存在缺陷,前期的缺陷导致缺陷放大,使软件质量度低,进度、成本无法控制异常的庞大。从而得出的结论是:要尽早测试,尽早的发现问题。测试的目的是为了尽可能多地找出错误。

7、 软件测试应该划分几个阶段?简述各个阶段应重点测试的点?各个阶段的含义?(5 分)

8、 如何做一名合格的测试人员?(3 分)

9、 针对缺陷采取怎样的管理措施?(5 分)

三、 专业词语解释(每题2 分)

α测试: 由一个用户在开发环境下进行的测试

β测试: 软件的多个用户在一个或多个用户的实际使用环境下进行的测试

驱动模块:

桩模块: 桩模块是包含测试功能的构件(或完整的实施子系统)

白盒测试:白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。

静态测试:静态测试包括代码检查、静态结构分析、代码质量度量等。它可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具自动进行。