软件测试面试常考题目总结

2022-07-26 14:49:25 浏览数 (2)

软件测试面试常考题目总结

目录

1、开发犯低级错误怎么办?

2、你进行过哪些测试,擅长什么?

3、开发说不是bug怎么办?

4、你的职业规划?

5、什么样的测试用例才算是合格的?

6、bug单有哪些要素组成?

7、测试用例包括哪些?

8、软件评审的人员和目的?

9、什么是软件测试?目的?

10、什么是兼容测试?

11、为什么进行软件测试?

12、软件测试类型有哪些?区别与联系?

13、好的测试用例关键?

14、软件开发过程中,测试所要承担的职责?

15、有哪些测试类型?

16、测试计划工作包括?

17、兼容性有哪些?

18、缺陷等级分类?

19、缺陷生命周期?

20、测试结束标准?

21、测试生命周期?

22、自我介绍?

23、项目介绍?

24、软件测试流程?

25、网络相关?

26、测试工具?

27、你还有什么想要问的吗?

28、软件生命周期各个阶段的测试内容?

29、get和post的请求?

30、alpha测试和beta测试的区别?

31、TCP/IP协议的模型和每层的主要协议?

1、开发犯低级错误怎么办?

开发首先要规范好编码,出低级错时不要指责,内心指出错误。让他们自己进行测试,反思找出错误。

2、你进行过哪些测试,擅长什么?

我主要从事web测试,搭建测试环境,对程序进行集成测试、系统测试、回归测试。还有编写测试用例,使用手册,功能测试文档。

单元测试:测试的最早期阶段,焦点在于被测软件的最小的组成部分。

集成测试:确保最小单元被(部分)整合后能正常操作的测试执行阶段。

系统测试:当应用作为整体运行时的测试执行阶段(测试最终的应用)。

回归测试:修改了旧代码后,重新进行测试以确认修改操作没有引入新的错误或导致其他代码产生错误。

验收测试:以用户为主,由用户参加设计测试用例,对程序的功能、性能,以及可移植性、兼容性、可维护性、错误的恢复功能等进行确认。主要运用黑盒测试的方法,对系统主要流程、重要功能进行有效性测试,验证所测试的软件是否满足需求规格说明书列出的要求。

3、开发说不是bug怎么办?

将自己的见解告诉开发,不行就把见解和bug提交项目经理决定。

4、你的职业规划?

巩固基础测试知识,提高理解需求能力。学习自动化测试,并且运用。技术到位后学习带领测试团队。最后争取达到测试经理水平。

5、什么样的测试用例才算是合格的?

能覆盖到所有测试点。

6、bug单有哪些要素组成?

缺陷编号、缺陷标题、缺陷描述、缺陷优先程度、缺陷所属模块、缺陷所属版本、缺陷所属开发人员、输入数据、输出结果、缺陷分析等。

C/S模式,使用交替方法确认是client还是server端问题。

7、测试用例包括哪些?

用例编号、测试项描述、操作步骤、输入、预期结果、实际结果、测试人、测试时间、备注。

8、软件评审的人员和目的?

人员:客户、项目经理、开发人员、测试人员。

目的:查看软件是否还存在问题。是否在不同平台正常运行,是否有和客户理解不一致的地方,是否有改进的地方。

9、什么是软件测试?目的?

使用人工或自动化手段运行程序,为了发现软件的错误而执行检验的一个过程。

目的:以最少的人力、物力、时间找到软件中的缺陷并修改,从而回避风险。

10、什么是兼容测试?

检查软件在不同软件、硬件平台是否可以正常运行。即软件的可移植性。主要查看在不同操作系统、浏览器、数据库、不同版本是否正常运行。

11、为什么进行软件测试?

没经过测试的软件无法保证质量,好比iso质量认证一样。测试中发现问题,即时提交开发改进,在软件发布时保证软件质量。

12、软件测试类型有哪些?区别与联系?

常见:功能测试、性能测试、界面测试。

功能测试:占比最大,也叫黑盒测试(不看代码)。进行动态测试时,需要测试软件功能,不需要测试软件内部结构和处理过程。

