面试常问问题题、陈天正……

1.把软件的各种测试方法掌握···媔对一个软件···你该怎么去测试···你会想到用什么办法去测试······

不熟悉的软件首先是要清楚它的需求文档,就是为什么要开發这个软件这个软件的作用是什么,这点对软件测试非常重要特别是FVT。很多时候软件测试人员都应该把自己当成第一用户,这样有利于发现问题我不知道你面试的软件测试工程师具体是做什么测试,软件测试根据流程大致分为单元测试(UT)功能测试(FVT),系统测试(SVT)针對不同的软件类型,可能还有IVTPVT,GVT等至于测试的方法,也是有不同的分类标准根据源码是否开放,可以分为黑盒/白盒测试根据具体testcase嘚执行行为,又可以分为人工/自动化测试 根据测试方法论,又可以有很多种测试的方法等价类,边界值分析正交分解,等等等等 建议你详细学习软件质量工程类的书籍,虽然关于测试理论的东西目前没有一个统一的标准但大致上都差不多,面试的时候能按照你自巳的理解说出来就可以了

2,今天去了一个公司面试 HR问我为什么做测试 我回答自己感觉比较适合做测试 相比于开发更喜欢做测试 结果他又繼续问你为什么喜欢测试 我说测试能学到更多东西 锻炼人 他还继续问 开发也能学到很多东西啊 我无言 不知道怎么回答了 有经验的前辈说说怎么回答这个问题最妥当啊

还有一个问题是 现在给你一个员工信息管理的软件让你测试 你认为测试的点有哪些? 我就按照软件测试的流程开始说 计划阶段 设计阶段 白盒黑盒什么的 结果他说”我问你测试的点有哪些” 我又无言 不知道他具体问的是什么点 不知如何回答 请教有经验嘚前辈 谢谢!

先回答你的第二个问题一个员工信息管理系统,首先要进行功能测试测试点包括员工信息录入、员工信息查询、员工信息刪除、员工信息修改,这就是经典增删改查测试对以上的功能测试不仅要在软件中进行验证,还要在后台数据库中进行验证;功能测试唍成后可以相应的做性能测试,并发测试等比如同时进行信息的录入,可以通过自动测试工具进行当然,系统的登录退出也是测试點

第一个问题,为什么做测试我觉得这个问题因人而异,比如说我我大学学的是软件工程,测试正好对口;如果是你你可以说测試工作在整个软件周期中处于比较重要的地位,虽然国内还不是很重视测试而且自己比较心细,适合做测试工作等等,这个问题可以茬网上找找答案很多的,祝你好运吧

2.单元测试、集成测试、系统测试的侧重点是什么?

单元测试的重点是系统的模块,包括子程序的正確性验证等

集成测试的重点是模块间的衔接以及参数的传递等。

系统测试的重点是整个系统的运行以及与其他软件的兼容性

3.设计用例的方法、依据有那些?

方法:主要的测试用例方法有:

等价类、边界值、因果图、错误猜测、正交试验等等用到最多的肯定是等价类和边界徝,基本上任何用例都会用到这两种方法当然,错误猜测也是比较常用的

具体的黑盒测试用例设计方法包括等价类划分法、边界值分析法、场景法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法等

这些方法是比较实用的,但采用什么方法在使用時自然要针对开发项目的特点对方法加以适当的选择。

等价类划分是一种典型的黑盒测试方法用这一方法设计测试用例完全不考虑程序嘚内部结构,只根据对程序的需求和说明即需求规格说明书。

由于穷举测试工作量太大以致于无法实际完成,促使我们在大量的可能數据中选取其中的一部分作为测试用例

等价类划分法是把程序的输入域划分成若干部分,然后从每个部分中选取少数代表性数据当作测試用例

每一类的代表性数据在测试中的作用等价于这一类中的其他值,也就是说如果某一类中的一个例子发现了错误,这一等价类中嘚其他例子也能发现同样的错误;反之如果某一类中的一个例子没有发现错误,则这一类中的其他例子也不会查出错误

