测试工程师笔试题_第1页
测试工程师笔试题_第2页
测试工程师笔试题_第3页
测试工程师笔试题_第4页
测试工程师笔试题_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、测试工程师笔试题一、计算机知识(30分)1、 在Linux系统中,一个文件的访问权限是755,其含义是什么?参考答案:755表示该文件所有者对该文件具有读、写、执行权限,该文件所有者所在组用户及其他用户对该文件具有读和执行权限。2、 Linux中,如何从root用户切换到普通用户?参考答案:susu user1 切换到user1,但切换后的当前目录还是root访问的目录su user1 切换到user1,并且当前目录切换到user1的根目录下(/home/user1/)3、 简述一下C/S模式和B/S模式的区别?参考答案:c/s 是客户端/服务器 架构b/s 是浏览器/服务器 架构C/S模式有

2、以下特点:1.C/S模式将应用与服务分离,系统具有稳定性和灵活性2.C/S模式配备的是点对点的结构模式,适用于局域网,有可靠的安全性3.由于客户端实现与服务器端的直接连接,没有中间环节,因此响应速度快4.在C/S模式中,作为客户机的计算机都要安装客户机程序,一旦软件系统升级,每台客户机都要安装客户机程序,系统升级和维护较为复杂B/S模式有以下特点:1.系统开发、维护、升级方便 每当服务器应用程序升级时,只要在服务器上升级服务应用程序即可,用户计算机上的浏览器软件不需要修改,系统开发和升级维护方便2.B/S模式具有很强的开放性 在B/S模式下,用户通过通用的浏览器进行访问,系统开放性好3.B/S

3、模式的结构易于扩展 由于Web的平台无关性,B/S模式的结构可以任意扩展,可以从包含一台服务器和几个用户的小型系统扩展成为拥有成千上万个用户的大型系统4.用户使用方便 B/S模式的应用软件都是基于Web浏览器的,而Web浏览器的界面是类似的。对于无用户交换功能的页面。用户接触的界面都是一致的,用户使用方便4、 Windows操作系统中PATH环境变量的作用是什么?参考答案:PATH是Windows操作系统环境变量,PATH作用是用户在命令行窗口执行一个命令,则在PATH变量设置的目录下依次寻找该命令或对应的执行文件,若找到,则执行,若没有找到,则命令行窗口返回无效命令。5、 TCP和UDP有什

4、么区别?参考答案:TCP-有连接,所以握手过程会消耗资源,过程为可靠连接,不会丢失数据,适合大数据量交换UDP-非可靠连接,会丢包,没有校验,速度快,无须握手过程TCPUDP是否连接面向连接面向非连接传输可靠性可靠的不可靠的应用场合传输大量数据少量数据速度慢快6、 DNS是什么?它是如何工作的?参考答案:域名解析服务。用于将域名解析为IP,或反和将IP解析为域名。客户机可指定DNS服务器来解析,或用本机hosts文件进行解析。7、 说出4种及以上常用的操作系统及其主要的应用范围(微软的操作系统除外)。参考答案:Linux(Red Hat、SUSE、Debian、Trubo Linux):主要用

5、于搭建各类服务器MAC OS:苹果机的操作系统,用于图像处理Unix(AIX:IBM服务器的专用操作系统;Solaris:Sun操作系统;FreeBSD、NetBSD)8面向对象程序设计有哪些特点?参考答案:面向对象程序设计以需求当中的数据作为中心,来进行设计,具有良好的代码重用性。封装性:也叫数据隐藏,用户无需知道内部工作流程,只要知道接口和操作就可以的,C+中一般用类来实现封装。 继承性: 一种支持重用的思想,在现有的类型派生出新的子类,例如新型电视机在原有型号的电视机上增加若干中功能而得到,新型电视机是原有电视机的派生,继承了原有电视机的属性,并增加了新的功能。多态性:指在一般类中定义的

6、属性或行为,被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为。 动态联编:指一个计算机程序自身彼此关联的过程,按照联编所进行的阶段不同,可分为两种不同的联编方法:静态联编和动态联编。9、一条软件缺陷记录都包含哪些内容?参考答案:bug编号bug发现人bug发现时间bug状态bug严重程度bug所属版本bug所属模块bug处理人bug修改日期bug简单描述bug详细描述bug相关附件bug初步分析10、一套完整的测试应该由哪些阶段组成?参考答案:测试计划、测试设计与开发、测试实施、测试评审与测试结论二、测试知识(50分)1、您以往所从事的软件测试工作中,是否使用了一些工具来进行软件缺陷

