一套比较完整的软件测试人员面试题(包括技术和人力资源方面)
你为什么选择软件测试行业
因为之前有了解软件测试这个行业,觉得他的发展前景很好。也对
根据你以前的工作经验描述一下软件开发、测试过程,由那些角色负责,你做什么
要有架构师、开发经理、测试经理、程序员、测试员
我在里面主要是负责所分到的模块执行测试用例。
结合你以前的学习和工作经验,你认为如何做好测试。
根据我以前的工作经验,我认为做好工作首先要有一个好的沟通,只有沟通无障碍了,才会有好的协作,才会有跟好的效率,再一个就是技术一定要过关,做测试要有足够的耐心,和一个良好的工作习惯,不懂的就问,实时与同事沟通这样的话才能做好测试工作。
你觉得测试最重要的是什么
尽可能的找出软件的错误
怎样看待加班问题
加班的话我没有太多的意见,但是我还是觉得如果能够合理的安排时间的话,不会有太多时候会加班的。
如果一个很有个性的程序员认为自己的BUG不是BUG,怎么解决?
首先我要确定我所提的在我认为是不是bug,如果我认为是的话我会在他面前重现这个bug和他讲这是个bug,和他沟通,或者我会找到我的直系领导让他解决。
为什么在团队中要有测试
因为软件有错误,如果没有专业的测试人员很难发现软件的一些错误。
在测试时代学习自己最大的收获是什么?
在测试时代我除了学习了测试的知识外,还看到了老师们对待测试的一种态度,明白了做任何工作都要有沟通,做测试的也要有很好的沟通才可以做好。知道自己在项目组中的位置,和开发的关系。
你对未来的规划
我想在工作中慢慢的积累经验,使自己强大起来,能够担任更重要的职务。
自己优势及缺点
我的优点是有足够的耐心对待每一件事情,善于观察事物,承受压力的能力很强。缺点可能就是我不是很爱说话,习惯做不习惯说,但是和人沟通还是没有问题的。
你为什么选择测试时代不选择51testing
因为相对比来看测试时代价钱相对公道,师资也不错,还有一个原因就是在网上查了一下测试时代的口碑不错,也是网放心过来的原因。
13.请谈谈您对测试工作的理解
我认为测试工作是找出软件产品的错误,
14.你认为测试人员需要具备哪些素质?
我认为做测试的应该要有一定的协调能力,因为测试人员要经常与开发接触处理一些问题,如果处理不好的话会引起一些冲突这样的话工作上就会做不好。还有测试人员要有一定的耐心,有的时候做的测试很枯燥乏味的。除了要有耐心之外还要细心,不放过每一个可能的错误。
15.你为什么能够做测试这一行。
虽然说我的测试技术还不是很纯熟,但是我觉得我还是可以胜任软件测试这个工作的,因为做软件测试不仅是要求技术好,还要有一定的沟通能力,耐心、细心等外在的因素。综合起来看我认为我是胜任这个工作的。
1测试的目的是什么?
测试的目的是找出软件产品中的错误,是软件尽可能的符合用户的要求。
当软件测试是不可能能够找出全部的错误的。
2. 测试分为那几个阶段?
一般来说测试大体分为5个阶段:
单元测试、集成测试、确认测试、系统测试、验收测试
在测试过程中如果有需要还要进行回归测试。
3. 单元测试的测试对象,目的、测试依据、测试方法?
测试对象是模块内部的程序错误;目的是消除局部模块逻辑和功能上的错误和缺陷;
测试依据是模块的详细设计;测试方法采用白盒测试。
4. 集成测试的测试对象,目的、测试依据、测试方法?
集成测试的测试对象是模块间的组装和调用关系;
目的是找出与软件设计相关的程序结构模块调用关系,模块间接口方面问题;
测试依据是概要设计;测试方法采用灰盒测试。
5. 系统测试的测试对象,目的、测试依据、测试方法?
系统测试的测试对象是整个系统;测试的目的是对整个系统进行测试;
测试的依据是需求规格说明书;测试方法黑盒测试。
6. 测试覆盖的类型
测试覆盖的类型有:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖
7.性能测试的分类
分为:性能测试、负载测试、压力测试、容量测试
负载测试与压力测试可以结合进行。
8. 列举您熟悉的主流自动化测试工具
我熟悉的自动化测试工具有:基于web的测试管理工具TestDirector、配置管理工具VSS、
QTP以及性能测试工具LoadRunner
9. 编辑sql语句时,年月日型时间字段如何表达
加引号
13. c/s和b/s结构的软件进行测试时有何不同
C/S又称Client/Server或客户/服务器模式。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统。客户端需要安装专用的客户端软件。
B/S是Brower/Server的缩写,客户机上只要安装一个浏览器(Browser)。浏览器通过Web Server 同数据库进行数据交互。
$o;~k V*O
lTestAge 中国软件测试时代$I siX_ k
14.安全测试的后台是什么
17. 页面中有一个输入日期的输入框和一个输入身份证号的输入框,如何进行用例设计?
输入日期的输入框要考虑边界值、输入非法数据、非数字等
省份证输入框要考虑18位省份证、16位身份证、非18、16位的数据、汉字、字母、非法数据、
18. 测试和质量保证有什么区别 你的看法
质量保证是对软件制作过程的制作质量进行管理,看是否符合公司的规定。
软件测试是对软件产品的质量本身进行测试,是从技术方面出发测试软件质量
19. 用过什么缺陷管理工具? 流程是什么 有什么能改进的
我所熟悉的是TD
流程是讲测试计划、方案、测试用例录入TD,在TD上执行测试用例记录缺陷,并对bug进行跟踪。
20. 你有没有用过QTP做项目,QTP的工作原理
我有用QTP做过项目
QTP的工作原理是执行重复的手动测试,
首先制定测试计划再根据测试计划创建测试脚本,然后对脚本进行优化增强测试脚本的能接下来运行脚本分析测试的结果
21. 什么是白盒测试?白盒测试的工具有哪些?
白盒测试是测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有的逻辑路径进行测试。
工具有:RationalPurify 、Rational Quantify 、Rational Purecoveage
22. 路由器,集线器,交换机的区别?
路由器的作用是用于连接不同网段并且找到网络中数据传输最合适的路径。
集线器的作用是将一些pc机连起来组成一个局域网。
交换机的作用与集线器的相似,区别在于集线器采用的是共享带宽的方式,交换机是独享带宽。
24. 我手上这支笔,请你根据这支笔设计测试用例
首先我要测它的外观、颜色是否符合要求、她所占的空间是多大、是否环保、接下来测它的质量、这支笔是否能够写字流畅、写出的自得颜色是否符合要求、能使用多长时间等
25. BUG报告包括那些内容
Bug出现的位置、可重现的步骤、所使用的数据、bug的截图、发现人及日期。
26. 请列举一些Oracle数据库中的SID语句
27. W和H模型的区别
W模型强调的是测试伴随整个软件开发周期,而且测试的对象不仅是程序,需求也需要进行测试,测试与开发是同步进行的。
H模型是讲测试活动玩却的独立出来,形成了完全独立的流程,可以实现迭代而W模型不支持迭代这是两者最打的区别。
28. 没有任何说明书,如何进行测试?
首先是通过对软件测使用来熟悉整个软件,接着是与开发沟通掌握软件的特性并一一记录下来,作为测试的依据。
29. 测试计划包括那些内容那些重要?
测试计划包括
继续转
版权声明:本文出自 1qazse4 的51Testing软件测试博客:http://www.51testing.com/?140859
1、阶段评审与同行评审的区别?
参考答案:
同行评审目的:发现小规模工作产品的错误,只要是找错误;
阶段评审目的:评审模块 阶段作品的正确性 可行性 及完整性
同行评审人数:3-7人 人员必须经过同行评审会议的培训,由SQA指导
阶段评审人数:5人左右 评审人必须是专家 具有系统评审资格
同行评审内容:内容小 一般文档 < 40页, 代码 < 500行
阶段评审内容: 内容多,主要看重点
同行评审时间:一小部分工作产品完成
阶段评审时间: 通常是设置在关键路径的时间点上
2、什么是软件测试及其目的?
参考答案:
软件测试是使用人工或自动化手段来运行或测定某个系统的过程。其目的是:在于检验它是否能满足规定的需求或是弄清楚预期结果与实际结果之间的差别。
3、简述集成测试的过程?
参考答案:
集成测试流程:
在完成软件的概要设计后,即开始制定集成测试计划-》设计集成测试用例和测试过程-》实施集成测试,设计所需驱动和桩-》执行集成测试,记录测试结果-》评估集成测试,根据测试结果评估此次测试,生成评估报告文档。(驱动或桩函数是做单元测试时要用到的。驱动函数是所测4函数的主程序,它接收测试数据,并把数据传送给所测试单元,最后再输出实测结果。当被测单元能完成相关功能时,也可以不要驱动单元。桩,是用来代替所测试单元调用的子单元。)
4、白盒测试有哪几种方法?
参考答案:代码审查,语句覆盖,判定覆盖,条件覆盖,组合覆盖,基本路径,形式化方法,符号执行
5、简述测试目标有哪些类型?
参考答案:
功能测试,负载测试,性能测试,安全性测试,恢复测试,安装测试,兼容性测试,可用性测试,可靠性测试,国际化测试,本地化测试。
6、怎么样做好文档测试?
参考答案:
文档的测试主要采用静态测试即走查的方法,可以依据的是同行评审,列出一个检查表,然后大家一起坐下来对着被测试的文档进行阅读排错。通常文档都很长,
而一般的建议是一次同行评审步的时间不能超过两个小时,因此可以对被测试文档执行测试时,列个计划,将总的文档分解,按照计划多次对被测试的文档进行走
查。7、测试结束的标准是什么?
参考答案:
从项目周期看:
1、超出了所分配的测试时间;
2、用尽了分配的测试资源;
3、到达了某一个固定的里程碑(如合同规定的交付日期)。
从测试角度看:
1、测试需求覆盖率;
2、测试代码覆盖率;
3、测试用例度量;
4、缺陷检查度量
8、Alpha 测试与Beta测试的区别?
参考答案:
Alpha测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试,Alpha测试不能由程序员
或测试员完成。Alpha测试发现的错误,可以在测试现场立刻反馈给开发人员,由开发人员及时分析和处理。目的是评价软件产品的功能、可使用性、可靠性、
性能和支持。尤其注重产品的界面和特色。Alpha测试可以从软件产品编码结束之后开始,或在模块(子系统)测试完成后开始,也可以在确认测试过程中产品
达到一定的稳定和可靠程度之后再开始。有关的手册(草稿)等应该在Alpha测试前准备好。
Beta测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场,Beta测试不能由程序员或测试员完成。
因而,Beta测试是在开发者无法控制的环境下进行的软件现场应用。在Beta测试中,由用户记下遇到的所有问题,包括真实的以及主管认定的,定期向开发
者报告,开发者在综合用户的报告后,做出修改,最后将软件产品交付给全体用户使用。Beta测试着重于产品的支持性,包括文档、客户培训和支持产品的生产
能力。只有当Alpha测试达到一定的可靠程度后,才能开始Beta测试。由于Beta测试的主要目标是测试可支持性,所以Beta测试应该尽可能由主持
产品发行的人员来管理。
9、系统测试计划是否需要同行审批,为什么?
参考答案:
需要,系统测试计划属于项目阶段性关键文档,因此需要评审。
10、比较负载测试,容量测试和强度测试的区别?
参考答案:
负载测试:在一定的工作负荷下,系统的负荷及响应时间。
强度测试:在一定的负荷条件下,在较长时间跨度内的系统连续运行给系统性能所造成的影响。
容量测试:容量测试目的是通过测试预先分析出反映软件系统应用特征的某项指标的极限值(如最大并发用户数、数据库记录数等),系统在其极限值状
态下没有出现任何软件故障或还能保持主要功能正常运行。容量测试还将确定测试对象在给定时间内能够持续处理的最大负载或工作量。容量测试的目的是使系统承
受超额的数据容量来发现它是否能够正确处理。容量测试是面向数据的,并且它的目的是显示系统可以处理目标内确定的数据容量。