软件测试面试题三篇.docx
- 文档编号:15856958
- 上传时间:2023-07-08
- 格式:DOCX
- 页数:66
- 大小:74.45KB
软件测试面试题三篇.docx
《软件测试面试题三篇.docx》由会员分享,可在线阅读,更多相关《软件测试面试题三篇.docx(66页珍藏版)》请在冰点文库上搜索。
软件测试面试题三篇
软件测试面试题三篇
篇一:
软件测试面试必问题及答案
1.怎么做好文档测试?
仔细阅读,跟随每个步骤,检查每个图形,尝试每个示例,检查文档的编写是否满足文档编写的目的,内容是否齐全,正确,完善.标记是否正确.
软件测试分哪2种方法?
分别适合什么情况?
软件测试分2种:
白盒测试和黑盒测试。
白盒测试又称为结构测试、逻辑驱动测试或基于程序本身的测试,它着重于程序的内部结构及算法,通常不关心功能与性能指标;黑盒测试又称功能测试、数据驱动测试或基于规格说明的测试,它实际上是站在最终用户的立场,检验输入输出信息及系统性能指标是否符合规格说明书中有关功能需求及性能需求的规定
2.白盒测试有几种方法?
总体上分为静态方法和动态方法两大类。
静态:
关键功能是检查软件的表示和描述是否一致,没有冲突或者没有歧义
动态:
语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。
3.系统测试计划是否需要同行审批,为什么?
需要,系统测试计划属于项目阶段性关键文档,因此需要评审。
4.Alpha测试与beta的区别?
Alpha测试在系统开发接近完成时对应用系统的测试;测试后仍然会有少量的设计变更。
这种测试一般由最终用户或其它人员完成,不能由程序或测试员完成。
Beta测试当开发和测试根本完成时所做的测试,最终的错误和问题需要在最终发行前找到。
这种测试一般由最终用户或其它人员完成,不能由程序员或测试员完成。
5.比较负载测试,容量测试和强度测试的区别?
负载测试:
在一定的工作负荷下,系统的负荷及响应时间。
强度测试:
在一定的负荷条件下,在较长时间跨度内的系统连续运行给系统性能所造成的影响。
容量测试:
容量测试目的是通过测试预先分析出反映软件系统应用特征的某项指标的极限值(如最大并发用户数、数据库记录数等),系统在其极限值状 态下没有出现任何软件故障或还能保持主要功能正常运行。
容量测试还将确定测试对象在给定时间内能够持续处理的最大负载或工作量。
容量测试的目的是使系统承受超额的数据容量来发现它是否能够正确处理。
容量测试是面向数据的,并且它的目的是显示系统可以处理目标内确定的数据容量。
6.测试结束的标准是什么?
用例全部测试。
覆盖率达到标准。
缺陷率达到标准。
其他指标达到质量标准
7.描述软件测试活动的生命周期?
测试周期分为计划、设计、实现、执行、总结。
其中:
计划:
对整个测试周期中所有活动进行规划,估计工作量、风险,安排人力物力资源,安排进度等;
设计:
完成测试方案,从技术层面上对测试进行规划;
实现:
进行测试用例和测试规程设计;
执行:
根据前期完成的计划、方案、用例、规程等文档,执行测试用例。
总结:
记录测试结果,进行测试分析,完成测试报告。
8.软件的缺陷等级应如何划分?
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.可输入区域和只读区域没有明显的区分标志
9.当开发人员说不是BUG时,你如何应付?
开发人员说不是bug,有2种情况,一是需求没有确定,所以我可以这么做,这个时候可以找来产品经理进行确认,需不需要改动,3方商量确定好后再看要不要改。
二是这种情况不可能发生,所以不需要修改,这个时候,我可以先尽可能的说出是BUG的依据是什么?
如果被用户发现或出了问题,会有什么不良结果?
程序员可能会给你很多理由,你可以对他的解释进行反驳。
如果还是不行,那我可以给这个问题提出来,跟开发经理和测试经理进行确认,如果要修改就改,如果不要修改就不改。
其实有些真的不是bug,我也只是建议的方式写进TD中,如果开发人员不修改也没有大问题。
如果确定是bug的话,一定要坚持自己的立场,让问题得到最后的确认。
10.你为什么想离开目前的职务?
因为公司运作情况并不理想,公司需要调整部门体系,公司考虑到缩减部门人员,所以大批量的裁员(有6,7个),这是我的第一份工作,对公司也有较深的感情,因为在这里我找到了职业理想(就是测试),所以公司需要精简人员,我自愿退出。
虽然很舍不得,但我将会有新的发挥能力的舞台。
11.您认为做好测试用例设计工作的关键是什么?
白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果
黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。
不可能做到完全测试,以最少的用例在合理的时间内发现最多的问题
12.请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。
黑盒测试:
已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。
白盒测试:
已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。
软件的黑盒测试意味着测试要在软件的接口处进行。
这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。
因此黑盒测试又叫功能测试或数据驱动测试。
黑盒测试主要是为了发现以下几类错误:
1、是否有不正确或遗漏的功能?
2、在接口上,输入是否能正确的接受?
能否输出正确的结果?
3、是否有数据结构错误或外部信息(例如数据文件)访问错误?
4、性能上是否能够满足要求?
5、是否有初始化或终止性错误?
软件的白盒测试是对软件的过程性细节做细致的检查。
这种方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。
通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。
因此白盒测试又称为结构测试或逻辑驱动测试。
白盒测试主要是想对程序模块进行如下检查:
1、对程序模块的所有独立的执行路径至少测试一遍。
2、对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。
3、在循环的边界和运行的界限内执行循环体。
4、测试内部数据结构的有效性,等等。
单元测试(模块测试)是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。
通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。
单元测试是由程序员自己来完成,最终受益的也是程序员自己。
可以这么说,程序员有责任编写功能代码,同时也就有责任为自己的代码编写单元测试。
执行单元测试,就是为了证明这段代码的行为和我们期望的一致。
集成测试(也叫组装测试,联合测试)是单元测试的逻辑扩展。
它的最简单的形式是:
两个已经测试过的单元组合成一个组件,并且测试它们之间的接口。
从这一层意义上讲,组件是指多个单元的集成聚合。
在现实方案中,许多单元组合成组件,而这些组件又聚合成程序的更大部分。
方法是测试片段的组合,并最终扩展进程,将您的模块与其他组的模块一起测试。
最后,将构成进程的所有模块一起测试。
系统测试是将经过测试的子系统装配成一个完整系统来测试。
它是检验系统是否确实能提供系统方案说明书中指定功能的有效方法。
(常见的联调测试)
系统测试的目的是对最终软件系统进行全面的测试,确保最终软件系统满足产品需求并且遵循系统设计。
验收测试是部署软件之前的最后一个测试操作。
验收测试的目的是确保软件准备就绪,并且可以让最终用户将其用于执行软件的既定功能和任务。
验收测试是向未来的用户表明系统能够像预定要求那样工作。
经集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进一步验证软件的有效性,这就是验收测试的任务,即软件的功能和性能如同用户所合理期待的那样。
篇二:
软件测试面试十大必考题目
面试时,有几个问题是公司面试人员常常会提出的,针对这些问题好好准备,在面试时也就不会哑口无言,无言以对了,下面就面试十大必考题做出分析,也许对HR经理也是一个小参考:
(1)为什么想进本公司?
这通常是面试官最先问到的问题。
此时面试官就开始评断录用与否了,建议大家先判断自己去应徵的工作性质,是专业能力导向呢,或是需要沟通能力,其实现在市场多以服务为方向,所以口才被视为基本能力之一,所以在此时就要好好表现自己的口才,而口才较差者就务必表现出自己的专业能力即诚意,弥补口才不足的部分。
回答这个问题时,一定要积极正面,如想要使自己能有更好的发展空间,希望能在相关领域中有所发展,希望能在公司多多学习等等﹔此时可以稍稍夸一下面试公司,但切记一定要诚恳,不然可是会画蛇添足,得不偿失哦!
对于社会新鲜人的建议则是,由于之前没有工作经验,所以建议你可以坦承的说出自己的动机,不过用语还是要思考一下
(2)喜欢这份工作的哪一点?
相信其实大家心中一定都有答案了吧!
每个人的价值观不同,自然评断的标准也会不同,但是,在回答面试官这个问题时可不能太直接就把自己心理的话说出来,尤其是薪资方面的问题,不过一些无伤大雅的回答是不错的考虑,如交通方便,工作性质及内容颇能符合自己的兴趣等等都是不错的答案,不过如果这时自己能仔细思考出这份工作的与众不同之处,相信在面试上会大大加分。
(3)自己的优缺点为何?
有许多面试官都喜欢问这个问题,目的是在于检视人才是否适当,求职者的诚恳度等等,在这之前应该好好分析自己,将自己的优点与缺点列张单子,在其中挑选亦是缺点亦是优点的部分,在回答问题时,以优点作为主要诉求,强调可以为公司带来利益的优点,如积极,肯学习是最普遍的回答,而缺点部分则建议选择一些无伤大雅的小缺点,或是上述那些模嶙两可的优缺点作为回答,这样才不会使面试官太过针对缺点做发挥,造成面试上的困难。
(4)对公司的了解有多少?
这时准备的功夫就派上用场,将你之前所吸收的信息发挥出来吧!
至少也要知道公司的产品是哪些,提供哪些服务等等,不然面试官一问当场傻在那儿就糗大了,所以一定要事前准备!
(5)对工作的期望与目标何在?
这是面试者用来评断求职者是否对自己有一定程度的期望、对这份工作是否了解的问题。
对于工作有确实学习目标的人通常学习较快,对于新工作自然较容易进入状况,这时建议你,最好针对工作的性质找出一个确实的答案,如业务员的工作可以这样回答:
“我的目标是能成为一个超级业务员,将公司的产品广泛的推销出去,达到最好的业绩成效;为了达到这个目标,我一定会努力学习,而我相信以我认真负责的态度,一定可以达到这个目标。
”其他类的工作也可以比照这个方式来回答,只要在目标方面稍微修改一下就可以了。
(6)为什么要离职?
回答这个问题时一定要小心,就算在前一个工作受到在大的委屈,对公司有多少的怨言,都千万不要表现出来,尤其要避免对公司本身主管的批评,避免面试官的负面情绪及印象;建议此时最好的回答方式是将问题归咎在自己身上,例如觉得工作没有学习发展的空间,自己想在面试工作的相关产业中多加学习,或是前一份工作与自己的生涯规划不合等等,回答的答案最好是积极正面的。
(7)选择这份工作的原因为何?
这是面试官用来测试应聘者对工作理解度的问题,藉以了解求职者只是基于对工作的憧憬或是确实的兴趣来应徵这份工作,此时之前所强调的事先研究功夫又再度派上用场,建议你的回答应以个人的兴趣配合工作内容特质,表现出高度的诚意,这样才可以为自己铺下迈向成功之路。
(8)你认为相关产业的发展为何?
这也是事前准备的功夫,多阅读一些相关的报章杂志,做一些思考,表现出自己对此相关产业的的认识,如果是同业转职者,可强调以自己的经验为基础所做的个人见解,但若是初次接触此一行业,建议采取较为保守的方式,以目前资讯所提供的资料为主作答,表现出高度兴趣及诚意为最高指导原则。
(9)你希望的待遇为多少?
这是一个非常敏感的问题,其实在目前,一般大型企业在招聘时就会事先说明基本底薪等等薪资待遇为何,而一般中小型企业有许多仍以个人能力,面试评价做作为议薪的标准,所以建议求职者可以利用现在网络科技查询薪资定位的相关资料,配合个人的价值观,经验,能力等等条件,做出最基本的薪资底限,这时建议无工作经验者应采取保守的态度为准,以客观资料作为最主要考量重点,“依公司规定”的回答是不被建议的,这样不但表示出自己对于工作的自信程度不高,在薪资无法符合个人要求时更会造成许多困扰。
(10)在工作中学习到了些什么?
这是针对转职者提出的问题,建议此时可以配合面试工作的特点作为主要依据来回答,如业务工作需要与人沟通,便可举出之前工作与人沟通的例子,经历了哪些困难,学习到哪些经验,把握这些要点做陈述,就可以轻易过关了
篇三:
软件测试面试题汇总
测试技术面试题
1、什么是兼容性测试?
兼容性测试侧重哪些方面?
参考答案:
兼容测试主要是检查软件在不同的硬件平台、软件平台上是否可以正常的运行,即是通常说的软件的可移植性。
兼容的类型,如果细分的话,有平台的兼容,网络兼容,数据库兼容,以及数据格式的兼容。
兼容测试的重点是,对兼容环境的分析。
通常,是在运行软件的环境不是很确定的情况下,才需要做兼容。
根据软件运行的需要,或者根据需求文档,一般都能够得出用户会在什么环境下使用该软件,把这些环境整理成表单,就得出做兼容测试的兼容环境了。
兼容和配置测试的区别在于,做配置测试通常不是CleanOS下做测试,而兼容测试多是在CleanOS的环境下做的。
2、我现在有个程序,发现在Windows上运行得很慢,怎么判别是程序存在问题还是软硬件系统存在问题?
参考答案:
1、检查系统是否有中毒的特征;
2、检查软件/硬件的配置是否符合软件的推荐标准;
3、确认当前的系统是否是独立,即没有对外提供什么消耗CPU资源的服务;
4、如果是C/S或者B/S结构的软件,需要检查是不是因为与服务器的连接有问题,或者访问有问题造成的;
5、在系统没有任何负载的情况下,查看性能监视器,确认应用程序对CPU/内存的访问情况。
3、测试的策略有哪些?
参考答案:
黑盒/白盒,静态/动态,手工/自动,冒烟测试,回归测试,公测(Beta测试的策略)
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标准
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、你认为做好测试用例工作的关键是什么?
参考答案
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试 试题