7、(Bug)的管理?如果有,请结合该工具描述软件缺陷(Bug)跟踪管理的流程。(10分)参考答案:1.拿到新版本2.进行测试发现BUG后提交SUBMIT(测试)3.由相应人员置为NEW的状态4.修改BUG,FIXED(开发)(当然也有可能被判定为不是BUG或者需要讨论决定的)5.回归测试,修改BUG状态,FIXED VERIFIED或者REOPEN(测试)6.REOPEN的话开发继续修改,FIXED VERIFIED的话由相应人员CLOSE这个BUG。2、请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。(10分)参考答案:黑盒测试:把测试对象当成一个黑盒子,

8、测试人员完全不考虑逻辑结构和内部特性,只依据程式的需求说明书来检查程式的功能是否满足它的功能说明。白盒测试:把测试对象当成一个透明的盒子,允许测试人员利用程序内部逻辑结构及相关信息,设计或选择测试用例,对程式所有逻辑路径进行测试。单元测试:白盒测试的一种,对软件设计中的单元模块进行测试。集成测试:在单元测试的基础上,对单元模块之间的连接和组装w进行测试。系统测试:在所有都考虑的情况下,对系统进行测试。验收测试:第三方进行的确认软件满足需求的测试3、你所熟悉的测试用例设计方法有哪些?分别以具体的例子说明在实际测试中的应用。(10分)参考答案:1等价类划分划分等价类: 等价类是指某个输入域的子集合

9、.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类.2边界值分析法边界值分析方法是对等价类划分方法的补充。测试工作经验告诉我,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部.因此针对各种边界情况设计测试用例,可以查出更多的错误.使用边界值分析方法设计测试用例,首先应确定边界情况.通常输入和输出等价类的边界,

10、就是应着重测试的边界情况.应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据.3错误推测法基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法.错误推测方法的基本思想: 列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例. 例如, 在单元测试时曾列出的许多在模块中常见的错误. 以前产品测试中曾经发现的错误等, 这些就是经验的总结. 还有, 输入数据和输出数据为0的情况. 输入表格为空格或输入表格只有一行. 这些都是容易发生错误的情况. 可选择这些情况下的例子作为测试用例.4因果图方法前面

11、介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系, 相互组合等. 考虑输入条件之间的相互组合,可能会产生一些新的情况. 但要检查输入条件的组合不是一件容易的事情, 即使把所有输入条件划分成等价类,他们之间的组合情况也相当多. 因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例. 这就需要利用因果图(逻辑模型). 因果图方法最终生成的就是判定表. 它适合于检查程序输入条件的各种组合情况.4、画出软件测试的V模型图。(5分)参考答案:5、软件的安全性应从哪几个方面去测试?(5分)参考答案:(1)用户认证机制:如数据证书、

12、智能卡、双重认证、安全电子交易协议(2)加密机制(3)安全防护策略:如安全日志、入侵检测、隔离防护、漏洞扫描(4)数据备份与恢复手段:存储设备、存储优化、存储保护、存储管理(5)防病毒系统6、描述软件产生内存泄露的原因以及检查方式。(可以结合一种开发语言进行描述)(5分)参考答案:内存泄露的原因,主要是由于开发过程当中申请了计算机资源(例如对象、内存等),但是使用资源完成以后没有及时释放资源导致的。例如在C语言当中使用了malloc申请了内存,但是未使用free来释放内存。7、简述软件自动化测试工具的原理。(5分)参考答案:测试工具的优势在于可部分地替代人工的测试过程,通过测试工具来模拟人的手

