软件测试经典面试题修改.docx
《软件测试经典面试题修改.docx》由会员分享,可在线阅读,更多相关《软件测试经典面试题修改.docx(69页珍藏版)》请在冰豆网上搜索。
![软件测试经典面试题修改.docx](https://file1.bdocx.com/fileroot1/2023-6/3/db408b02-de72-4914-a85d-2d4fc79fff71/db408b02-de72-4914-a85d-2d4fc79fff711.gif)
软件测试经典面试题修改
软件测试面试题汇总
测试技术面试题
5
1、什么是兼容性测试?
兼容性测试侧重哪些方面?
5
2、我现在有个程序,发现在Windows上运行得很慢,怎么判别是程序存在问题还是软硬件系统存在问题?
5
3、测试的策略有哪些?
5
4、正交表测试用例设计方法的特点是什么?
5
5、描述使用bugzilla缺陷管理工具对软件缺陷(BUG)跟踪的管理的流程?
5
6、你觉得bugzilla在使用的过程中,有什么问题?
5
7、描述测试用例设计的完整过程?
6
8、单元测试的策略有哪些?
6
9、LoadRunner分哪三部分?
6
10、LoadRunner进行测试的流程?
6
什么是并发?
在lordrunner中,如何进行并发的测试?
集合点失败了会怎么样?
6
12、使用QTP做功能测试,录制脚本的时候,要验证多个用户的登录情况/查询情况,如何操作?
6
13、QTP中的Action有什么作用?
有几种?
6
14、TestDirector有些什么功能,如何对软件测试过程进行管理?
7
15、你所熟悉的软件测试类型都有哪些?
请试着分别比较这些不同的测试类型的区别与联系(如功能测试、性能测试……)?
7
16、条软件缺陷(或者叫Bug)记录都包含了哪些内容?
如何提交高质量的软件缺陷(Bug)记录?
8
17、Beta测试与Alpha测试有什么区别?
8
18、软件的评审一般由哪些人参加?
其目的是什么?
8
19、测试活动中,如果发现需求文档不完善或者不准确,怎么处理?
8
20、阶段评审与项目评审有什么区别?
8
21、阐述工作版本的定义?
8
22、什么是桩模块?
什么是驱动模块?
8
23、什么是扇入?
什么是扇出?
8
24、你认为做好测试计划工作的关键是什么?
8
25、你认为做好测试用例工作的关键是什么?
9
26、简述一下缺陷的生命周期?
9
27、软件的安全性应从哪几个方面去测试?
9
28、软件配置管理工作开展的情况和认识?
9
29、你觉得软件测试通过的标准应该是什么样的?
10
30、引入测试管理的含义?
10
31、一套完整的测试应该由哪些阶段组成?
10
32、单元测试的主要内容?
10
33、集成测试也叫组装测试或者联合测试,请简述集成测试的主要内容?
10
34、简述集成测试与系统测试关系?
10
35、软件测试的文档测试应当贯穿于软件生命周期的全过程,其中用户文档是文档测试的重点。
那么软件系统的用户文档包括哪些?
10
36、软件系统中除用户文档之外,文档测试还应该关注哪些文档?
10
37、简述软件系统中用户文档的测试要点?
11
38、单元测试主要内容是什么?
11
39、如何理解强度测试?
13
40、如何理解压力、负载、性能测试测试?
13
41、什么是系统瓶颈?
13
42、文档测试主要包含什么内容?
13
43、功能测试用例需要详细到什么程度才是合格的?
14
44、配置和兼容性测试的区别是什么?
14
45、软件文档测试主要包含什么?
15
46、没有产品说明书和需求文档地情况下能够进行黑盒测试吗?
15
47、测试中的“杀虫剂怪事”是指什么?
15
48、在配置测试中,如何判断发现的缺陷是普通问题还是特定的配置问题?
15
49、为什么尽量不要让时间有富裕的员工去做一些测试?
16
50、完全测试程序是可能的吗?
16
51、软件测试的风险主要体现在哪里?
16
52、发现的缺陷越多,说明软件缺陷越多吗?
16
53、所有的软件缺陷都能修复吗?
所有的软件缺陷都要修复吗?
17
54、软件测试人员就是QA吗?
17
55、如何减少测试人员跳槽带来的损失?
17
56、测试产品与测试项目的区别是什么?
17
57、和用户共同测试(UAT测试)的注意点有哪些?
18
58、如何编写提交给用户的测试报告?
18
59、测试工具在测试工作中是什么地位?
18
60、什么是软件测试,软件测试的目的?
18
61、简述负载测试与压力测试的区别。
19
62、写出bug报告流转的步骤,每步的责任人及主要完成的工作。
19
63、写出bug报告当中一些必备的内容。
19
64、开发人员老是犯一些低级错误怎么解决?
20
65、画出软件测试的V模型图。
20
66、为什么要在一个团队中开展软件测试工作?
20
67、您在以往的测试工作中都曾经具体从事过哪些工作?
其中最擅长哪部分工作?
20
68、您所熟悉的软件测试类型都有哪些?
请试着分别比较这些不同的测试类型的区别与联系(如功能测试、性能测试……)20
69、您认为做好测试用例设计工作的关键是什么?
21
70、请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。
21
71、测试计划工作的目的是什么?
测试计划工作的内容都包括什么?
其中哪些是最重要的?
22
72、您所熟悉的测试用例设计方法都有哪些?
请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。
22
73、请以您以往的实际工作为例,详细的描述一次测试用例设计的完整的过程。
23
74、您以往是否曾经从事过性能测试工作?
如果有,请尽可能的详细描述您以往的性能测试工作的完整过程。
23
75、你对测试最大的兴趣在哪里?
为什么?
23
76、你以前工作时的测试流程是什么?
24
77、当开发人员说不是BUG时,你如何应付?
24
78、软件的构造号与版本号之间的区别?
BVT(BuildVerificationTest)24
79、您以往的工作中,一条软件缺陷(或者叫Bug)记录都包含了哪些内容?
如何提交高质量的软件缺陷(Bug)记录?
25
80、您以往所从事的软件测试工作中,是否使用了一些工具来进行软件缺陷(Bug)的管理?
如果有,请结合该工具描述软件缺陷(Bug)跟踪管理的流程。
25
81、您认为性能测试工作的目的是什么?
做好性能测试工作的关键是什么?
25
82、单元测试、集成测试、系统测试的侧重点是什么?
25
83、集成测试通常都有那些策略?
25
84、一个缺陷测试报告的组成25
85、基于WEB信息管理系统测试时应考虑的因素有哪些?
25
86、软件测试项目从什么时候开始,?
为什么?
26
87、需求测试注意事项有哪些?
26
88、简述一下缺陷的生命周期26
89、你在你所在的公司是怎么开展测试工作的?
是如何组织的?
26
90、你认为理想的测试流程是什么样子?
26
91、您在从事性能测试工作时,是否使用过一些测试工具?
如果有,请试述该工具的工作原理,并以一个具体的工作中的例子描述该工具是如何在实际工作中应用的。
26
92、软件测试活动的生命周期是什么?
26
93、请画出软件测试活动的流程图?
26
94、针对缺陷采取怎样管理措施?
26
95、什么是测试评估?
测试评估的范围是什么?
26
96、如果能够执行完美的黑盒测试,还需要进行白盒测试吗?
为什么?
26
97、测试结束的标准是什么?
26
98、软件验收测试除了alpha,beta测试以外,还有哪一种?
26
99、做测试多久了?
以前做过哪些项目?
你们以前测试的流程是怎样的?
用过哪些测试工具?
27
100、请就如何在开发中进行软件质量控制说说你的看法27
101、一套完整的测试应该由哪些阶段组成?
分别阐述一下各个阶段。
27
102、软件测试的类型有那些?
分别比较这些不同的测试类型的区别与联系。
27
103、测试用例通常包括那些内容?
着重阐述编制测试用例的具体做法27
104、在分别测试winform的C/S结构与测试WEB结构的软件是,应该采取什么样的方法分别测试?
他们存在什么样的区别与联系?
27
105、在测试winform的C/S结构软件时,发现这个软件的运行速度很慢,您会认为是什么原因?
您会采取哪些方法去检查这个原因?
27
106、描述使用bugzilla缺陷管理工具对软件缺陷(BUG)跟踪的管理的流程27
107、你都用什么测试方法针对不同的产品或者系统或者模块,有不同的测试方法。
总体而言有白盒测试和黑盒测试。
27
108、怎么编写案例案例的编写与测试阶段的定义有很大的关系。
系统测试和unit测试的案例可能不同。
总体而言测试案例根据系统的需求而定。
27
109、怎么才能够全面的测试到每一个点测试的全面性主要需要在设计测试计划的时候考虑,从测试策略,产品需求等等多个角度考虑从而定义全部的测试点。
27
110、谈谈软件测试技术,以及如何提高27
111、谈谈软件测试职业发展,以及个人的打算27
112、谈谈软件测试在企业的地位,也可以结合软件生命周期来谈27
113、一般公司里实际的软件测试流程是什么样的?
你们公司又是怎样的?
27
114、软件工程师要具有那些素质?
27
115、你会哪些测试工具?
怎么操作?
27
116、你能不能说下你的3到5年的职业计划(规划)27
117、你觉得你来应聘有那些优势?
27
其他问题:
(有可能清晰的思路比确切的答案更重要)27
开发及环境搭建类面试题
28
1、描述软件产生内存泄露的原因以及检查方式。
(可以结合一种开发语言进行描述)28
2、简述什么是值传递,什么是地址传递,两者区别是什么?
28
3、结构化程序设计和面向对象程序设计各自的特点及优缺点是什么?
28
4、简述什么是存储过程和触发器?
28
5、使用C语言编写一个函数,用于交换两个变量的值(地址传递)。
29
6、请简述DNS、活动目录、域的概念。
29
7、描述TCP/IP协议的层次结构,以及每一层中重要协议。
29
8、简述子网掩码的用途。
29
9、说出4种以上常用的操作系统及其主要的应用范围(微软的操作系统除外)。
29
10、在Linux系统中,一个文件的访问权限是755,其含义是什么?
29
11、Windows操作系统中PATH环境变量的作用是什么?
30
12、Ghost的主要用途和常用方法?
30
13、在RedHat中,从root用户切到userl用户,一般用什么命令?
30
14、Linux中,一般怎么隐藏文件?
30
15、如何将自己的本地磁盘(D)做成FTP供远端主机使用?
30
16、对RUP.CMM,CMMI,XP,PSP.TSP的认识?
30
17、DNS是什么,它是如何工作的?
31
18、防火墙如何保证安全的?
主要有哪些?
31
19、目前流行的操作的系统有哪些?
请举例说明安装操作系统的注意事项?
33
20、简述一下c/s模式或者b/s模式?
33
21、TCP/UDP有哪些区别?
34
22、ISO模型?
HUB、tch、Router是ISO的第几层设备?
34
23、内存有哪几种存储组织结构.请分别加以说明?
34
人力资源面试题
34
1、你的测试职业发展是什么?
你自认为做测试的优势在哪里?
34
2、你为什么想离开目前的职务?
34
3、你对我们公司了解有多少?
34
4、你找工作时,最重要的考虑因素为何?
34
5、为什么我们应该录取你?
34
6、请谈谈你个人的最大特色。
34
7、一个测试工程师应具备那些素质和技能?
35
8、您认为在测试人员同开发人员的沟通过程中,如何提高沟通的效率和改善沟通的效果?
维持测试人员同开发团队中其他成员良好的人际关系的关键是什么?
35
9、在您以往的测试工作中,最让您感到不满意或者不堪回首的事情是什么?
您是如何来对待这些事情的?
35
10、在即将完成这次笔试前,您是否愿意谈一些自己在以往的学习和工作中获得的工作经验和心得体会?
(可以包括软件测试、过程改进、软件开发或者与此无关的其他方面)35
11、为什么选择测试这行?
35
12、你的工作通常能在时限内完成吗.(我想问一下就是她问这个问题的动机是什么)35
13、通常你对于别人批评你会有什么样的反应35
14、如果明知这样做不对,你还会依主管的指过去做吗?
35
15、如果你接到一个客户抱怨的电话,你确知无法解决他的问题,你会怎么处理?
35
16、请就软件测试人员应该具备什么样的基本素质说说你的看法。
36
17、你在五年内的个人目标和职业目标分别是什么?
36
18、你怎样做出自己的职业选择?
36
测试技术面试题
1、什么是兼容性测试?
兼容性测试侧重哪些方面?
参考答案:
兼容测试主要是检查软件在不同的硬件平台、软件平台上是否可以正常的运行,即是通常说的软件的可移植性。
兼容的类型,如果细分的话,有平台的兼容,网络兼容,数据库兼容,以及数据格式的兼容。
兼容测试的重点是,对兼容环境的分析。
通常,是在运行软件的环境不是很确定的情况下,才需要做兼容。
根据软件运行的需要,或者根据需求文档,一般都能够得出用户会在什么环境下使用该软件,把这些环境整理成表单,就得出做兼容测试的兼容环境了。
兼容和配置测试的区别在于,做配置测试通常不是CleanOS下做测试,而兼容测试多是在CleanOS的环境下做的。
2、我现在有个程序,发现在Windows上运行得很慢,怎么判别是程序存在问题还是软硬件系统存在问题?
参考答案:
1、检查系统是否有中毒的特征;
2、检查软件/硬件的配置是否符合软件的推荐标准;
3、确认当前的系统是否是独立,即没有对外提供什么消耗CPU资源的服务;
4、如果是C/S或者B/S结构的软件,需要检查是不是因为与服务器的连接有问题,或者访问有问题造成的;
5、在系统没有任何负载的情况下,查看性能监视器,确认应用程序对CPU/内存的访问情况。
3、测试的策略有哪些?
参考答案:
黑盒/白盒,静态/动态,手工/自动,冒烟测试,回归测试,公测(Beta测试的策略)
按照测试活动开始时间划分:
预防型测试策略:
尽早设计测试以预防缺陷
应对型测试策略:
测试活动在软件或系统实现后开始
典型的测试策略包括:
分析式的测试策略,例如,基于风险的测试
基于模型的测试策略,例如,运行概况测试
系统的方法,例如,基于质量特性的测试
基于特定过程或标准的方法,例如,基于IEEEStd829-2008的测试
动态和启发式的方法,例如,基于已知缺陷的攻击测试
咨询式的方法,例如,用户向导的测试
回归测试策略,例如,采用广泛的自动化进行回归测试
4、正交表测试用例设计方法的特点是什么?
参考答案:
用最少的实验覆盖最多的操作,测试用例设计很少,效率高,但是很复杂;
对于基本的验证功能,以及二次集成引起的缺陷,一般都能找出来;但是更深的缺陷,更复杂的缺陷,还是无能为力的;
具体的环境下,正交表一般都很难做的。
大多数,只在系统测试的时候使用此方法。
5、描述使用bugzilla缺陷管理工具对软件缺陷(BUG)跟踪的管理的流程?
参考答案:
就是Bugzilla的状态转换图。
6、你觉得bugzilla在使用的过程中,有什么问题?
参考答案:
界面不稳定;
根据需要配置它的不同的部分,过程很烦琐。
流程控制上,安全性不好界定,很容易对他人的Bug进行误操作;
没有综合的评分指标,不好确认修复的优先级别。
7、描述测试用例设计的完整过程?
参考答案:
需求分析+需求变更的维护工作;
根据需求得出测试需求;
设计测试方案,评审测试方案;
方案评审通过后,设计测试用例,再对测试用例进行评审;
8、单元测试的策略有哪些?
参考答案:
(自上而下的策略,自下而上的策略,孤立测试,综合测试)
逻辑覆盖、循环覆盖、同行评审、桌前检查、代码走查、代码评审、景泰数据流分析
9、LoadRunner分哪三部分?
参考答案:
用户动作设计;
场景设计;
测试数据分析;
10、LoadRunner进行测试的流程?
参考答案:
1、创建测试
2、创建虚拟用户脚本
3、创建运行场景
4、运行测试脚本
5、监视场景
6、分析测试的结果
以上,最好是结合一个案例,根据以上流程来介绍。
什么是并发?
在lordrunner中,如何进行并发的测试?
集合点失败了会怎么样?
参考答案:
在同一时间点,支持多个不同的操作。
LoadRunner中提供IP伪装,集合点,配合虚拟用户的设计,以及在多台电脑上设置,可以比较好的模拟真实的并发。
集合点,即是多个用户在某个时刻,某个特定的环境下同时进行虚拟用户的操作的。
集合点失败,则集合点的才操作就会取消,测试就不能进行。
12、使用QTP做功能测试,录制脚本的时候,要验证多个用户的登录情况/查询情况,如何操作?
参考答案:
分析用户登录的基本情况,得出一组数据,通过性测试/失败性测试的都有(根据TC来设计这些数据),然后录制登录的脚本,将关键的数据参数化,修改脚本,对代码进行加强,调试脚本。
13、QTP中的Action有什么作用?
有几种?
参考答案:
Action的作用
⏹用Action可以对步骤集进行分组
⏹步骤重组,然后被整体调用
⏹拥有自己的sheet
⏹组合有相同需求的步骤,整体操作
⏹具有独立的对象仓库
Action的种类
⏹可复用Action
⏹不可复用Action
⏹外部Action
14、TestDirector有些什么功能,如何对软件测试过程进行管理?
参考答案:
需求管理
⏹定义测试范围
⏹定义需求树
⏹描述需求树的功能点
测试计划
⏹定义测试目标和测试策略。
⏹分解应用程序,建立测试计划树。
⏹确定每个功能点的测试方法。
⏹将每个功能点连接到需求上,使测试计划覆盖全部的测试需求。
⏹描述手工测试的测试步骤
⏹指明需要进行自动测试的功能点
测试执行
⏹定义测试集合。
⏹为每个测试人员制定测试任务和测试日程安排。
⏹运行自动测试。
缺陷跟踪
⏹记录缺陷
⏹查看新增缺陷,并确定哪些是需要修正的
⏹相关技术人员修改缺陷
⏹回归测试
⏹分析缺陷统计图表,分析应用程序的开发质量。
15、你所熟悉的软件测试类型都有哪些?
请试着分别比较这些不同的测试类型的区别与联系(如功能测试、性能测试……)?
参考答案:
CompatibilityTesting(兼容性测试),也称“Configurationtesting(配置测试)”,测试软件是否和系统的其它与之交互的元素之间兼容,如:
浏览器、操作系统、硬件等。
验证测试对象在不同的软件和硬件配置中的运行情况。
Functionaltesting(功能测试),也称为behavioraltesting(行为测试),根据产品特征、操作描述和用户方案,测试一个产品的特性和可操作行为以确定它们满足设计需求。
本地化软件的功能测试,用于验证应用程序或网站对目标用户能正确工作。
使用适当的平台、浏览器和测试脚本,以保证目标用户的体验将足够好,就像应用程序是专门为该市场开发的一样。
Performancetesting(性能测试),评价一个产品或组件与性能需求是否符合的测试。
包括负载测试、强度测试、数据库容量测试、基准测试等类型。
16、软件缺陷(或者叫Bug)记录都包含了哪些内容?
如何提交高质量的软件缺陷(Bug)记录?
参考答案:
5C标准
Correct(准确):
每个组成部分的描述准确,不会引起误解;
Clear(清晰):
每个组成部分的描述清晰,易于理解;
Concise(简洁):
只包含必不可少的信息,不包括任何多余的内容;
Complete(完整):
包含复现该缺陷的完整步骤和其他本质信息;
Consistent(一致):
按照一致的格式书写全部缺陷报告。
17、Beta测试与Alpha测试有什么区别?
参考答案:
Betatesting(β测试),测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。
开发者通常不在测试现场
Alphatesting(α测试),是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试
18、软件的评审一般由哪些人参加?
其目的是什么?
参考答案:
在正式的会议上将软件项目的成果(包括各阶段的文档、产生的代码等)提交给用户、客户或有关部门人员对软件产品进行评审和批准。
其目的是找出可能影响软件产品质量、开发过程、维护工作的适用性和环境方面的设计缺陷,并采取补救措施,以及找出在性能、安全性和经济方面的可能的改进。
人员:
用户、客户或有关部门开发人员,测试人员,需求分析师都可以,就看处于评审那个阶段
19、测试活动中,如果发现需求文档不完善或者不准确,怎么处理?
参考答案:
测试需求分析发现需求文档不完善或者不准确,应该立即和相关人员进行协调交流。
20、阶段评审与项目评审有什么区别?
参考答案:
阶段评审对项目各阶段评审:
对阶段成果和工作
项目评审对项目总体评审:
对工作和产品
21、阐述工作版本的定义?
参考答案:
构造号:
BUILD
22、什么是桩模块?
什么是驱动模块?
参考答案:
桩模块:
被测模块调用的模块
驱动模块:
调用被测模块的模块
23、什么是扇入?
什么是扇出?
参考答案:
扇入:
被调次数,扇出:
调其它模块数目
24、你认为做好测试计划工作的关键是什么?
参考答案:
软件测试计划就是在软件测试工作正式实施之前明确测试的对象,并且通过对资源、时间、风险、测试范围和预算等方面的综合分析和规划,保证有效的实施软件测试;
做好测试计划工作的关键:
目的,管理,规范
1.明确测试的目标,增强测试计划的实用性
编写软件测试计划得重要目的就是使测试过程能够发现更多的软件缺陷,因此软件测试计划的价值取决于它对帮助管理测试项目,并且找出软件潜在的缺陷。
因此,软件测试计划中的测试范围必须高度覆盖功能需求,测试方法必须切实可行,测试工具并且具有较高的实用性,便于使用,生成的测试结果直观、准确
2.坚持“5W”规则,明确内容与过程
“5W”规则指的是“What(做什么)”、“Why(为什么做)”、“When(何时做)”、“Where(在哪里)”、“How(如何做)”。
利用“5W”规则创建软件测试计划,可以帮助测试团队理解测试的目的(Why),明确测试的范围和内容(What),确定测试的开始和结束日期(When),指出测试的方法和工具(How),给出测试文档和软件的存放位置(Where)。
3.采用评审和更新机制,保证测试计划满足实际需求
测试计划写作完成后,如果没有经过评审,直接发送给测试团队,测试计划内容的可能不准确或遗漏测试内容,或者软件需求变更引起测试范围的增减,而测试计划的内容没有及时更新,误导测试执行人员。
4.分别创建测试计划与测试详细规格、测试用例
应把详细的测试技术指标包含到独立创建的测试详细规格文档,把用于指导测试小组执行测试过程的测试用例放到独立创建的测试用例文档或测试用例管理数据库中。
测试计划和测试详细规格、测试用例之间是战略和战术的关系,测试计划主要从宏观上规划测试活动的范围、方法和资源配置,而测试详细规格、测试用例是完成测试任务的具体战术。
25、你认为做好测试用例工作的关键是什么?
参考答案:
需求和设计文档的理解程度,对系统的熟悉程度
26、简述一下缺陷的生命周期?
参考答案:
提交->确认->分配->修复->验证->关闭
27、软件的安全性应从哪几个方面去测试?
参考答案:
(1)用户认证机制:
如数据证书、智能卡、双重认证、安全电子交易协议
(2)加密机制
(3)安全防