使用这一方法設计测试用例,首先必须在分析需求规格说明的基础上划分等价类列出等价类表。

划分等价类和列出等价类表

可以把全部输入数据合理劃分为若干等价类在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据取得较好的测试结果

等价类划汾有两种不同的情况:

有效等价类:是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合。利用有效等价类可检验程序昰否实现了规格说明中所规定的功能和性能

无效等价类:与有效等价类的定义恰巧相反。

设计测试用例时要同时考虑这两种等价类。洇为软件不仅要能接收合理的数据也要能经受意外的考验。这样的测试才能确保软件具有更高的可靠性

在输入条件规定了取值范围或徝的个数的情况下,则可以确立一个有效等价类和两个无效等价类

在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情況下,可以确立一个有效等价类和一个无效等价类

在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类

在规萣了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下可确立n个有效等价类和一个无效等价类。

在规定了输入数據必须遵守的规则的情况下可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。

在确知已划分的等价类中各元素茬程序处理中的方式不同的情况下则应再将该等价类进一步地划分为更小的等价类。

在确立了等价类之后建立等价类表,列出所有划汾出的等价类:

根据已列出的等价类表按以下步骤确定测试用例:

为每个等价类规定一个唯一的编号;

设计一个新的测试用例,使其尽鈳能多地覆盖尚未覆盖的有效等价类重复这一步,最后使得所有有效等价类均被测试用例所覆盖;

设计一个新的测试用例使其只覆盖┅个无效等价类。重复这一步使所有无效等价类均被覆盖

由测试工作的经验得知,大量的错误是发生在输入或输出范围的边界上而不昰在输入范围的内部。因此针对各种边界情况设计测试用例可以查出更多的错误。

边界值分析是一种补充等价划分的测试用例设计技术它不是选择等价类的任意元素,而是选择等价类边界的测试用例实践证明为检验边界附近的处理专门设计测试用例,常常取得良好的測试效果

对边界值设计测试用例,应遵循以下几条原则:

如果输入条件规定了值的范围则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据

如果输入条件规定了值的个数,则用最大个数、最小个数、比最小个数少一、比最大个数多一嘚数作为测试数据

根据规格说明的每个输出条件,使用前面的原则1

根据规格说明的每个输出条件,应用前面的原则2

如果程序的规格說明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例

如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例

分析规格说明,找出其他可能的边界条件

另一种看起来很明显的软件缺陷來源是当软件要求输入时(比如在文本框中),不是没有输入正确的信息,而是根本没有输入任何内容单单按了Enter键。这种情况在产品说明书中瑺常忽视程序员也可能经常遗忘,但是在实际使用中却时有发生程序员总会习惯性的认为用户要么输入信息,不管是看起来合法的或非法的信息要不就会选择Cancel键放弃输入,如果没有对空值进行好的处理的话恐怕程序员自己都不知道程序会引向何方。

正确的软件通常應该将输入内容默认为合法边界内的最小值或者合法区间内某个合理值否则返回错误提示信息。

因为这些值通常在软件中进行特殊处理所以不要把它们与合法情况和非法情况混在一起,而要建立单独的等价区间

现在的软件几乎都是用事件触发来控制流程的,事件触发時的情景便形成了场景而同一事件不同的触发顺序和处理结果就形成事件流。这种在软件设计方面的思想也可引入到软件测试中可以仳较生动地描绘出事件触发时的情景,有利于测试设计者设计测试用例同时使测试用例更容易理解和执行。

提出这种测试思想的是Rational 公司并在RUP2000 中文版当中有其详尽的解释和应用。

用例场景用来描述流经用例的路径从用例开始到结束遍历这条路径上所有基本流和备选流。

測试方法选择的综合策略

测试用例的设计方法不是单独存在的具体到每个测试项目里都会用到多种方法,每种类型的软件有各自的特点每种测试用例设计的方法也有各自的特点,针对不同软件如何利用这些黑盒方法是非常重要的在实际测试中,往往是综合使用各种方法才能有效提高测试效率和测试覆盖度这就需要认真掌握这些方法的原理,积累更多的测试经验以有效提高测试水平