13、工操作,这个过程中会记录操作的对象和操作的顺序,然后在回放时按照录制的顺序操作这些对象。能重复不断地执行,能精确判断数值和字符对象。自动化测试工具把测试用例用自动的方式执行,例如,自动地产生数据,自动地打开应用程序,自动地查找控件, 自动地输入数据,自动地操作控件,自动地收集测试结果,自动地与预期结果进行比较等。三、数据库(10分)为管理业务培训信息,建立3个表:S(S#,SN,SD,SA) S#,SN,SD,SA分别代表学号,学员姓名,所属单位,学员年龄C(C#,CN) C#,CN分别代表课程编号,课程名称SC(S#,C#,G) S#,C#,G分别代表学号,所选的课程编号,学习成绩(1) 使

14、用标准SQL嵌套语句查询选修课程名称为税收基础的学员学号和姓名?答:select s# ,sn from s where S# in(select S# from c,sc where c.c#=sc.c# and cn=税收基础)(2) 使用标准SQL嵌套语句查询选修课程编号为C2的学员姓名和所属单位?答:select sn,sd from s,sc where s.s#=sc.s# and sc.c#=c2(3) 使用标准SQL嵌套语句查询不选修课程编号为C5的学员姓名和所属单位?答:select sn,sd from s where s# not in(select s# from sc

15、 where c#=c5)(4) 查询选修了课程的学员人数答:select 学员人数=count(distinct s#) from sc(5) 查询选修课程超过5门的学员学号和所属单位?答:select sn,sd from s where s# in(select s# from sc group by s# having count(distinct c#)5)四、编程题(10分)编程输出1/1+1/3+1/5+1/99的和。参考答案:public class Sum public static void main(String args) float sum = 0.0f; for(f

16、loat i=1.0f;i=99.0f;i=i+2) sum = 1/i + sum; System.out.println(sum); 附加题谈谈软件测试技术,以及一个优秀的软件测试人员应该具备的素质。一、判断题1软件测试的目的是尽可能多的找出软件的缺陷。(Y)2Beta 测试是验收测试的一种。(Y)3验收测试是由最终用户来实施的。(N)4项目立项前测试人员不需要提交任何工件。(Y)5单元测试能发现约80%的软件缺陷。(Y)6代码评审是检查源代码是否达到模块设计的要求。(N)7自底向上集成需要测试员编写驱动程序。(Y)8负载测试是验证要检验的系统的能力最高能达到什么程度。(N)9测试人员要坚

17、持原则,缺陷未修复完坚决不予通过。(N)10代码评审员一般由测试员担任。(N)11我们可以人为的使得软件不存在配置问题。(N)12集成测试计划在需求分析阶段末提交。(N) 二、选折1软件验收测试的合格通过准则是:(ABCD)A 软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。B 所有测试项没有残余一级、二级和三级错误。C 立项审批表、需求分析文档、设计文档和编码实现一致。D 验收测试工件齐全。2软件测试计划评审会需要哪些人员参加?(ABCD)A项目经理BSQA 负责人C配置负责人D测试组3下列关于alpha 测试的描述中正确的是:(AD)Aalpha 测试需要用户代表参加B

18、alpha 测试不需要用户代表参加Calpha 测试是系统测试的一种Dalpha 测试是验收测试的一种4测试设计员的职责有:(BC)A制定测试计划B设计测试用例C设计测试过程、脚本D评估测试活动5软件实施活动的进入准则是:(ABC)A需求工件已经被基线化B详细设计工件已经被基线化C构架工件已经被基线化D项目阶段成果已经被基线化三、添空1.软件验收测试包括:正式验收测试,alpha测试,beta测试。2.系统测试的策略有:功能测试,性能测试,可靠性测试,负载测试,易用性测试,强度测试,安全测试,配置测试,安装测试,卸载测试,文挡测试,故障恢复测试,界面测试,容量测试,兼容性测试,分布测试,可用性

19、测试,(有的可以合在一起,分开写只要写出15就满分哦)3.设计系统测试计划需要参考的项目文挡有:软件测试计划,软件需求工件和迭代计划。4.对面向过程的系统采用的集成策略有:自顶向下,自底向上两种。5.(这题出的有问题哦,详细的5步骤为)通过画因果图来写测试用例的步骤为:(1)分析软件规格说明描述中,哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个原因和结果赋予一个标识符。(2)分析软件规格说明描述中的语义,找出原因与结果之间,原因与原因之间对应的是什么关系? 根据这些关系,画出因果图。(3)由于语法或环境限制,有些原因与原因之间,原因与结果之间的组合情况不可能出现

20、。为表明这些特殊情况,在因果图上用一些记号标明约束或限制条件。(4)把因果图转换成判定表。(5)把判定表的每一列拿出来作为依据,设计测试用例1、什么是软件测试?2【要点】在规定条件下对程序进行操作,以发现错误,对软件质量进行评估,包括对软件形成过程的文档、数据以及程序进行测试。【详解】软件测试就是在软件投入运行前对软件需求分析、软件设计规格说明书和软件编码进行查错(包括代码执行活动与人工活动)。也可以说,软件测试是为了发现错误而执行程序的过程。或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部构造而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发