技术方法有:等价类划分法、边界值分析、错误推测、因果图和综合策略等。

性能测试:通过自动化测试工具模拟多种正常、异常、峰值条件,对系统各项性能指标测试。负载测试、压力测试属于此。

负载测试:确定各项工作负载下的系统性能,目标是负载主键增加时,系统各项性能指标变化;压力测试:通过系统的瓶颈,获得系统能提供的最大服务级别。

界面测试:界面好坏决定用户对软件第一印象。合理的界面带来轻松愉悦感受,失败界面有挫败感,让强大的功能付诸东流。

区别:功能测试关注软件功能,每个功能可能存在的问题。性能测试软件多用户并发的稳定性和强壮性。界面测试关注用户体验和易用性。

13、好的测试用例关键?

白盒测试:较少的用例覆盖尽可能多的内部程序逻辑结果。

黑盒测试:较少的用例覆盖模块输出和输入接口。用最少用例在合理时间内发现最多的问题。

对可行和不可行的都要考虑:

(1)输入 (2)详细操作步骤 (3)预期输出 (4)实际输出

14、软件开发过程中,测试所要承担的职责?

测试配合开发等进行需求分析和讨论,根据需求说明书制定《项目测试计划》,编写测试用例,搭建测试环境。

测试负责新产品测试,原有产品的升级测试,负责软件问题解决过程跟踪,软件开发文档、开发工作的规范化,管理开发部门的产品文档,制作用户手册、操作手册,产品上线测试,监督软件开发过程执行,提高软件质量。

15、有哪些测试类型?

功能、性能、可靠性、安全性、负载测试,压力、安装/卸载、启动/停止、兼容、互联测试,文档、回归、可使用性、容量测试

16、测试计划工作包括?

是对工作内容的有效组织和规划,保证测试工作有效展开。包括测试目标,测试范围定义,测试方法选择,测试进度里程碑,测试资源管理和配置。测试目标最重要,因为他是软件测试的最终达到结果。

17、兼容性有哪些?

平台兼容、网络兼容、数据库兼容、数据格式兼容等。

18、缺陷等级分类?

(1) 最高级--导致运行中断(应用程序崩溃),预期的功能没有得到实现,测试工作无法继续进行等。

(2) 紧急---事件非常重要,并且需要马上给予关注。

(3) 高级---事件是重要的,并且应该在紧急的事件处理之后尽快得到解决。

(4) 中级---事件是重要的,但是由于解决问题需要花费一定的时间,所以可以用较长的时间解决。

(5) 低级---事件不重要,可以在时间和资源允许的情况下再解决。

19、缺陷生命周期?

新建bug–提交bug–确认bug–分配bug–修复bug–验证bug–关闭bug

20、测试结束标准?

1)一二级缺陷数目达到项目质量管理目标要求,测试暂停返回开发。

2)项目出现重大估算和进度偏差,需要暂停或者终止。

3)新需求变更大,需修改测试计划和测试用例再进行。

4)开发暂停,测试也暂停,备份暂停时的数据。

5)所有功能、性能测试用例100%进行。

21、测试生命周期?

需求-测试计划制定和评审–测试用例编写–测试用例执行–bug管理–测试报告输出

22、自我介绍?

1)很高兴获得面试机会……想证明我是合适的人选……想获得您的认可……

2)反问面试官:您看我继续介绍项目还是您提问关心的问题?

23、项目介绍?

先整体再局部介绍,项目五大维度:

规模(代码规模、需求规模、用例规模、工作量、进度、质量、成本),测试流程,角色与职责,项目中自己角色,自己的特色(做得好的、遇到的困难、做得差的),最后是心得体会。

24、软件测试流程?

熟悉产品/项目–需求评审–测试需求–测试计划–测试方案–测试用例–预测试,第一轮正式测试–第二轮回归测试–第三轮测试,测试报告–总结–测试指南

25、网络相关?

1)应用层:应用程序之间相互沟通的层。

2)传输层:提供了数据传输,应用程序之间的通信服务。

