软件测试面试题
软件测试,描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。面试是通过书面、面谈或线上交流(视频、电话)的形式来考察一个人的工作能力与综合素质,通过面试可以初步判断应聘者是否可以融入自己的团队。是一种经过组织者精心策划的招聘活动。
软件测试面试题1
1.等价类划分
常见的软件测试面试题划分等价类:等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类.
2.边界值分析法
边界值分析方法是对等价类划分方法的补充。测试工作经验告诉我,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部.因此针对各种边界情况设计测试用例,可以查出更多的错误.
使用边界值分析方法设计测试用例,首先应确定边界情况.通常输入和输出等价类的边界,就是应着重测试的边界情况.应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据.
3.错误推测法
基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法.
错误推测方法的基本思想:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例.例如,在单元测试时曾列出的许多在模块中常见的错误.以前产品测试中曾经发现的错误等,这些就是经验的总结。还有,输入数据和输出数据为0的情况。输入表格为空格或输入表格只有一行.这些都是容易发生错误的情况。可选择这些情况下的例子作为测试用例.
4.因果图方法
前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系,相互组合等.考虑输入条件之间的相互组合,可能会产生一些新的情况.但要检查输入条件的组合不是一件容易的事情,即使把所有输入条件划分成等价类,他们之间的组合情况也相当多.因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例.这就需要利用因果图(逻辑模型).因果图方法最终生成的就是判定表.它适合于检查程序输入条件的各种组合情况.
5.正交表分析法
有时候,可能因为大量的参数的组合而引起测试用例数量上的激增,同时,这些测试用例并没有明显的优先级上的差距,而测试人员又无法完成这么多数量的测试,就可以通过正交表来进行缩减一些用例,从而达到尽量少的用例覆盖尽量大的范围的可能性。
6.场景分析方法
指根据用户场景来模拟用户的操作步骤,这个比较类似因果图,但是可能执行的深度和可行性更好。
软件测试面试题2
1、什么是兼容性测试?兼容性测试侧重哪些方面?
2、我现在有个程序,发现在Windows上运行得很慢,怎么判别是程序存在问题还是软硬件系统存在问题?
3、检查系统是否有中毒的特征;
4、检查软件/硬件的配置是否符合软件的推荐标准;
5、确认当前的系统是否是独立,即没有对外提供什么消耗CPU资源的服务;
6、如果是C/S或者B/S结构的软件,需要检查是不是因为与服务器的连接有问题,或者访问有问题造成的;
7、在系统没有任何负载的情况下,查看性能监视器,确认应用程序对CPU/内存的访问情况。
8、测试的策略有哪些?黑盒/白盒,静态/动态,手工/自动,冒烟测试,回归测试,公测(Beta测试的策略)
9、正交表测试用例设计方法的特点是什么?
10、用最少的实验覆盖最多的操作,测试用例设计很少,效率高,但是很复杂;
11、对于基本的验证功能,以及二次集成引起的缺陷,一般都能找出来;但是更深的缺陷,更复杂的缺陷,还是无能为力的;
12、具体的环境下,正交表一般都很难做的。大多数,只在系统测试的时候使用此方法。
13、描述使用bugzilla缺陷管理工具对软件缺陷(BUG)跟踪的管理的流程?标记就是Bugzilla的状态转换图。
14、你觉得bugzilla在使用的过程中,有什么问题?标记界面不稳定; 根据需要配置它的不同的部分,过程很烦琐。流程控制上,安全性不好界定,很容易对他人的Bug进行误操作;没有综合的评分指标,不好确认修复的优先级别。
15、描述测试用例设计的完整过程?需求分析 + 需求变更的维护工作;根据需求, 得出测试需求;设计测试方案,评审测试方案;方案评审通过后,设计测试用例,再对测试用例进行评审;
软件测试面试题3
中软软件测试面试题:判断题
1. 软件测试就是为了验证软件功能实现的是否正确,是否完成既定目标的活动,所以软件测试在软件工程的后期才开始具体的工作。初级 (×)
2. 发现错误多的模块,残留在模块是的错误也多。初级(√)
3. 测试人员在测试过程中发现一处问题,如果问题影响不大,而自己又可以修改,应立即将此问题正确修改,以加快、提高开发的进程。初级(×)
4. 单元测试通常应该先进行“人式走查”,再以白盒法为主,辅以黑盒进行动态测试。中级(√)
5. 功能测试是系统测试的主要内容,检查系统的功能、性能是否与需求规格说明相同。中级(√)
6. 软件质量管理即QM由QA和QC构成,软件测试属于QC的核心工作内容。高级(√)
7. 软件测试只能发现错误,但不能保证测试后的软件没有错误。中级(√)
8. 软件就是程序。初级(×)
9. 测试中要做到语句覆盖和分支覆盖。就可以发现程序中的所有错误。中级(×)
10. I18N测试是指对产品做出具有国际性的规划,而L10测试则是指对软件做出符合本地需求更改工作。高级(√)
中软软件测试面试题:选择题
1. 进行软件质量管理的重要性有(ACDEF )中级
A、 维护降低成本;
B、 法律上的要求;
C、 市场竞争的需要;
D、 质量标准化的趋势;
E、 软件工程的需要;
F、 CMM过程的一部分
G、 方便与客户进一步沟通为后期的实施打好基础
2. 以测试的形态分测试可以分为( ABC )中级
A、 建构性测试
B、 系统测试
C、 专项测试
D、 单元测试
E、 组件测试
F、 集成系统
3. 选出属于黑盒测试方法的选项( ABC )初级
A、 测试用例覆盖
B、 输入覆盖
C、 输出覆盖
D、 分支覆盖
E、 语句覆盖
F、 条件覆盖
4. 编写测试计划的目的是(ABCEF)中级
A、 使测试工作顺利进行;
B、 使项目参与人员沟通更舒畅;
C、 使测试工作更加系统化;
D、 软件工程以及软件过程的需要;
E、 软件过程规范化的需求;
F、 控制软件质量
5. 依存关第有4种分别是(ABCD)高级
A、 开始—结束
B、 开始—开始
C、 结束—开始
D、 结束—结束
E、 开始—实施—结束
F、 结束—审核—开始
6. 软件质量管理(QM)应有质量保证(QA)和质量控制(QC)组成,下面的选项属于
QC的是:(ABCD)高级
A、 测试
B、 跟踪
C、 监督
D、 制定计划
E、 需求审查
F、 程序代码审查
7. 实施缺陷跟踪的目的是(ABCD)中级
A、 软件质量无法控制
B、 问题无法量化
C、 重复问题接连产生
D、 解决问题的知识无法保留
E、 确保缺陷得到解决
F、 使问题开成完整的闭玩处理
8. 使用软件测试工具的目的(ABCD)中级
A、 帮助测试寻找问题
B、 协助问题的诊断
C、 节省测试时间
D、 提高BUG的发现率
E、 更好的控制缺陷提高软件质量
F、 更好的协助开发人员
9. 典型的瀑布模型的四个阶段是(ABCD)高级
A、 分析
B、 设计
C、 编码
D、 测试
E、 需求调研
F、 实施
10. PSP是指个人软件过各,是一各可用于(ABC)个人软件工作方式 的自我改善过程。
A、 控制
B、 管理
C、 改进
D、 高效
E、 充分
F、 适宜
中软软件测试面试题:问答题
(共9题,每题5分,共讲50分)
1. 测试人员在软件开发过程中的任务是什么?(初级) 1.寻找 Bug;
2.避免软件开发过程中的缺陷; 3.衡量软件的品质; 4.关注用户的需求
2. 在您以往的工作中,一条软件缺陷(或者叫BUG)记录都包含了哪些内容?如何提交高
质量的软件缺陷(BUG)记录?初级
一条Bug记录最基本应包含:编号、Bug所属模块、Bug描述、Bug级别、发现日期、发现人、修改日期、修改人、修改方法、回归结果等等;要有效的发 现Bug需参考需求以及详细设计等前期文档设计出高效的测试用例,然后严格执行测试用例,对发现的问题要充分确认肯定,然后再向外发布如此才能提高提交 Bug的质量
3. 黑盒测试和白盒测试是软件测试的两种基本方法,请分别说明各自的优点和缺点。中级 黑盒测试的优点有:
1) 比较简单,不需要了解程序内部的代码及实现; 2) 与软件的内部实现无关;
3) 从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题; 4) 基于软件开发文档,所以也能知道软件实现了文档中的哪些功能; 5) 在做软件自动化测试时较为方便。
黑盒测试的缺点有:
1)不可能覆盖所有的代码,覆盖率较低,大概只能达到总代码量的30%; 2)自动化测试的复用性较低。 白盒测试的优点有:
帮助软件测试人员增大代码的覆盖率,提高代码的质量,发现代码中隐藏的问题 白盒测试的缺点有:
1) 程序运行会有很多不同的路径,不可能测试所有的运行路径
2) 测试基于代码,只能测试开发人员做的对不对,而不能知道设计的正确与否,可能会漏掉一些功能需求
3) 系统庞大时,测试开销会非常大。
4. 根据自己的理解回答什么是软件测试,软件测试分为哪几个阶段。初级
软件测试是一个为了寻找软件中的错误而运行软件的过程,一个成功的测试是指找到了迄今为止尚未发现的错误的测试。
软件测试一般分为单元测试、集成测试、系统测试、验收测试
5. 根据自己的理解什么是测试用例和测试规程,设计一个测试用例应当从哪几方面考虑?
中级
狭义的讲,一个测试用例就是测试人员用以测试被测软件的某个特性或特性组合的一组数据。这组数据可能是从用户处得来的实际的一组数据,也可能是测试人员专门设计出来的测试软件某些功能的一组数据
测试规程就是详细的对测试用例设计方法、测试方法、测试工具、测试环境和测试数据进行描述的文档,还可以包括能把某个或某一组测试用例应用到被测软件上完成某项测试的一系列的操作步骤
设计测试用例应当从以下几方面考虑:边界值,等价类划分,场景法,有效/无效值等
6. 什么是软件质量保证?软件质量保证人员与开发人员的关系如何?高级
软件质量保证就是通过确保软件过程的质量,来保证软件产品的质量。 软件质量保证人员和开发人员之间具有管理上的严格的独立性,两个小组的管理员都不能越权管理另一组,但都可以向更高层的管理者汇报软件开发中的问题
7. 什么叫软件缺陷?您应用过哪些缺陷管理工具?
高级
对软件缺陷的定义各公司有所不同: 软件未达到产品说明书标明的功能
软件出现了产品说明书指明不会出现的错误 软件功能超出产品说明书指明的范围
软件未达到产品说明书虽未指出但应达到的目标
软件测试人员认为软件难以理解、不易使用、运行速度缓慢,或者最终用户认为不好
TD、QC、bugfree
8. 请分别写出ISO7层架构,并分别说明TCP、UDP协议分别在处于哪一层,以及TCP、
UPD协议有什么区别。(10分)
7 应用层 6 表示层 5 会话层 4 传输层 3 网络层
2 数据链路层 1 物理层
第四层;UDP是面向无连接、不可靠数据传输协议; TCP是面向连接、可靠数据传输协议