21、现程序错误,这是在软件投入前,对软件需求分析、软件设计规格说明书和软件编码的最终复审,是软件质量保障的关键步骤。1、 软件测试与软件质量保证的区别。10【要点】软件测试只是质量保证工作中的一个环节,软件质量保证与软件测试是软件质量工程的两个不同层面的工作;质量保证:通过预防、检查与改进来保证软件质量,采用全面质量管理和过程改进的原理来开展质量保证工作,主要关注软件质量的检查与测试,主要着眼于软件开发活动的过程、步骤和产物。软件测试:通过执行软件来,对过程中的产物(开发文档和程序)进行走查,发现问题,报告质量【详解】软件测试和软件质量保证是软件质量工程中的两个不同层面的工作。软件测试只是软件质量

22、保证工作中的一个重要环节。质量保证(QA)的工作是通过预防、检查与改进来保证软件的质量。QA采用的方法重要是按“全面质量管理”和“过程改进”的原来开展质量保证工作。虽然在软件质量保证的活动中也有一些测试活动,但它所以关注的是软件质量的检查和测量。它的主要工作是对软件生命周期的管理,以及检验软件是否满足规定的质量和用户的需求,因此重要是着眼于软件开发活动中的过程,步骤和产物,而不是软件进行剖析,找出问题或者评估。软件测试虽然与开发过程紧密相关,但它所关心的不是过程的活动,而是对过程的产物,以及开发出的软件进行剖析。测试人员要对过程的产物(开发文档和源代码)进行走读,运行软件。以找到问题和报告质量

23、。测试人员必须假设软件存在潜在的问题,测试中所做的操作就是为了找出更多的问题,而不是为了验证(事实上也不可能)软件的正确性。所以软件测试虽然对提高软件的质量起着关键的作用,但它只是软件质量保证的一个重要环节。3、请描述如何划分缺陷与错误严重性和优先级别?10给软件缺陷与错误划分严重性和优先级的通用原则:(1) 表示软件缺陷所造成饿危害和恶劣程度。(2) 优先级表示修复缺陷的重要程度和次序。严重性:(1)、严重:系统崩溃、数据丢失、数据毁坏(2)、较严重:操作性错误、结果错误、遗漏功能文档冲亿季,好礼乐相随mini ipad移动硬盘拍立得百度书包6.Bug的报告过程。7.每周/每两周的构建过程。

24、8.点对点的测试过程。9.组内培训过程。4怎么做好文档测试仔细阅读,跟随每个步骤,检查每个图形,尝试每个示例。P142检查文档的编写是否满足文档编写的目的内容是否齐全,正确内容是否完善标记是否正确5白盒测试有几种方法总体上分为静态方法和动态方法两大类。静态:关键功能是检查软件的表示和描述是否一致,没有冲突或者没有歧义动态:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。6系统测试计划是否需要同行审批,为什么需要,系统测试计划属于项目阶段性关键文档,因此需要评审。7Alpha测试与beta的区别Alpha测试在系统开发接近完成时对应用系统的测试;测试后仍然会有少量的设计变更。

25、这种测试一般由最终用户或其它人员完成,不能由程序或测试员完成。Beta测试当开发和测试根本完成时所做的测试,最终的错误和问题需要在最终发行前找到。这种测试一般由最终用户或其它人员完成,不能由程序员或测试员完成。8比较负载测试,容量测试和强度测试的区别负载测试:在一定的工作负荷下,系统的负荷及响应时间。强度测试:在一定的负荷条件下,在较长时间跨度内的系统连续运行给系统性能所造成的影响。容量测试:容量测试目的是通过测试预先分析出反映软件系统应用特征的某项指标的极限值(如最大并发用户数、数据库记录数等),系统在其极限值状态下没有出现任何软件故障或还能保持主要功能正常运行。容量测试还将确定测试对象在给

26、定时间内能够持续处理的最大负载或工作量。容量测试的目的是使系统承受超额的数据容量来发现它是否能够正确处理。容量测试是面向数据的,并且它的目的是显示系统可以处理目标内确定的数据容量。9测试结束的标准是什么?用例全部测试。覆盖率达到标准。缺陷率达到标准。其他指标达到质量标准10描述软件测试活动的生命周期?测试周期分为计划、设计、实现、执行、总结。其中:计划:对整个测试周期中所有活动进行规划,估计工作量、风险,安排人力物力资源,安排进度等;设计:完成测试方案,从技术层面上对测试进行规划;实现:进行测试用例和测试规程设计;执行:根据前期完成的计划、方案、用例、规程等文档,执行测试用例。总结:记录测试结

