软件测试面试题资料.docx

上传人:b****3 文档编号:27293756 上传时间:2023-06-28 格式:DOCX 页数:11 大小:23.80KB
下载 相关 举报
软件测试面试题资料.docx_第1页
第1页 / 共11页
软件测试面试题资料.docx_第2页
第2页 / 共11页
软件测试面试题资料.docx_第3页
第3页 / 共11页
软件测试面试题资料.docx_第4页
第4页 / 共11页
软件测试面试题资料.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

软件测试面试题资料.docx

《软件测试面试题资料.docx》由会员分享,可在线阅读,更多相关《软件测试面试题资料.docx(11页珍藏版)》请在冰豆网上搜索。

软件测试面试题资料.docx

软件测试面试题资料

面试必问题及答案

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.输入三个数据a,b,c,输入三个数构成三角形,测试a,b,c构成三角形,计算其面积(设计测试用例时面积不用实际计算出来,用X代替面积)

1)inta,b,c

2)1>a;b,c<100

3)intarea

2.根据中国象棋中的棋子“马”的走向路径,画出因果图并形成判定表。

二.逻辑题

1.有3个黑帽子,2个白帽子,让三个人并排站成一排,给这三个人每个人都戴上帽子(最后一个人能看到前面两个人戴的帽子的颜色和样子,中间那个人能够看到自己的左右两个人的帽子的颜色和样子,最前面的那个人什么也看不到),如果问最后那个人自己戴的什么颜色的帽子,他说不知道,那就继续问下一个人。

其实他们三个戴的都是黑色的帽子,最前面那个人知道自己戴的是什么颜色的帽子,为什么?

2.猴子身边有100根香蕉,离猴子家有50米,猴子把香蕉拿回家一次只能拿50根(多一根就会累死),猴子每走1米就吃掉一根,请问猴子到家能拿多少根香蕉?

三.其它

1.软件测试用例设计的关键是什么?

2.软件测试结束的标准是什么?

逻辑题:

A    B    C    结论

白    白    白    只有2个白帽子,条件不符合

白    白    黑    如果C第一个说知道那就是C看到AB全为白(会说自己是黑,只有2个白帽子,剩下肯定黑),所以此条件在C说不知道时排除

白    黑    黑    

白    黑    白    如果B第一个说知道那就是B看到AC全为白(会说自己是黑,只有2个白帽子,剩下肯定黑),所以此条件在B说不知道时排除

黑    黑    黑    

黑    白    白    

黑    白    黑    

黑    黑    白    

好像也不能肯定,但A黑的几率比较大,剩下80%几率黑

第2题:

猴子带50根跑25米处放下,吃剩下25根

    再回去带50根跑到25米的地方,还剩下25根

    2次加起来50根再一起带回去,到家剩下25根

逻辑题1

从起点先带50个香蕉往前走17米,吃掉17个香蕉。

留下16个香蕉在17米处,带17个香蕉返回起点。

(n)

从起点再带50个香蕉往前走17米,到17米处,吃掉17个香蕉,不用返回。

此时共剩香蕉49个。

(j)

从17米处带49个香蕉回家,走33米到家,又吃掉33个香蕉,仅剩16个香蕉带回家。

(z)

猴子返回时也要吃香蕉的

X+Y=50;100-3X<=50;Z+3X+Y=100求Z值即可!

大型软件的测试方法

  进行大型软件项目开发时,一定会遇到各个功能的测试问题,设计一个好的解决方法往往能够起到事半功倍的效果。

本文以计算机图形学软件工程项目为例,设计出一个简单的测试方案。

  一个大的工程往往是由若干个功能串联起来的,每个功能最好都要有相应的测试代码,而图形学工程最好的测试方法是将算出的结果显示出来。

如果直接将大量的测试代码加到模块中,代码就会显得比较臃肿难看,影响了程序可阅读性。

如果测试完就立刻删掉这些测试的代码又很危险,因为测试代码在未来很长一段时间内,都可能会被再次用到。

  很多测试代码都拥有一定的相似性,本文所涉及到的测试代码主要分为两个大的步骤:

一个是运行驱动,另外一个是显示。

因而,抽取出测试接口Test就包含了这样两个纯虚方法(C++语言)。

classTest

{

public:

 virtualvoidRun()=0;

 virtualvoidRender()=0;

};

  各个不同功能的测试块都要继承这个接口,例如在我的解决方案里就设计出了很多个测试实例类型:

 1:

 classModuleDzy;

 2:

 classTestToothPca:

publicTest

 3:

 {

 4:

 public:

 5:

  TestToothPca(ModuleDzy*module);

 6:

  voidRun();

 7:

  voidRender();

 8:

 private:

 9:

  ModuleDzy*module_;

10:

  MeshModel*tooth_;

11:

 };

 1:

 classSnaxel;

 2:

 classModuleDzy;

 3:

 classContour;

 4:

 classTestBoundary:

publicTest

 5:

 {

 6:

 public:

 7:

  TestBoundary(ModuleDzy*module);

 8:

  voidRun();

 9:

  voidRender();

10:

 private:

11:

  ModuleDzy*module_;

12:

  MeshModel*tooth_;

13:

  std:

:

vectorcross_;

14:

  Snaxel*boundary_[30];

15:

  Contour*contour_;

16:

 };

TAG:

软件测试软件测试方法

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 院校资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1