si测试面试.docx
- 文档编号:11777631
- 上传时间:2023-06-02
- 格式:DOCX
- 页数:12
- 大小:23.95KB
si测试面试.docx
《si测试面试.docx》由会员分享,可在线阅读,更多相关《si测试面试.docx(12页珍藏版)》请在冰点文库上搜索。
si测试面试
竭诚为您提供优质文档/双击可除
si测试面试
篇一:
软件测试经典面试题(四)
软件测试经典面试题(四)
第1题:
软件生存期中费用消耗最大的环节是(正确a)
a.软件测试b.软件开发c.软件质量保证d.软件文档审查
第2题:
证实在一个给定的外部环境中软件的逻辑正确性是()(正确b)
a.验证b.确认c.测试d.调试
第4题:
下列不属于动态分析的软件行为是(正确c)
a.屏幕仿真b.分支执行分析c.结构分析d.建模
第3题:
对于一个软件的各种需求,要确定其关键性类型,定义关键性级别的依据是(正确d)
a.系统任务b.安全性c.技术复杂性d.以上全部
第5题:
下面不属于软件测试过程中的输入类的是(正确b)
a.软件配置b.测试用例c.测试配置d.测试工具
第6题:
下面说法正确的是(正确c)
a.软件测试仅是在编程之后进行的测试。
b.需求规格说明、概要设计规格说明、详细设计规格说明、源程序这些并不全是软件测试的对象。
c.测试配置是软件配置的一个子集。
d.错误发现的越晚,改正的代价就越大,这个代价是呈现接近线性增长的趋势。
第7题:
下列文档中是内部设计中用到的是(正确d)
a.接口设计规格说明书b.系统构件部署设计规格说明书c.用户界面设计规格说明书d.功能设计说明书第8题:
软件设计阶段的测试主要采取的方式是(正确a)
a.评审b.白盒测试c.黑盒测试d.动态测试
第9题:
不用执行程序,目的是收集有关程序代码的结构信息,这一过程是(正确b)
a.性能测试b.静态分析c.增量测试d.大突击测试
第10题:
下列关于软件测试策略的叙述中不正确的是(正确b)
a.增量测试的主要问题在于需要额外编写很多特殊的测试程序b.静态测试与动态测试都要执行程序
c.myers认为自底向上测试方法要优于自顶向下测试的方法d.软件性能测试的目标之一是为了提高性能第11题:
测试程序时不在机器上直接运行程序,而是采用人工检查或计算机辅助静态分析的手段检查程序。
这种测试称为(正确c)
a.白盒测试b.黑盒测试c.静态测试d.动态测试
第12题:
在设计阶段中,设计人员把经评审通过的各项需求转换成一个相应的体系结构,该体系结构是指(正确d)
a.数据体系结构b.系统体系结构c.软件体系结构d.以上全部
第13题:
定义管理进程间通信规则的是(正确a)
a.协议文件b.数据库文件c.系统文件d.通信文件
第14题:
数据设计的核心是抽象数据类型adt,它的特点是(正确d)
a.数据封装b.数据隐藏c.使用与实现分离d.以上全部
第15题:
提高系统时间效率的最佳方法是(正确b)
a.选择最好的测试用例b.选择高效的算法c.使用测试工具d.选择最佳的测试方法
第16题:
下列能作为设计阶段测试对象的文档是(正确d)
a.逻辑设计规格说明b.外部设计规格说明c.内部设计规格说明d.以上全部
第17题:
编码阶段的测试目标是确定程序代码的质量,代码质量的确定依据是(正确d)
a.设计规格说明可跟踪到程序相应的代码,程序代码可跟踪到设计需求b.分析程序接口并与接口文档相对照c.执行程序评估工作,分析程序是否是设计说明的正确翻译,是否与程序编码标准相符d.以上全部第18题:
下列测试不用考虑内部程序结构的测试是(正确a)
a.功能测试b.结构测试c.逻辑驱动测试d.白盒测试
第19题:
在路径测试中,覆盖准则规定了必须测试的一组路径。
覆盖准则又称为(正确a)
a.完全性准则b.路径准则c.语句覆盖准则d.物理覆盖准则
第20题:
大突击测试是将所有模块一次性集成为一个完整的系统后进行完全测试。
下列不符合大突击测试的特点的是(正确a)
a.大突击测试的自动化能力差b.大突击测试要找出导致失效的原因很困难c.大突击测试要额外编写特殊的辅助测试程序d.大突击测试中,一个模块存在的缺陷还可能妨碍其他模块的测试
第21题:
当对发现的缺陷进行修改之后,执行一系列基准测试,以确认程序的修改没有对程序的其他部分产生干扰。
这种测试通常称为(正确b)
a.验证测试b.回归测试c.系统测试d.确认测试
第22题:
下列做法对维护工作不利的是(正确b)
a.存在完整、适用的文档b.开发阶段提前交付软件产品.c.存在有可以有效使用的审核和批准过程d.存在有可查的历史记录
第23题:
单元测试中设计测试用例的依据是(正确d)
a.概要设计规格说明书b.用户需求规格说明书c.项目计划说明书d.详细设计规格说明书
第24题:
自底向上测试的策略不需要单独设计桩模块,也无需依赖结构设计,对于需要考虑对象或复用时,相对其他测试策略而言,该策略比较合理,所以自底向上测试是(正确a)
a.面向功能的测试b.面向数据的测试c.面向结构的测试d.面向程序的测试
第25题:
下列产品不适合采用基于功能的集成测试策略的是(正确b)
a.关键功能具有较大风险的产品b.控制结构比较清晰和稳定的产品c.技术探索型项目,其功能的实现远比质量更关键d.对于功能实现没有把握的产品
篇二:
20xx年性能测试面试汇总(技术党四篇)
性能测试面试汇总
(一)
q1:
什么是负载测试?
什么是性能测试?
a1:
负载测试是通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足性能指标的情况下,系统所能承受的最大负载量的测试,例如,访问一个页面的响应时间规定不超过1秒,负载测试就是测试在响应时间为1秒时,系统所能承受的最大并发访问用户的数量。
性能测试:
指在一定的约束条件下(指定的软件、硬件、网络环境等),确定系统所能承受的最大负载压力。
q2.性能测试包含了哪些测试(至少举出3种)
a2:
性能测试包含负载测试、压力测试、大数据量测试、疲劳强度测试等。
q3.简述性能测试的步骤
q4.简述使用loadrunner的步骤
a4:
制定性能测试计划—>开发测试脚本—>设计测试场景—>执行测试场景—>监控测试场景—>分析测试结果
q5.什么时候可以开始执行性能测试?
a5:
功能测试通过;一般需要进行性能测试的系统,都是用户量比较大、业务使用比较频繁、比较重要的功能模块。
q6.loadRunner由哪些部件组成?
a6:
主要有三部分组成:
q7.你使用loadRunner的哪个部件来录制脚本?
a7:
使用Virtualusergenerator录制测试脚本
q8.loadRunner的哪个部件可以模拟多用户并发下回放脚本?
a8:
loadRunner的controller组件。
q9.什么是集合点?
设置集合点有什么意义?
loadrunner中设置集合点的函数是哪个?
a9:
在性能测试过程中,需要模拟大量用户在同一时刻,访问系统并同时操作某一任务,可以通过配置集合点来实现,多个用户同时进行某操作;
集合点可以在服务器上创建密集的用户负载,使loadRunner能够测试服务器在负载状态下的性能。
设置集合点函数:
lr_rendezvous("meeting");//meeting是集合点名称
q10.什么是场景?
场景的重要性有哪些?
如何设置场景?
a10:
场景用于模拟用户实际业务操作;
loadRunner中场景有手工场景和面向目标的场景。
设置场景:
选择场景类型、设置运行时设置、模拟用户数、加减压方式、持续时间,配置负载生成器。
q11.请解释一下如何录制web脚本?
a11:
利用Virtualusergenerator录制测试脚本,录制步骤:
1、选择合适的协议
2、设置录制选项
3、开始录制
q12.为什么要创建参数?
如何创建参数?
a12:
loadRunner在录制脚本的时候,只是忠实的记录了所有从客户端发送到服务器的数据,而在进行性能测试的时候,为了更接近真实的模拟现实应用,对于某些信息需要每次提交不同的数据,或者使用多个不同的值进行循环输入。
这时,在loadRunner中就可以进行参数化设置,以使用多个不同的值提交应用请求。
【参数化】:
使用指定数据源中的值来替换脚本录制生成的语句中的参数。
【参数化好处】
●提供使用不同的值执行脚本的能力,更加真实的模拟现实应用。
【参数化步骤】●用参数替换Vuser脚本中的常量值●为参数设置属性和数据源
性能测试面试汇总
(二)
q13.什么是关联?
请解释一下自动关联和手动关联的不同。
a13:
【关联的定义】简单的说:
就是把脚本中某些写死(固定)的数据,转变成动态的数据,或者说将前面语句的结果数据保存下来,然后在后面的语句提交请求时使用这些数据。
【需要关联的前提条件】:
客户端需要从服务器端返回数据中获取部分数据,并将这些部分数据处理后作为自己下一次请求的一部分发出。
【自动关联与手工关联的不同】:
自动关联是在脚本录制过程中,Vugen会根据已经制定好的规则,自动找出需要关联的值或脚本录制完成后,执行脚本一次,通过correlationstudio自动找出需要关联的数据,并建立关联;而手动关联是需要录制两份相同业务流程的脚本,输入的数据要相同,利用
beyondcompareportable工具,找出两份脚本之间不同之处,也就是需要关联的数据,再通过web_reg_save_param函数手动建立关联,将脚本中用到关联的数据参数化。
q14.你如何找出哪里需要关联?
请给一些你所在项目的实例。
a14:
1、录制两份相同业务流程的脚本,输入的数据要相同
2、利用beyondcompareportable工具,找出两份脚本之间不同之处,也就是需要关联的数据
3、通过web_reg_save_param函数手动建立关联,将脚本中用到关联的数据参数化。
示例:
通过录制两份脚本,进行对比,可知jsessionid、sap-ext-sid、
sap-wd-cltwndid、sap-wd-tstamp需要进行关联。
q15.你在哪里设置自动关联选项?
a15:
录制选项中进行设置,如下图所示:
q16.哪个函数是用来截取虚拟用户脚本中的动态值?
(手工关联)
a16:
web_reg_save_param函数主要根据需要做关联的动态数据前面和后面的固定字符串来识别、提取动态数据,所以在做关联时,需要找出动态数据的左、右边界字符串。
1.函数原型:
intweb_reg_save_param(constchar*paramname,,last);
2.参数说明:
paramnam:
存放动态数据的参数名称
listofattributes:
其它属性,包含notfound、lb、Rb、RelFrameid、search、oRd、saveoffset、convert、savelen。
●notfound:
指当找不到要找的动态数据时,怎么处理。
●notfound=error,当找不到动态数据时,发出一个错误信息,为loadRunner的默认值。
●notfound=warning,当找不到动态数据时,不发出错误信息,只发出警告,脚本会继续执行下去不会中断。
●lb:
动态数据的左边界字符串,该参数为必选参数,并区分大小写。
●Rb:
动态数据的右边界字符串,该参数为必选参数,并区分大小写。
●oRd:
指提取第几次出现的左边界的数据,该参数为可选参数,默认值是1。
假如值为all,则查找所有符合条件的数据并把这些数据存储在数组中。
●search:
搜寻的范围。
可以是headers(只搜寻headers)、body(只搜寻body部分,不搜寻headers)、noresources(只搜寻body部分,不搜寻header与Resource)或是all(搜寻全部范围,此为默认值),该参数为可选参数。
●RelFrameid:
相对于uRl而言,欲搜寻的网页的Frame,此属性可以是all或是具体的数字,该参数为可选参数。
●saveoffset:
当找到符合的动态数据时,从第几个字符开始才存储到参数中,该参数为可选参数,此属性值不可为负数,其默认值是0.
●convert:
可能的值有两种:
●html_to_uRl:
将html-encoded数据转成uRl-encoded数据格式。
●html_to_text:
将html-encoded数据转成纯文字数据格式。
●savelen:
从offset开始算起,到指定长度内的字符串,才储存到参数中,该参数为可选参数,默认值为-1,表示储存到结尾整个字符串。
q17.你在Vugen中何时选择关闭日志?
何时选择标准和扩展日志?
a17:
在测试场景执行时,关闭日志,因为日志信息过多,也会影响性能测试结果;在调试测试脚本时,可以选择标准或扩展日志,用于输出调试信息。
可以在运行时设置中,进行日志设置,如下图所示:
q18.你如何调试loadRunner脚本?
a18:
通常采用以下方法调试loadRunner测试脚本
●断点
【方法】在脚本的任意一行上按右键菜单或F9增加断点。
●单步跟踪
【方法】通过菜单命令Vuser—>Runstepbystep或F10,可以控制脚本以语句为单位执行。
●日志输出
【方法】通过日志输出函数(si测试面试)lr_message、lr_log_message、
篇三:
测试面试问题及答案
这篇帖子中的题目有我自己面试过程中问道过的,也有在网上看到的,但是答案我都是结合自己的从业经验以及真是的项目实践流程来编写的,不能说这就是最终的正确答案,但是希望整理出来能给大家一些参考和帮助!
如果大家有更好的答案不妨写到帖子当中,我们共同讨论
1、介绍一下整体项目流程
答案:
1.搭建缺陷管理的环境和测试环境以及配置管理的环境搭建;2.编写测试计划;3.设计测试用例;4.编写测试用例;5.测试用例的评审;6.执行测试;7.缺陷管理;8.测试报告的输出
2、在实际项目中你是如何做测试计划
答案:
1.对客户提供的或需求分析人员编写的用户需求文档或需求规格说明书进行分析,提炼出测试要点;
2.根据测试要点编写测试用例。
3.由评审组对测试用例进行评审--修改--再次评审--初步定稿
4.执行测试
4.1按照测试用例对系统进行功能验证及客户的需求验证
4.2将测试过程中产生的bug录入缺陷管理系统
4.3新版本发布后,对本次版本新增加的功能以及开发人员修正的bug进行回归测试
4.4根据项目需要提交测试报告。
3、你是如何制定测试过程中的时间进度表的
答案:
根据项目的需求、开发周期、开发人员的开发进度等时间安排来制定一个测试时间进度初稿,并将测试时间进度表交与整个项
目团队成员大家一起讨论和分析,最终和所有人达成共识制定出一个大家都可以执行的测试时间进度表。
时间表中包括了开发人员提交功能或功能模块的时间,以及为了更好的执行测试,配合测试人员进行功能培训的时间,以及测试执行时间等,都详细的写到wbs中,并按照这个时间进度表来执行项目的测试任务。
4、测试计划都包括那些项
答案:
1.测试计划目标2.测试参考文档3.测试术语与定义4.测试内容5.测试人员的分工6.测试进度7.测试流程8.测试工具9.测试缺陷管理10.测试的风险分析
5、测试用例如何设计的
答案:
在测试用例设计之前首先要熟悉客户的需求文档或需求规格说明书,以做到对被测系统的熟悉,充分了解产品的详细功能,并在熟悉过程中即使与研发人员和客户人员进行有效的沟通。
然后从需求中提炼中各个模块的详细功能点编写出一个测试要点的文档。
根据测试要点设计测试用例,测试要点与测试用例
是一个一对多的关系,一个测试要点可能会需要几个测试用例的验证,有正常的操作和异常的操作,甚至是几个正常与几个异常的操作,这要根据实际功能的要求来具体分析具体实现。
6、测试用例包括那些项
答案:
产品名称、功能模块、用例的编号、编写人、被测功能的简述,测试的预置条件,测试步骤,预期结果,实际结果。
7、缺陷处理流程
1.讲缺陷的详细信息录入缺陷管理系统,并分配给对应的开发人员
2.如果遇到一些难以再现的缺陷,在开发人员修正过程中配合开发人员进行bug的再现。
3.开发人员修正bug后,会在缺陷管理系统中将修正后的bug状态更改,通常为Fixed状态。
4.新版本发布后,测试人员会讲bug状态已经更改为Fixed的bug进行回归测试。
如果测试通过,则将该bug关闭,如果仍未通过,则将该bug从Fixed更改为Reopen状态,继续让开发人员来修正。
并等待下一个新版本发布后的二次回归测试。
8、缺陷报告包括那些项
答案:
编写人、被测系统的版本号、测试环境、预期结果、实际结果、对于实际结果如有必要附上截图、测试用例数、测试用例通过数,测试用例的通过率、对缺陷的一个分析汇总。
9、缺陷报告严重级别的划分
严重级别的错误:
影响系统整体基本流程运行的错误,由于某一操作造成系统死循环或服务器崩溃的错误较严重:
功能实现错误、内部计算错误、
一般:
ui错误,一些易用性的错误或建
10、开发人员修复缺陷后,如何保证不影响其他功能
答案:
bug的修复以及新功能的添加都有可能对版本造成一些影响,为了避免,在新版本发布以后,首先会对新版本做一个基础的流程测试也叫做冒烟测试,如果测试基本流程都顺利通过没有任何问题,那么测试人员可以继续进行详细的测试,否则就将冒烟测试中出现的问题以及问题有可能出现的原因反馈给开发人员,由开发人员修正后再次发版,进行测试。
这是一个迭代的过程。
10、发现问题后你是如何判断其是否是bug,你是如何提交的、
答案:
测试用例是经过评审组严格的评审,完全按照客户的需求规格说明书作为最终依据来评审的,如果测试过程中,测试结果与实际结果不符就很可能是bug,如果一些比较明显的问题就直接录入缺陷管理系统,如果是一些边界问题不容易确定的,可以通过和开发人员甚至是设计人员等进行沟通最后得出一个结果究竟是否是bug,如果是bug就录入,如果是一个需要增加的新功能等,可以录入缺陷管理系统,类型
为新需求。
11、修复一个bug而导致其他的bug出现,该如何处理
答案:
帮助开发人员分析问题锁定原因然后进行新bug的修正。
12、测试总结报告包括那些项
答案:
测试用例的通过数,测试用例的未通过数,以及测试用例的通过率,未通过的功能都集中在哪几个功能模块,根据测试经验以及测试结果进行一个缺陷的分析和建议。
13、测试进行到一半是,发现时间不够,你如何处理
答案:
1.与客户沟通本次发布的版本什么是最重要的,什么是其次,我会安排一个优先级来对整体测试功能进行一个筛选。
2.我会和测试组原体人员一起加班
14、开发与测试的关系
答案:
开发和测试是一个整体,也可以说测试驱动着开发,开发配合着测试,相辅相成的,在一个完整的项目组中缺一不可。
15、如果你是测试组长你如何对项目及组员进行管理
答案:
首先要从需求开始,充分了解被测系统的功能以及业务需求,并在遇到问题的时候及时有效的与开发人员以及其他项目相关人员进行沟通,做到最被测系统的十分熟悉。
并了解整个测试组的成员他们的测试技能以及擅长的工作,做到测试任务的合理分配,得以让测试工作快速,稳定高效的进行!
16、如果你提交的bug开发人员说这不是缺陷你该怎么办
答:
若遇到开发人员说提交bug不是缺陷则跟项目组的需求人员,设计人员以及该功能的开发人员共同讨论做确认
.软件测试分哪两种方法?
分别适合什么情况?
2.一套完整的测试应该由哪些阶段组成?
分别阐述一下各个阶段。
3.软件测试的类型有那些?
分别比较这些不同的测试类型的区别与联系。
4.测试用例通常包括那些内容?
着重阐述编制测试用例的具体做法
5.在分别测试winform的c/s结构与测试web结构的软件是,应该采取什么样的方法分别测试?
他们存在什么样的区别与联系?
6.在测试winform的c/s结构软件时,发现这个软件的运行速度很慢,您会认为是什么原因?
您会采取哪些方法去检查这个原因?
7.描述使用bugzilla缺陷管理工具对软件缺陷(bug)跟踪的管理的流程8.如果您是测试组长,您会采取什么样的方式管理团队?
在测试人员同开发人员的沟通过程中,如何提高沟通的效率和改善沟通的效果?
维持测试人员同开发团队中其他成员良好的人际关系的关键是什么?
问题解答:
1.软件测试分哪两种方法?
分别适合什么情况?
软件测试方法一般分为两种:
白盒测试与黑盒测试。
白盒测试又称为结构测试、逻辑驱动测试或基于程序本身的测试,它着重于程序的内部结构及算法,通常不关心功能与性能指标;黑盒测试又被称为功能测试、数据驱动测试或基于规格说明的测试,它实际上是站在最终用户的立场,检验输入输出信息及系统性能指标是否符合规格说明书中有关功能需求及性能需求的规定。
2.一套完整的测试应该由哪些阶段组成?
分别阐述一下各个阶段。
计划阶段、设计阶段、白盒单元、白盒集成、黑盒单元、黑盒集成、系统测试、回归测试、验收测试一套完整的测试应该由五个阶段组成:
1)。
测试计划首先,根据用户需求报告中关于功能要求和性能指标的规格说明书,定义相应的测试需求报告,即制订黑盒测试的最高标准。
以后所有的测试工作都将围绕着测试需求来进行,符合测试需求的应用程序即是合格的,反之即是不合格的;同时,还要适当选择测试内容,合理安排测试人员、测试时间及测试资源等。
2)测试设计将测试计划阶段制订的测试需求分解、细化为若干个可执行的测试过程,并为每个测试过
程选择适当的测试用例(测试用例选择的好坏将直接影响测试结果的有效性)。
3)测试开发建立可重复使用的自动测试过程。
4)测试执行执行测试开发阶段建立的自动测试过程,并对所发现的缺陷进行跟踪管理,测试执行一般由单元测试、组合测试、集成测试、系统联调及回归测试等步骤组成,测试人员应本着科学负责的态度,一步一个脚印地进行测试。
5)测试评估结合量化的测试覆盖域及缺陷跟踪报告,对于应用软件的质量和开发团队的工作进度及工作效率进行综合评价。
3.软件测试的类型有那些?
分别比较这些不同的测试类型的区别与联系。
bVt(buildVerificationtest),主要目的是验证最新生成的软件版本在功能上是否完整,主要的软件特性是否正确scenariotests(基于用户实际应用场景的测试),scenariotests优点是关注了用户的需求,缺点是有时候难以真正模仿用户真实的使用情况smoketest,修复bug后,针对此次修复是否会对其他模块造成影响而进行的专门测试。
smoketest优点是节省测试时间,防止build失败。
缺点是覆盖率还是比较低此外,还有applicationcompatibilitytest(兼容性测试),主要目的是为了兼容第三方软件,确保第三方软件能正常运行,用户不受影响。
accessibilitytest(软件适用性测试),是确保软件对于某些有残疾的人士也能正常的使用,但优先级比较低。
其它的测试还有Functionalt
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- si 测试 面试