【面试】软件测试面试题

一、问:你在测试中发现了一个 bug ,但是开发经理认为这不是一个  bug ,你应该怎样解决。

答:

1.将问题提交到缺陷平台进行备案

2.说出自己的判断依据,包括需求说明书、产品说明、设计文档,找出直接的依据

3.如果文档未说明,可以根据类似软件的一般特性来说明是否存在不一致的地方,来确认是否是bug

4.根据用户使用习惯,来确认是否是bug

5.与测试经理,项目经理,开发经理一起讨论,来确认是否是bug

二、问:一台客户端有三百个客户与三百个客户端有三百个客户对服务器施压,有什么区别? 

答:

1.资源方面:一台客户端三百个客户,则会占用更多资源,各线程之间可能会有干扰,影响结果;后者则没有这个问题。

2.带宽:一台客户端三百个客户,会占用更多带宽;后者则要求更宽松。

3.IP 地址的问题:一台客户端三百个客户,如果有ip限制,则需要绕过ip限制,如采用ip欺骗。

 三、软件生命周期是什么?

软件生命周期,即软件开发的全过程,包括可行性研究,需求分析,软件设计,编码,测试,发布,维护

四、软件测试分为哪几个过程:

按照开发阶段划分,可以分为单元测试、集成测试、系统测试、验收测试

单元测试:针对每个单元的测试, 以确保每个模块能正常工作为目标

集成测试:对已测试过的模块进行组装,进行集成测试。目的在于检验与软件设计相关的程序结构问题

确认(有效性)测试:是检验所开发的软件能否满足所有功能和性能需求的最后手段。有的划分方法中,也将确认测试合并入系统测试中。

系统测试:检验软件产品能否与系统的其他部分(比如,硬件、数据库及操作人员)协调工作。

验收(用户)测试:检验软件产品质量的最后一道工序。主要突出用户的作用,同时软件开发人员也应有一定程度的参与。

验收测试可以分成Alpha测试Beta测试Alpha测试是由用户在开发环境下完成的测试,Beta测试是由用户在用户环境下完成的测试。

五、你能不能说下你的3-5年的职业规划?

1.让自己的测试基础知识更加的扎实

2.更深入的学习自动化知识,包括接口自动化测试方向,并运用到现实工作中

3.性能,加强对性能测试结果的分析

4.学会带领一个团队

5.最后,达到测试经理的水平

六、软件开发模式

1.瀑布:严格遵循预先计划的需求分析、设计、编码、集成、测试、发布、维护的步骤顺序进行

2.迭代:每次只设计和实现这个产品的一部分, 逐步逐步完成的方法叫迭代开发, 每次设计和实现一个阶段叫做一个迭代。在迭代式开发方法中,整个开发工作被组织为一系列的短小的、固定长度(如3周)的小项目,被称为一系列的迭代。每一次迭代都包括了需求分析、设计、实现与测试。

3.螺旋

4.敏捷:是一种快速应对需求的开发方法,更强调人与人之间的沟通,认为快速高效的开发出可执行的软件,比完备的文档更为重要。

原文地址:https://www.cnblogs.com/Jourly/p/8274874.html