1、以下是收集的最新的软件测试工程师题目,希望对大家有帮助。一、判断题1软件测试的目的是尽可能多的找出软件的缺陷。 (Y)2Beta 测试是验收测试的一种。 (Y)3验收测试是由最终用户来实施的。 (N)4项目立项前测试人员不需要提交任何工件。 (Y)5单元测试能发现约 80%的软件缺陷。 (Y)6代码评审是检查源代码是否达到模块设计的要求。 (N)7自底向上集成需要测试员编写驱动程序。 (Y)8负载测试是验证要检验的系统的能力最高能达到什么程度。 (N)9测试人员要坚持原则,缺陷未修复完坚决不予通过。 (N)10代码评审员一般由测试员担任。 (N)11我们可以人为的使得软件不存在配置问题。 (N
2、)12集成测试计划在需求分析阶段末提交。 (N)二、选择题1软件验收测试的合格通过准则是:(ABCD)A软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。B所有测试项没有残余一级、二级和三级错误。C立项审批表、需求分析文档、设计文档和编码实现一致。D验收测试工件齐全。2软件测试计划评审会需要哪些人员参加?(ABCD)A项目经理BSQA 负责人C配置负责人D测试组3下列关于 alpha 测试的描述中正确的是:(AD)Aalpha 测试需要用户代表参加Balpha 测试不需要用户代表参加Calpha 测试是系统测试的一种Dalpha 测试是验收测试的一种4测试设计员的职责有:(B
3、C)A制定测试计划B设计测试用例C设计测试过程、脚本D评估测试活动5软件实施活动的进入准则是:(ABC)A需求工件已经被基线化B详细设计工件已经被基线化C构架工件已经被基线化D项目阶段成果已经被基线化6、为保证测试活动的可控性,必须在软件测试过程中进行软件测试配置管理,一般来说,软件测试配置管理中最基本的活动包括_A_A配置项标识、配置项控制、配置状态报告、配置审计B配置基线确立、配置项控制、配置报告、配置审计C配置项标识、配置项变更、配置审计、配置跟踪D配置项标识、配置项控制、配置状态报告、配置跟踪7、 _B_方法根据输出对输入的依赖关系设计测试用例。A路径测试 B等价类 C因果图 D边界值
4、8、在 C+语言中,若类 C 中定义了一个方法 int f(int a,int b),那么方法_A_不能与该方法同时存在于类 C 中Aint f(int x, int y) Bint f(float a,int b)C float f(int x,float y) Dint f(int x,float y)9、下列关于软件验收测试的合格通过准则错误的是:_C_A 软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求;B 所有测试项没有残余一级、二级和三级错误;C 立项审批表、需求分析文档、设计文档和编码实现不一致;D 验收测试工件齐全三、填空题1.软件验收测试包括:正式验收测试,
5、alpha 测试,beta 测试。2.系统测试的策略有:功能测试,性能测试,可靠性测试,负载测试,易用性测试,强度测试,安全测试,配置测试,安装测试,卸载测试,文挡测试,故障恢复测试,界面测试,容量测试,兼容性测试,分布测试,可用性测试, (有的可以合在一起,分开写只要写出15 就满分哦)3.设计系统测试计划需要参考的项目文挡有:软件测试计划,软件需求工件和迭代计划。4.对面向过程的系统采用的集成策略有:自顶向下,自底向上两种。5.通过画因果图来写测试用例的步骤为:(1)分析软件规格说明描述中,哪些是原因(即输入条件或输入条件的等价类) ,哪些是结果(即输出条件) ,并给每个原因和结果赋予一个
6、标识符。(2)分析软件规格说明描述中的语义,找出原因与结果之间,原因与原因之间对应的是什么关系?根据这些关系,画出因果图。(3)由于语法或环境限制,有些原因与原因之间,原因与结果之间的组合情况不可能出现。为表明这些特殊情况,在因果图上用一些记号标明约束或限制条件。(4)把因果图转换成判定表。(5)把判定表的每一列拿出来作为依据,设计测试用例。四、简答题1.区别阶段评审的与同行评审同行评审目的:发现小规模工作产品的错误,只要是找错误;阶段评审目的:评审模块阶段作品的正确性可行性及完整性同行评审人数:3-7 人人员必须经过同行评审会议的培训,由 SQA 指导阶段评审人数:5 人左右评审人必须是专家
7、具有系统评审资格同行评审内容:内容小一般文档 40 页,代码 500 行阶段评审内容:内容多,主要看重点同行评审时间:一小部分工作产品完成阶段评审时间:通常是设置在关键路径的时间点上!2.什么是软件测试为了发现程序中的错误而执行程序的过程3 简述集成测试的过程系统集成测试主要包括以下过程:1.构建的确认过程。2.补丁的确认过程。3.系统集成测试测试组提交过程。4.测试用例设计过程。5.测试代码编写过程。6. Bug 的报告过程。7.每周/每两周的构建过程。8.点对点的测试过程。9.组内培训过程。4 怎么做好文档测试仔细阅读,跟随每个步骤,检查每个图形,尝试每个示例。P142检查文档的编写是否满
8、足文档编写的目的内容是否齐全,正确内容是否完善标记是否正确5 白盒测试有几种方法总体上分为静态方法和动态方法两大类。静态:关键功能是检查软件的表示和描述是否一致,没有冲突或者没有歧义动态:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。6 系统测试计划是否需要同行审批,为什么?需要,系统测试计划属于项目阶段性关键文档,因此需要评审。7Alpha 测试与 beta 的区别?Alpha 测试在系统开发接近完成时对应用系统的测试;测试后仍然会有少量的设计变更。这种测试一般由最终用户或其它人员完成,不能由程序或测试员完成。Beta 测试当开发和测试根本完成时所做的测试,最终的错误和
9、问题需要在最终发行前找到。这种测试一般由最终用户或其它人员完成,不能由程序员或测试员完成。8 比较负载测试,容量测试和强度测试的区别?负载测试:在一定的工作负荷下,系统的负荷及响应时间。强度测试:在一定的负荷条件下,在较长时间跨度内的系统连续运行给系统性能所造成的影响。容量测试:容量测试目的是通过测试预先分析出反映软件 系统应用特征的某项指标的极限值(如最大并发用户数、数据库记录数等) ,系统在其极限值状态下没有出现任何软件故障或还能保持主要功能正常运行。容量测试 还将确定测试对象在给定时间内能够持续处理的最大负载或工作量。容量测试的目的是使系统承受超额的数据容量来发现它是否能够正确处理。容量
10、测试是面向数据 的,并且它的目的是显示系统可以处理目标内确定的数据容量。9 测试结束的标准是什么?用例全部测试。覆盖率达到标准。缺陷率达到标准。其他指标达到质量标准10 描述软件测试活动的生命周期?测试周期分为计划、设计、实现、执行、总结。其中:计划:对整个测试周期中所有活动进行规划,估计工作量、风险,安排人力物力资源,安排进度等;设计:完成测试方案,从技术层面上对测试进行规划;实现:进行测试用例和测试规程设计;执行:根据前期完成的计划、方案、用例、规程等文档,执行测试用例。总结:记录测试结果,进行测试分析,完成测试报告。11 软件的缺陷等级应如何划分?A 类严重错误,包括以下各种错误: 1
11、由于程序所引起的死机,非法退出 2 死循环 3 数据库发生死锁 4 因错误操作导致的程序中断 5 功能错误 6 与数据库连接错误 7 数据通讯错误B 类较严重错误,包括以下各种错误: 1 程序错误 2 程序接口错误 3 数据库的表、业务规则、缺省值未加完整性等约束条件C 类一般性错误,包括以下各种错误: 1 操作界面错误(包括数据窗口内列名定义、含义是否一致) 2 打印内容、格式错误 3 简单的输入限制未放在前台进行控制 4 删除操作未给出提示 5 数据库表中有过多的空字段D 类较小错误,包括以下各种错误: 1 界面不规范 2 辅助说明描述不清楚 3 输入输出不规范 4 长操作未给用户提示 5
12、 提示窗口文字未采用行业术语 6 可输入区域和只读区域没有明显的区分标志E 类测试建议五、用例设计随意选取一个简单物品,假定是一个喝水的带广告图案的花纸杯,设计出尽可能多的测试用例。测试项目:杯子需求测试:查看杯子使用说明书界面测试:查看杯子外观功能度:用水杯装水看漏不漏;水能不能被喝到安全性:杯子有没有毒或细菌可*性:杯子从不同高度落下的损坏程度可移植性:杯子再不同的地方、温度等环境下是否都可以正常使用兼容性:杯子是否能够容纳果汁、白水、酒精、汽油等易用性:杯子是否烫手、是否有防滑措施、是否方便饮用用户文档:使用手册是否对杯子的用法、限制、使用条件等有详细描述疲劳测试:将杯子盛上水(案例一)
13、放 24 小时检查泄漏时间和情况;盛上汽油(案例二)放 24 小时检查泄漏时间和情况等压力测试:用根针并在针上面不断加重量,看压强多大时会穿透跌落测试: 杯子加包装(有填充物),在多高的情况摔下不破损震动测试: 杯子加包装(有填充物),六面震动,检查产品是否能应对恶劣的铁路公路航空运输测试数据:测试数据具体编写此处略。其中应用到:场景法、等价类划分法、因果图法、错误推测法、边界值法等方法期望输出:该期望输出需查阅国标、行标以及使用用户的需求说明书测试: 检查说明书书写准确性六、网络、操作系统、语言知识1 请你分别划划 OSI 的七层网络结构图,和 TCP/IP 的五层结构图?答:七层结构从上到
14、下依次是:7 应用层 ;6 表示层 ;5 会话层 ;4 传输层 ;3 网络层 ;2 数据链路层 ;1 物理层 五层结构是5 应用层;4 运输层;3 网络层; 2 链路层;1 物理层。2 请你详细的解释一下 IP 协议的定义,在哪个层上面,主要有什么作用? TCP 与 UDP 呢?答:UDP,TCP 在传输层,IP 在网络层, TCP/IP 是英文 Transmission Control Protocol/Internet Protocol 的缩写,意思是“传输控制协议/网际协议“。TCP/IP 协议组之所以流行,部分原因是因为它可以用在各种各样的信道和底层协议(例如 T1 和 X.25、以太
15、网以及 RS-232 串行接口)之上。确切地说,TCP/IP 协议是一组包括 TCP 协议和 IP 协议,UDP(User Datagram Protocol)协议、ICMP(Internet Control Message Protocol)协议和其他一些协议的协议组。TCP/IP 协议并不完全符合 OSI 的七层参考模型。传统的开放式系统互连参考模型,是一种通信协议的 7 层抽象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上相互通信。这 7 层是:物理层、数据链路层、网路层、传输层、话路层、表示层和应用层。而 TCP/IP 通讯协议采用了 4 层的层级结构,
16、每一层都呼叫它的下一层所提供的网络来完成自己的需求。这 4 层分别为:应用层:应用程序间沟通的层,如简单电子邮件传输(SMTP) 、文件传输协议(FTP) 、网络远程访问协议(Telnet)等。 传输层:在此层中,它提供了节点间的数据传送服务,如传输控制协议(TCP) 、用户数据报协议(UDP)等,TCP 和 UDP 给数据包加入传输数据并把它传输到3 请问交换机和路由器分别的实现原理是什么?分别在哪个层次上面实现的?一般意义上说交换机是工作在数据链路层。但随着科技的发展,现在有了三层交换机,三层交换机已经扩展到了网络层。也就是说:它等于“数据链路层 + 部分网络层” 。交换机中传的是帧。通过
17、存储转发来实现的。 路由器是工作在网络层。路由器中传的是 IP 数据报。主要是选址和路由。4 请问 C+的类和 C 里面的 STRUCT 有什么区别?答:除关键字不同外(class,struct)的唯一区别是,结构在默认情况下的成员是公共(public)的,而类在默认情况下的成员是私有(private)的。 在 C+中,结构是特殊的类。class 是从 struct 发展而来的。之所以将 struct 和 class 都保留,是因为: 1、提出 class 是为了强调一种概念。 2、保留 struct 是为了照顾到大多数人的习惯。 struct 和 class 是有区别的。 struct 保证
18、成员按照声明顺序在内存中存储。class 不保证等等 而它们都可以继承,实现多态等。但也有少许区别。比如: struct A ; class B : A ; /private 继承 struct C : B ; /public 继承 这是由于 class 默认是 private,struct 默认是 public。 一般说来,struct 和 class 可以换用(当然要注意一些语法问题) 。 而 struct 更适合看成是一个数据结构的实现体,class 更适合看成是一个对象的实现体,对私有成员进行保护,还提供与外界的接口。从习惯上更喜欢用 class。5 请讲一讲析构函数和虚函数的用法和作
19、用?答:置于“”是析构函数;析构函数因使用“符号(逻辑非运算符),表示它为腻构造函数,加上类名称来定义。 ;析构函数也是特殊的类成员函数,它没有返回类型,没有参数,不能随意调用,也没有重载,只有在类对象的生命期结束的时候,由系统自动调用。 有适放内存空间的做用! 虚函数是 C+多态的一种表现 例如:子类继承了父类的一个函数(方法) ,而我们把父类的指针指向子类,则必须把父类的该函数(方法)设为 virturl(虚函数)。 使用虚函数,我们可以灵活的进行动态绑定,当然是以一定的开销为代价。 如果父类的函数(方法)根本没有必要或者无法实现,完全要依赖子类去实现的话,可以把此函数(方法)设为 vir
20、turl 函数名=0 我们把这样的函数(方法)称为纯虚函数。 如果一个类包含了纯虚函数,称此类为抽象类6 全局变量和局部变量有什么区别?实怎么实现的?操作系统和编译器是怎么知道的?答:主要的区别是变量的作用范围不同。全局变量在全局范围内都有效,而局部变量只在声明此变量的作用域内有效。全局变量是属于实例的,在初始化对象的时候初始化,生命周期与该实例相同,之所以叫全局变量是因为该实例中的所有方法或属性都可以引用;局部变量是在实例方法内或 static块中,生命周期从调用该方法到该方法退出,并且只有该方法能够引用之。全局变量和局部变量的区别是在存储器中位置不同,具体说,全局变量存储在数据段中,局部变
21、量都有可能,一般来说在堆栈段7 一些寄存器的题目,主要是寻址和内存管理等一些知识。答:寻址方式表示指令中操作数所在的方法称为寻址方式。8086/8088 有七种基本的寻址方式:立即寻找,寄存器寻址,直接寻址,寄存器间接寻址,寄存器相对寻址,基址加变址寻址,相对基址加变址寻址。直接寻址、寄存器间接寻址、寄存器相对寻址、基址加变址寻址和相对基址加变址寻址,这五种寻址方式属于存储器寻址,用于说明操作数所在存储单元的地址。由于总线接口单元 BIU 能根据需要自动引用段寄存器得到段值,所以这五种方式也就是确定存放操作数的存储单元有效地址 EA 的方法。有效地址 EA 是一个 16 位的无符号数,在利用这
22、五种方法计算有效地址时,所得的结果认为是一个无符号数。除了这些基本的寻址方式外,还有固定寻址和 I/O 端口寻址等。内存管理主要包括内存的分配和回收整理等,实现内存的高效利用。Q8:8086 是多少位的系统?在数据总线上是怎么实现的?答:16 位系统,8 位数据传送,通过总线控制逻辑实现数据线和地址线的分时复用.8086 是 Inter 的 16 位微处理器 有 16 根数据线和 20 根地址线,它既能处理 16 位数据,也能处理 8 位数据 内部数据总线都是按 16 位设计的,单外部数据总线只有 8 条七、其他一、谈谈你了解的软件测试流程及工具一般测试流程:1.需求分析阶段:对业务的学习,分
23、析需求点。2.测试计划阶段:测试组长根据 SOW 开始编写测试计划 ,其中包括人员,软件硬件资源,测试点,集成顺序,进度安排和风险识别等内容。3.测试设计阶段:测试方案一般由对需求很熟的高资深的测试工程师设计,测试方案要求根据SRS上的每个需求点设计出包括需求点简介,测试思路和详细测试方法三部分的方案。 测试方案编写完成后也需要进行评审。4.测试方案阶段:主要是对测试用例和规程的设计。测试用例是根据测试方案来编写的,通过测试方案阶段,测试人员对整个系统需求有了详细的理解。这时开始编写用例才能保证用例的可执行和对需求的覆盖。测试用例需要包括测试项,用例级别,预置条件,操作步骤和预期结果。其中操作
24、步骤和预期结果需要编写详细和明确。测试用例应该覆盖测试方案,而测试方案又覆盖了测试需求点,这样才能保证客户需求不遗漏。同样,测试用例也需要评审。5.测试执行阶段:执行测试用例,及时提交有质量的 Bug 和测试日报,测试报告等相关文档。流程:需求分析测试计划测试设计测试环境搭建测试执行测试记录缺陷管理软件评估RTM.测试工具:C/S 及 B/S 架构相关的软件产品,那么对不同操作系统,如 Windows 系列、unix、linux 甚至苹果 OS 等测试环境都是必须的常用的软件测试工具分为:开源测试管理工具:Bugfree、Bugzilla、TestLink、mantis开源功能自动化测试工具:Watir、Selenium、MaxQ、WebInject开源性能自动化测试工具:Jmeter、OpenSTA、DBMonster、TPTEST、Web ApplicationLoadSimulatorTestDirector:企业级测试管理工具,也是业界第一个基于 Web 的测试管理系统。Quality Center:基于 Web 的测试管理工具,可以组织和管理应用程序测试流程的所有