3)网络互联层:负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机。

4)网络接口层:接收数据,并进行传输。

26、测试工具?

性能测试工具:LoadRunner、Jmeter

自动化测试工具:Selenium、Appium

测试管理工具:禅道、Jira

27、你还有什么想要问的吗?

满意情况:先表示感谢,问如果有下一轮面试,什么时候,做什么准备。

一般般情况:感谢,对自己表现不太满意,能否给我一些建议。

很糟糕:感谢,认识到不足,希望给建议。

28、软件生命周期各个阶段的测试内容?

1)需求阶段测试:设计整个过程的进行、测试计划的安排、测试用例的设计以及软件的确认要达到那些要求等。

2)设计阶段测试:包括概要设计和详细设计。在概要设计阶段,测试人员应阐述测试方法和测试评估准则,编写测试计划,组织成立独立的测试小组,安排具有里程碑的测试日程;在详细设计阶段,测试人员要开发或获取确认支持工具,生成功能测试数据和测试用例,以此来检查设计中遗漏的情况、错误的逻辑、模块接口的不匹配、数据结构不合理、错误的I/O假定、用户界面的补充分等。

3)编码阶段测试:测试需要解决的首要问题是编码是否和设计的一致;其次是系统是否可维护,系统的规格说明是否正确地实现,编码是否按照既有的标准进行。是否有充分的测试计划评价程序,程序是否提供足够的文档资料,程序内部是否有足够的注释等。在测试完成后,要形成下列输出物:编码说明书、程序文档、计算机程序列表、可执行的程序、程序流程图、操作介绍和单元测试结果。

4)测试阶段:要进行第三方的正确测试,检验所开发的系统是否能按照用户提出要求运行,在测试阶段要使的用户能成功地安装新的应用系统来进行测试。

5)安装阶段测试:首先要根据系统安装手册制定好安装计划,确定安装流程图,准备好安装文件和程序清单,给出安装测试的预期结果,并对安装过程中的各项可能发生的结果进行说明准备,将程序运行的软硬件要求放入产品说明中。同时要检查时系统用户手册和操作手册,看是否可用。

6)验收阶段测试:定义用户角色,定义验收标准,编制验收计划,执行验收计划和填写验收结论。

29、get和post的请求?

1)url可见性:get,参数url可见;post,url参数不可见。

2)数据传输上:get,通过拼接url进行传递参数;post,通过body体传输参数。

3)缓存性:get请求是可以缓存的,post请求不可以缓存。

4)后退页面的反应:get请求页面后退时,不产生影响;post请求页面后退时,会重新提交请求。

5)传输数据的大小:get一般传输数据大小不超过2k-4k(根据浏览器不同,限制不一样,但相差不大);post请求传输数据的大小根据php.ini配置文件设定,也可以无限大。

6)安全性:原则上post肯定要比get安全,毕竟传输参数时url不可见。对传递的参数进行加密,其实都一样。

30、alpha测试和beta测试的区别?

alpha测试是在用户组织模拟软件系统的运行环境下的一种验收测试,由用户或第三方测试公司进行的测试,模拟各类用户行为对即将面市的软件产品进行测试,试图发现并修改错误。

beta测试是用户公司组织各方面的典型终端用户在日常工作中实际使用Beta版本,并要求用户报告异常情况,提出批评意见。

区别:主要是测试场所不同,alpha是指把用户请到开发方的场所来测试,beta测试是指在一个或多个用户的场所进行测试;alpha测试的环境是受开发方控制的,用户的数量相对少,时间比较集中,beta测试环境不受开发方控制,用户数量相对多,时间不集中。

31、TCP/IP协议的模型和每层的主要协议?

从下到上:

1)链路层(数据链路层/网络接口层):包括操作系统中的设备驱动程序、计算机中对应的网络接口卡。

2)网络层(互联网层):处理分组在网络中的活动,比如分组的选路;(IP、ICMP、IGMP)。

3)运输层:主要为两台主机上的应用提供端到端的通信(TCP和UDP)。

4)应用层:负责处理特定的应用程序细节。

0 人点赞