logo资料库

华为软件测试笔试题.doc

第1页 / 共28页
第2页 / 共28页
第3页 / 共28页
第4页 / 共28页
第5页 / 共28页
第6页 / 共28页
第7页 / 共28页
第8页 / 共28页
资料共28页,剩余部分请下载后查看
1.软件验收测试包括: 正式验收测试,alpha 测试,beta 测试。 华为软件测试笔试题 2.系统测试的策略有:功能测试,性能测试,可靠性测试,负载测试,易用性测试, 强度测试,安全测试,配置测试,安装测试,卸载测试,文挡测试,故障恢复测试,界面 测试,容量测试,兼容性测试,分布测试,可用性测试,(有的可以合在一起,分开写只 要写出 15 就满分哦) 3.设计系统测试计划需要参考的项目文挡有:软件测试计划,软件需求工件和迭代计 划。 4.对面向过程的系统采用的集成策略有:自顶向下,自底向上两种。 1、区别阶段评审的与同行评审 同行评审目的:发现小规模工作产品的错误,只要是找错误; 同行评审人数:3-7 人人员必须经过同行评审会议的培训,由 SQA 指导 同行评审内容:内容小一般文档 < 40 页, 代码 < 500 行 同行评审时间:一小部分工作产品完成 阶段评审目的:评审模块阶段作品的正确性 可行性 及完整性 阶段评审人数:5 人左右评审人必须是专家 具有系统评审资格 阶段评审内容: 内容多,主要看重点 阶段评审时间: 通常是设置在关键路径的时间点上! 2.什么是软件测试 为了发现程序中的错误而执行程序的过程 3 简述集成测试的过程 系统集成测试主要包括以下过程: 1. 构建的确认过程。 2. 补丁的确认过程。 3. 系统集成测试测试组提交过程。 4. 测试用例设计过程。 5. 测试代码编写过程。
6. Bug 的报告过程。 7. 每周/每两周的构建过程。 8. 点对点的测试过程。 9. 组内培训过程。 4 怎么做好文档测试 仔细阅读,跟随每个步骤,检查每个图形,尝试每个示例。 检查文档的编写是否满足文档编写的目的 内容是否齐全,正确 内容是否完善 标记是否正确 5 白盒测试有几种方法 总体上分为静态方法和动态方法两大类。 静态:关键功能是检查软件的表示和描述是否一致,没有冲突或者没有歧义 动态:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。 白盒测试有那几种方法?(6 分) 1 代码检查法 2 静态结构分析法。3 静态质量试题法。4 逻辑覆盖法 6 系统测试计划是否需要同行审批,为什么 需要,系统测试计划属于项目阶段性关键文档,因此需要评审。 7 Alpha 测试与 beta 的区别 Alpha 测试在系统开发接近完成时对应用系统的测试;测试后仍然会有少量的设计变 更。这种测试一般由最终用户或其它人员完成,不能由程序或测试员完成。 Beta 测试当开发和测试根本完成时所做的测试,最终的错误和问题需要在最终发行前 找到。这种测试一般由最终用户或其它人员完成,不能由程序员或测试员完成。 8 比较负载测试,容量测试和强度测试的区别 负载测试:在一定的工作负荷下,系统的负荷及响应时间。 强度测试:在一定的负荷条件下,在较长时间跨度内的系统连续运行给系统性能所造 成的影响。
容量测试:容量测试目的是通过测试预先分析出反映软件系统应用特征的某项指标的 极限值(如最大并发用户数、数据库记录数等),系统在其极限值状态下没有出现任何软 件故障或还能保持主要功能正常运行。容量测试还将确定测试对象在给定时间内能够持续 处理的最大负载或工作量。容量测试的目的是使系统承受超额的数据容量来发现它是否能 够正确处理。容量测试是面向数据的,并且它的目的是显示系统可以处理目标内确定的数 据容量。 9 测试结束的标准是什么? 用例全部测试。 覆盖率达到标准。 缺陷率达到标准。 其他指标达到质量标准 10 描述软件测试活动的生命周期? 测试生命周期:测试需求、测试总体设计、测试详细设计、单元测试、集成测试、系 统测试、验收测试。 测试周期分为计划、设计、实现、执行、总结。其中: 计划:对整个测试周期中所有活动进行规划,估计工作量、风险,安排人力物力资源, 安排进度等; 设计:完成测试方案,从技术层面上对测试进行规划; 实现:进行测试用例和测试规程设计; 执行:根据前期完成的计划、方案、用例、规程等文档,执行测试用例。 总结:记录测试结果,进行测试分析,完成测试报告。 11 软件的缺陷等级应如何划分? A 类—严重错误,包括以下各种错误: 1. 由于程序所引起的死机,非法退出 2. 死 循环 3. 数据库发生死锁 4.因错误操作导致的程序中断 5. 功能错误 6. 与数据库连 接错误 7. 数据通讯错误 B 类—较严重错误,包括以下各种错误: 1. 程序错误 2. 程序接口错误 3.数据库 的表、业务规则、缺省值未加完整性等约束条件 C 类—一般性错误,包括以下各种错误: 1. 操作界面错误(包括数据窗口内列名定 义、含义是否一致) 2. 打印内容、格式错误 3. 简单的输入限制未放在前台进行控制 4. 删除操作未给出提示 5. 数据库表中有过多的空字段 D 类—较小错误,包括以下各种错误: 1. 界面不规范 2. 辅助说明描述不清楚 3.输 入输出不规范 4.长操作未给用户提示 5. 提示窗口文字未采用行业术语 6. 可输入区 域和只读区域没有明显的区分标志 E 类—测试建议
5.通过画因果图来写测试用例的步骤为 1 分析软件规格说明中那些原因 那些结果 2 分 析软件规格说明语义 找出原因与结果之间, 原因与原因之间对应的关系. 3 在因果图上用 一些记号表明约束或限制条件. 4 把因果图转换为判定表以及把因果图转 换为状态图共五 个步骤。 一、填空题:(每一空格 2 分,共 60 分) 1、 软件实施活动的输出工件有基本上设计工件模型等都是先勾画出一个轮廓,然后慢慢 的添加,或者把独立的工件设计好再组合到一起。 2、 代码评审主要做一类是正式技术评审,也称同行评审,另一类是非正式技术评审工作 3 软件测试主要分为 单元测试 集成测试 系统测试 回归测试 四类测试。 10、软件测试角色有 计划者 设计者 实施者 执行者 报告者。 三、问答题:(共 25 分) 1、 项目的集中管理在软件公司的哪一个层面?(2 分) 质量管理 3、 什么是测试评估,测试评估的范围是什么?(5 分) 软件测试评估是指对未正式投入商业化使用的软件进行预先的小规模试验,又称小试。主 要是由代码审查和合理性分析组成。 测试评估的范围:功能,性能,界面,实用性,速度,兼容性,易用性,各模块的完善性 等 4、 阐述工作版本的定义。(2 分) 工作版本是迭代生命周期不可缺少的组成部分。 5 、 请画出软件测试活动的流程图。(8 分) 2、 如果能够执行完美的黑盒测试,还需要进行白盒测试吗?为什么?(5 分)这是必须
的,白盒测试有利于更好的了解内部结构 达到更高的覆盖率 从而找出问题的关键。 3、 你认为一个优秀的测试工程师应该具备哪些素质?(3 分) 对软件需求以及业务的理解 测试方法 基础知识的掌握 7、 软件件测试应该划分几个阶段?简述各个阶段应重点测试的点?各个阶段的含义?(5 分) 单元测试 单元测试是对软件中的基本组成单位进行的测试,如一个模块、一个过程等等。它是软 件动态测试的最基本的部分,也是最重要的部分之一,其目的是检验软件基本组成单位的 正确性。 集成测试 集成测试是在软件系统集成过程中所进行的测试,其主要目的是检查软件单位之间的接 口是否正确。 系统测试 系统测试是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能 等满足其规约所指定的要求 验收测试 验收测试旨在向软件的购买者展示该软件系统满足其用户的需求。它的测试数据通常是 系统测试的测试数据的子集. 三、 专业词语解释(每题 2 分) α测试: β测试: 驱动模块: 桩模块: 白盒测试: 静态 测试: α测试是指软件开发公司组织内部人员模拟各类用户行对即将面市软件产品(称为α 版本)进行测试,试图发现错误并修正。α测试的关键在于尽可能逼真地模拟实际运行环 境和用户对软件产品的操作并尽最大努力涵盖所有可能的 用户操作方式。经过α测试调整 的软件产品称为β版本。 β测试是由软件的多个用户在实际使用环境下进行的测试,这些用户返回有关错误信 息给开发者。测试时,开发者通常不在测试现场。因而,β测试是在开发者无法控制的环 境下进行的软件现场应用。在β测试中,由用户记下遇到的所有问题,包括真实的以及主 观认定的,定期向开发者报告。β测试主要衡量产品的 FLURPS,着重于产品的支持性,包 括文档,客户培训和支持产品生产能力。 驱动模块是用来模拟被测试模块的上一级模块,相当于被测模块的主程序。它接收数 据,将相关数据传送给被测模块,启用被测模块,并打印出相应的结果。 桩模块(Stub)是指模拟被测试的模块所调用的模块,而不是软件产品的组成的部分。 主模块作为驱动模块,与之直接相连的模块用桩模块代替。在集成测试前要为被测模块编制 一些模拟其下级模块功能的“替身”模块,以代替被测模块的接口,接受或传递被测模块 的数据,这些专供测试用的“假”模块称为被测模块的桩模块。 黑盒测试又称功能测试、数据驱动测试或基于规格说明的测试。用这种方法进行测试 是,被测程序被当作打不开的黑盒,因而无法了解其内部构造。完全不考虑程序内部接口 和内部特性的情况下,测试者只关注程序的输入和输出直接的关系,或者程序的功能,依 靠这一关系和程序功能的需求规格说明书考虑确定测试用例和推断测试结果的正确性。因 此黑盒测试从用户角度出发的测试。常用的方法有等价类划分,因果图,正交实验设计法, 边界值分析法,判定表驱动法等。 白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测 试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路
是否都能按预定要求正确工作。 这一方法是把测试对象看作一个打开的盒子,测试人员依 据程序内部逻辑结构相关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通 过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。 静态方法是指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、 接口等来检查程序的正确性。对需求规格说明书、软件设计说明书、源程序做结构分析、 流程图分析、符号执行来找错。 3 、 述静态测试和动态测试的区别?(5 分) 静态方法是指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等 来检查程序的正确性。对需求规格说明书、软件设计说明书、源程序做结构分析、流程图分 析、符号执行来找错。静态方法通过程序静态特性的分析,找出欠缺和可疑之处,例如不匹 配的参数、不适当的循环嵌套和分支嵌套、不允许的递归、未使用过的变量、空指针的引用 和可疑的计算等。静态测试结果可用于进一步的查错,并为测试用例选取提供指导。 动态测试方法是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率和 健壮性等性能,这种方法由三部分组成:构造测试实例、执行程序、分析程序的输出结果。 1. 什么是软件测试,以及软件测试的意义? 软件测试是软件开发过程的重要组成部分,是用来确认一个程序的品质或性能是否符 合开发之前所提出的一些要求。软件测试就是在软件投入运行前,对软件需求分析、设计 规格说明和编码的最终复审,是软件质量保证的关键步骤。软件测试是为了发现错误而执 行程序的过程。软件测试在软件生存期中横跨两个阶段:通常在编写出每一个模块之后就 对它做必要的测试(称为单元测试)。编码和单元测试属于软件生存期中的同一个阶段。在 结束这个阶段后对软件系统还要进行各种综合测试,这是软件生存期的另一个独立阶段, 即测试阶段。 软件测试的意义:a.发现软件错误 b.有效定义和实现软件成分由低层到高层的组装过 程 c.验证软件是否满足任务书和系统定义文档所规定的技术要求 d. 为软件质量模型的建 立提供依据; 3. 下面那些属于静态分析(Abc) A、 编码规则检查 B、 程序结构分析 C、 程序复杂度分析 D、 内存泄漏 4. 下面那些属于动态分析(bcd) A、 代码覆盖率 B、 模块功能检查 C、 系统压力测试 D、 程序数据流分析 5. 从测试技术角度,正确的选择是(b d),给出各自的含义? A、 静态测试 B、 黑盒测试 C、 动态测试 D、 白盒测试 6. 从测试阶段角度,测试正确的顺序是(a b c d),同时给出所选择的正确策略含义和 被测对象是什么?
A、 单元测试 B、 集成测试 C、 系统测试 D、 确认测试 7. 针对缺陷采取怎样的管理措施? 1.要更好的管理缺陷,必须引入缺陷管理工具,商用的或者开源的都可。 2.根据缺陷的生命周期,考虑缺陷提交的管理、缺陷状态的管理和缺陷分析的管理。 3.所有发现的缺陷(不管是测试发现的还是走读代码发现的)都必须全部即时的、准确的 提交到缺陷管理工具中,这是缺陷提交的管理。 4.缺陷提交后,需要即时的指派给相应的开发人员,提交缺陷的人需要密切注意缺陷的状 态,帮助缺陷的尽快解决。缺陷解决后需要即时对缺陷的修复进行验证。这样的目的有两 个:一个是让缺陷尽快解决;二是方便后面缺陷的分析(保证缺陷相关的信息准确,如龄 期等),这是缺陷状态的管理。 5.为了更好的改进开发过程和测试过程,需要对缺陷进行分析,总结如缺陷的类别、缺陷 的龄期分布等信息,这是缺陷分析的管理。 8. 在测试生命周期,测试过程分为几个阶段,以及各个阶段的含义? 1.测试生命周期总的来说包括测试设计阶段和测试执行阶段,其中测试设计阶段又包括系统 测试设计,集成测试设计,单元测试设计,而执行阶段包括单元测试执行,集成测试执行和 系统测试执行(按时间的先后来说的);但是测试过程却分为测试计划,测试方案(设计), 用例实现,和测试执行。 9. 简要写出自己在理解的基础质上所认为引入测试管理的意义 引入测试管理只要是为了更好的保证软件质量,提高测试效率。比如缺陷跟踪等等. 一、判断题(每题 1 分,12 分,正确的√,错误的╳) 1.软件测试的目的是尽可能多的找出软件的缺陷。(√) 软件测试的目的就是为了发现软 件中的缺陷,从这个意义上面说上面的这个论断是正确的。不少人会认为软件测试可以保 证软件的质量,其实这个观点是错误,测试只是软件质量控制中的一个角色,其活动并不 能达成软件质量保证的效果。所以不要认为一个公司里面如果有了软件测试人员,产品的 质量就会好起来。 2.Beta 测试是验收测试的一种。(×) Beat 测试和验收测试是两种不同的测试。验收测试 的目的是为了以发现”未实现的需求”为目的,以评估”适合使用”为目标,该类测试的 不是以发现缺陷为主要目的。beta 测试是一模拟真实的使用环境从而发现缺陷的一种测试。 所以两者之间的是非包容关系。 3.验收测试是由最终用户来实施的。(×) 上面说到了验收测试的目的和目标,所以验收 测试也可是是软件生产的企业内部人员来实施。例如产品经理。当软件以项目的形式出现, 那么验收测试由最终用户来实施的情况是比较长见的。但是对于产品形式的软件,生产企 业内部的验收测试会更多。 4.项目立项前测试人员不需要提交任何工件。(√) 应该说这道题目没有明确的答案,在 项目立项前测试人员是不是要把一些准备工作以工件的形式给记录下来是完全取决于该企 业的软件开发过程的要求。同时不同企业,立项前要达成的一些必要条件也是大相径庭的。
应该说这一题目出的不是很好,如果你是出题人这家企业的测试工程师,那么就应该有一 个明确的答案。 5.单元测试能发现约 80%的软件缺陷。(√) 同样这一题目也没有标准答案。因为该数据的 来源和其统计的方法,样本都没有一个工业标准。这样出来的数据同样不具有权威性。这 里我可以说一个简单的例子,在用 ASP,php 这类脚本语言开发网页的时候是根本没有复杂 的单元测试。那么这样的数字应用在网站开发上面是否有意义,还是值得商榷的。所以这 道题目出的不好,没有明确的答案 6.代码评审是检查源代码是否达到模块设计的要求。(×) 代码审查是一种静态技术,从 这个意义上说代码复查是需要和其他的一些动态测试技术配合才能检查代码是否符合设计 的要求 7.自底向上集成需要测试员编写驱动程序。(√) 这道题目大家看下 top-down 和 down-top 的集成测试示意图就能得出明确的答案。这里需要了解的是什么是驱动测试程序,什么是 桩程序。如果集成组件数量众多,多关系层次,那么不论是什么类型的集成测试。驱动程 序和桩程序都是需要开发的。 8.负载测试是验证要检验的系统的能力最高能达到什么程度。(×) 关于负载测试和压力 测试在论坛中的帖子中有详细的解释,大家可以去看一下就能得出正确的答案 9.测试人员要坚持原则,缺陷未修复完坚决不予通过。(×) 同样,这一题没有正确的答 案。缺陷是否修复是需要听取测试人员的意见,但测试人员的意见非决定性。所以还是要 看一个企业赋予测试人员有多大的权力。 10.代码评审员一般由测试员担任。(×) 如果测试员有这个水平,那么当然是可以参加的。 不过大多数的企业不会让普通的测试人员参与代码的评审。 11.我们可以人为的使得软件不存在配置问题。(×) 首先大家先搞清楚什么是配置管理什 么是软件配置,从这道题目中看不出出题人想问的是关键工程中的配置管理还是单纯的软 件配置。但是可以肯定的是不论是何种情况,答案均是否定的。 12.集成测试计划在需求分析阶段末提交。(×) 集成测试计划在开发人员完成软件集成计 划之后就可以开始进行了。所以在需求分析阶段之后提交是不现实的事情,应该在软件的 设计阶段后,编码前。 二、不定项选择题(每题 2 分,10 分) 1.软件验收测试的合格通过准则是:(A C D) A. 软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。 B. 所 有测试项没有残余一级、二级和三级错误。 C. 立项审批表、需求分析文档、设计文档和编码实现一致。 D. 验收测试工件齐全。 回答这道题,你必须是这家企业的员工。前面说到了验收测试的目的和目标,一个是需求 必须实现,二是证明软件是适合使用的。这样能满足这两个通用标准就可以了。当然有些
分享到:
收藏