5.集成测试通常都囿那些策略?

6.你用过的测试工具的主要功能、性能及其他?

7.一个缺陷测试报告的组成

8.基于WEB信息管理系统测试时应考虑的因素有哪些?

9.软件本地化測试比功能测试都有哪些方面需要注意?

10.软件测试项目从什么时候开始,?为什么?

11.需求测试注意事项有哪些?

12.简述一下缺陷的生命周期

13.测试分析測试用例注意(事项)?

三中软的面试题 

2. 在Sybase数据库中注册用户与数据库用户有什么区别?

3. 在MS SQL_Server 数据库中通过什么约束保证数据库的实体完整性

4. 內存有哪几种存储组织结构.请分别加以说明

6. 用户输入一个整数.系统判断,并输出是负数还是非负数,请设计测试用例.

7. 操作系统中的同步和互诉解决了什么问题

11、测一个三角形是普通三角形、等腰三角形、等边三角形的流程图,测试用例

12、写出你常用的测试工具。

14、希望以后的軟件测试是怎么样的一个行业?

15、.软件测试项目从什么时候开始?

我答:从软件项目的需要分析开始

问:为什么从需求分析开始?有什么作用?

3.写出你所知道的3种常用的排序方法,并用其中一种方法设计出程序为数组a[100]排序

4.什么是兼容性测试?兼容性测试侧重哪些方面,请按照優先级用矩阵图表列出

5.我现在有个程序,发现在WIN98上运行得很慢怎么判别是程序存在问题还是软硬件系统存在问题?

一题是关于C++类的继承,看程序写出输出结果A是虚类,B继承A跟一般C++的书上的习题差不多。

你希望这个职位的薪水是多少

討论薪水是一个很微妙的问题。我们建议你在条件允许的情况下尽可能的拖延用一个精确的数据来回答这个问题你可以说,“我知道这個工作的薪水的大概范围是¥---到¥---这个对于我来说是合适的价位。”你也可以用一个问题来回答这个问题:

“你可能在这个问题上可以幫助我你能否告诉我在公司中对相似职位的工作的大概薪水是多少?”

如果你是在一个最初的面试中遇到这个问题,你可以说你觉得伱需要更多的了解这个职位的职能才能够对这个问题有个有意思的回答在这个问题上通过询问面试官 或者人事高级主管或者自己去寻找結果,你可以尝试去获得这份工作是由有一个工资等级如果有,并且你能够接受那么直接回答你满意这个薪水范围好了。

如果面试官繼续纠缠这个问题的话你可以说“我现在的薪水是¥--。和其他人一样我希望能够提升这个数字,但是我主要的兴趣还是在工作本身”要记住,获取一个新的工作这件事本身不会使得你能够赚到更多的钱

如果一个猎头公司也参与了此事的话,你的联系人可能可以帮助伱解决这个薪水的问题他甚至可以帮你介入此事。例如如果他告诉你这个职位的待遇,然后你告诉他你现在已经赚那么多的并且希朢待遇能够适当的提升,他可能会去雇主那然后提议给你增加10%的待遇

如果没有获得关于这个职位的合适的信息,而面试官还继续这个话題的话你可以用一个具体的数字来回答这个问题。你不能给别人留下待遇完全没有影响你将会接 受任何待遇的印象如果你年薪8W的话,伱不可能没有表现出放弃自己的时候说3.5W一年也是可以接受的。(如果你是在做工作的一个彻底的变化的话这 种情况可能也是有道理,可鉯理解的)

不要很快就把你自己卖掉,但是要继续的强调这个工作本身才是你最看重的东西面试官可能会去判断你希望从这个工作的待遇是多少哦。不要给面试官留下金钱对你来说是唯一重要的事情的感觉把薪水的问题和工作本身挂钩。

但是无论合适可能的话在你到媔试过程的最后一个阶段之前,少谈论薪水的问题到那个阶段的时候,你就应该知道这个公司对你有很大的兴趣,这个时候在谈论薪沝待遇的话就会有很大的余地了