27、果,进行测试分析,完成测试报告。11软件的缺陷等级应如何划分?A类严重错误,包括以下各种错误:1由于程序所引起的死机,非法退出2死循环3数据库发生死锁4因错误操作导致的程序中断5功能错误6与数据库连接错误7数据通讯错误B类较严重错误,包括以下各种错误:1程序错误2程序接口错误3数据库的表、业务规则、缺省值未加完整性等约束条件C类一般性错误,包括以下各种错误:1操作界面错误(包括数据窗口内列名定义、含义是否一致)2打印内容、格式错误3简单的输入限制未放在前台进行控制4删除操作未给出提示5数据库表中有过多的空字段D类较小错误,包括以下各种错误:1界面不规范2辅助说明描述不清楚3输入输出不规范4长操

28、作未给用户提示5提示窗口文字未采用行业术语6可输入区域和只读区域没有明显的区分标志E类测试建议大体是这样,还会有一些变动,同时最后一道题出的是画流程图和控制图的题,等腰三角形那个,好了,仅供参考/检举1.软件测试工程师随着软件业的迅猛发展,软件产品的质量控制与质量管理正逐渐成为企业生存与发展的核心。为了保证软件在出厂时的“健康状态”,几乎所有的IT企业在软件产品发布前都需要大量的质量控制工作。作为软件质量控制中的重要一环,软件测试工程师应运而生。他的主要工作就是检测软件,就和其他商品的出厂质量检测差不多.2.需要具备的能力要求(1)熟悉计算机基础知识;(2)熟悉操作系统、数据库、中间件、程序设

29、计语言基础知识;(3)熟悉计算机网络基础知识;(4)熟悉软件工程知识,理解软件开发方法及过程;(5)熟悉软件质量及软件质量管理基础知识;(6)熟悉软件测试标准;(7)掌握软件测试技术及方法;(8)掌握软件测试项目管理知识;(9)掌握C语言以及C+或Java语言程序设计技术;(10)了解信息化及信息安全基础知识;(11)熟悉知识产权相关法律、法规;(12)正确阅读并理解相关领域的英文资料。通过本考试的合格人员能在掌握软件工程与软件测试知识的基础上,运用软件测试管理方法、软件测试策略、软件测试技术,独立承担软件测试项目;具有工程师的实际工作能力和业务水平。3.软件评测师考试说明1.考试要求:(1)

30、熟悉计算机基础知识;(2)熟悉操作系统、数据库、中间件、程序设计语言基础知识;(3)熟悉计算机网络基础知识;(4)熟悉软件工程知识,理解软件开发方法及过程;(5)熟悉软件质量及软件质量管理基础知识;(6)熟悉软件测试标准;(7)掌握软件测试技术及方法;(8)掌握软件测试项目管理知识;(9)掌握C语言以及C+或Java语言程序设计技术;(10)了解信息化及信息安全基础知识;(11)熟悉知识产权相关法律、法规;(12)正确阅读并理解相关领域的英文资料。2.通过本考试的合格人员能在掌握软件工程与软件测试知识的基础上,运用软件测试管理方法、软件测试策略、软件测试技术,独立承担软件测试项目;具有工程师的

31、实际工作能力和业务水平。3.本考试设置的科目包括:(1)软件工程与软件测试基础知识,考试时间为150分钟,笔试,选择题;(2)软件测试应用技术,考试时间为150分钟,笔试,问答题。/软件测试工程师面试题-东软集团软件测试工程师笔试试题(一)01.为什么要在一个团队中开展软件测试工作?02.您是否了解以往所工作的企业的软件测试过程?如果了解,请试述在这个过程中都有哪些工作要做?分别由哪些不同的角色来完成这些工作?03.您是否了解以往所工作的企业的软件开发过程?如果了解,请试述一个完整的开发过程需要完成哪些工作?分别由哪些不同的角色来完成这些工作?(对于软件测试部分,可以简述)04.您在以往的测试工作中都曾经具体从事过哪些工作?其中最擅长哪部分工作?05.您所熟悉的软件测试类型都有哪些?请试着分别比较这些不同的测试

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论