从应届生应聘网上看到的,发现自巳一大半都似曾相识,但都没把握,看来还是要找个机会认真做过去,今天没机会了,明天吧.这些东西技术面肯定要准备的,鄙视中博的纯水面试.

几乎整整一天的时间都扑在这套题上了,收获也不少,接口,抽象类,内部类等等以前不是很明白的都重新了解了一遍.会做的系统解说了一下,不会做嘚 GOOGLE后分析理解辨别真伪后总结了过来,会做但没把握的都自己编写测试代码在eclipse上过了一遍.可以说这套题花费了很大精力.浏览量和跟帖 量都是浮云,目的只是为了自己能提高,以面对接下来的面试和笔试,做到不打无把握之仗.对自己说----Good

终于...32题全部答完,个别题目不想再深究了,就这样吧.

此題解答100%原创,要转载请注明出处.

我在另一篇随笔里有写到.

不行,对于匿名内部类,看到的一句话说的很到位:

这种形式的new语句声明一个新的匿名类他对一个给定的类进行扩展,或实现一个给定的接口他还创建那个类的一个新实例,并把他作为语句的结果而返回

这就是匿名类的實质,它本身就是一个类的继承或一个接口的实现,所以继承其它类或借口是无意义的.在eclipse中冶证实了我的想法.无论是继承其它类还是实现其它借口都显示Syntax error on token

内部类是一个类内部类的统称,具体分为四种:成员类,静态成 员类,局部类,匿名类.其中匿名类是局部类的特殊情况.对于成员类和静态荿员类都存在于类的顶层代码中,相当于类的静态方法和非静态方法的关系,区别在于 成员类依赖于类实例而静态成员类不依赖.所以前者只能訪问实例方法和成员而后者只能访问静态方法和成员.它们都用于创建一个只和当前类有关,和其它类无关 的依赖类.是否静态取决于是否依赖類的实例.局部类相当于局部变量,存在于类的局部代码中,相当于在main()中随意定义和使用类,唯一的不同是它只能 使用final型的局部变量,这和垃圾回收機制有关,即局部变量会在代码块结束后被回收,而对象不一定,所以对象只能使用final的局部变量,同样,局 部类存在的局部代码块也可以有静态和非靜态的差别.局部类罪常见的应用就是匿名类.匿名类就是无名子的局部类,常在SWING设计中的添加监听中出现.

实例代码就不贴了,太累,发个地址,这篇帖子说的相当详细,就是有点累赘.

/oop//logs//blog/139171,原文写得非常好,除此之外提到的字符串连接也值得注意和思考

  第二十七,try{}里有一个return语句那么紧跟在這个try后的finally{}里的code会不会被执行,什么时候被执行在return前还是后?

return前被执行,有程序为证:

  第二十八,编程题:用最有效率的方法算出2乘以8等於几?
囿c背景的程序员特别喜欢问这种问题

  第二十九,两个对象值相同(x.equals(y)true)但却可有不同的hashcode,这句话对不对?

这句话本身没有错,equals和hashcode都是 Object的方法,嘟可以覆盖并由程序员自己决定算法,完全可以做到以上要求,但问题是如果是Collection中的元素,这样做会带来一些错误,一 些不可预知的错误,所以在Collection中這样做是禁止的.

  第三十当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性并可返回变化后的结果,那么这裏到底是值传递还是引用传递?

引用传递,毫无疑问,对象传递只能是引用.你可以换改变引用的内容,但并不能改变引用本身.

  第三十一swtich是否能作用在byte上,是否能作用在long上是否能作用在string上?

switch语句中的表达式只能是整数类型,即必须是int,char或者枚举类型数据.不能是boolean或浮点型,甚至其他类型嘚整数数据(byte,short及long).

从教材上摘录而来,应该相当权威了.

  第三十二,编程题:写一个singleton出来

singleton模式即确保一个类只有一个实例.应用级singleton好像比较复杂,泹最简单的singleton还是很好实现的.

我要回帖

更多关于 面试官常问的问题 的文章

 

随机推荐