软件测试复习考试题
软件测试复习题(附答案)
软件测试复习题(附答案)一、单选题(共100题,每题1分,共100分)1.( )的优点是:对控制流程描述直观,便于初学者掌握。
A、盒图B、程序流程图C、PAD图D、判定表正确答案:B2.软件项目可行性分析的研究内容包括:技术可行性、经济可行性、运行可行性以及( )等。
A、环境可行性B、人员可行性C、法律可行性D、时间可行性正确答案:C3.( )是结构化系统分析的基本工具。
A、程序流程图B、对话图C、数据流图D、状态转化图正确答案:C4.在VC中,如果在Menu Item属性页中选择( )复选框,表示此菜单项是一个多级菜单,并且其右边将会出现一个新菜单框。
A、CheckedB、inactiveC、Pop-upD、Grayed正确答案:C5.( )是网络的核心,它的主要任务是为网络上的其它机器提供服务。
A、客户机B、服务器C、网络协议D、工作站正确答案:B6.虚拟机好似通用的计算机,有自己的指令系统,但本身没有( )。
A、翻译指令B、操作系统C、实际的硬件D、翻译程序正确答案:C7.所有的( )必须与业务需求一致。
A、用户需求B、系统需求C、产品需求D、功能需求正确答案:A8.软件测试是软件质量保证的重要手段()是软件测试的最基础环节A、单元测试B、验收测试C、确认测试D、系统测试正确答案:A9.( )也称为分支覆盖,是一种较强的逻辑覆盖。
A、路径覆盖B、判定覆盖C、条件组合覆盖D、条件覆盖正确答案:B10.下列有关测试说法中,正确的是()A、测试组的测试工作是在编码阶段开始的B、静态测试是不运行被测程序本身,而寻找程序代码中可能存在的错误或评估程序代码的过程C、所有的测试都适合引入测试工具辅助进行测试D、只要进行有效的测试,就能获得高质量的软件产品正确答案:B11.( )除提供身份证明外,还可指出所签的文档是否已被修改。
A、公开密钥B、传统签名C、私有密钥D、数字签名正确答案:D12.以下不用于单机版系统测试的是()。
软件测试复习题
软件测试复习题一、选择题1. 软件测试的目的是:A. 验证软件的功能是否符合设计要求B. 确保软件没有缺陷C. 减少软件的缺陷D. 所有选项2. 黑盒测试与白盒测试的区别在于:A. 测试方法B. 测试数据C. 测试工具D. 测试人员3. 单元测试通常由谁执行?A. 测试团队B. 开发人员C. 项目经理D. 质量保证团队4. 功能测试主要关注软件的:A. 性能B. 可用性C. 正确性D. 可维护性5. 以下哪个不是软件测试的类型?A. 回归测试B. 系统测试C. 集成测试D. 性能测试二、填空题1. 软件测试的生命周期包括需求分析、设计、编码、测试和________。
2. 测试用例通常包括测试输入、测试执行步骤、预期结果和________。
3. 压力测试是一种________测试,它用来评估软件在极端条件下的表现。
4. 软件测试的基本原则之一是测试显示存在缺陷,测试不显示________。
5. 软件测试的目的是发现缺陷,而不是证明软件没有缺陷,这是________原则。
三、简答题1. 描述软件测试过程中的回归测试的作用。
2. 解释什么是探索性测试,并给出其与脚本化测试的区别。
3. 描述在软件测试中,为何需要进行风险评估。
4. 讨论自动化测试的优势和局限性。
5. 阐述在敏捷软件开发过程中,测试的角色和重要性。
四、论述题1. 论述软件测试中缺陷生命周期的各个阶段,并解释每个阶段的重要性。
2. 讨论在软件开发生命周期中,测试活动如何与开发活动相辅相成。
3. 分析在现代软件开发中,持续集成和持续部署对软件测试的影响。
4. 论述在进行软件测试时,如何平衡测试的覆盖率和测试的成本效益。
5. 讨论在全球化的软件开发环境中,文化差异对软件测试的影响及应对策略。
软件测试复习题含答案
一、选择题1、配置测试()(A) 是指检查软件之间是否正确交互和共享信息(B) 是交互适应性、实用性和有效性的集中体现(C) 是指使用各种硬件来测试软件操作的过程(D) 检查缺陷是否有效改正2、下列各项中______不是一个测试计划所应包含的内容()(A)测试资源、进度安排(B)测试预期输出(C)测试范围 (D)测试策略3、下列不属于正式审查的方式是________ ()(A)同事审查(B) 公开陈述(C) 检验(D) 编码标准和规范4、在没有产品说明书时使用____:()(A)探索测试(B) 功能测试(C) 动态测试(D) 静态测试5、调试是________。
()(A)发现与预先定义的规格和标准不符合的问题(B)发现软件错误征兆的过程(C)有计划的、可重复的过程(D)消除软件错误的过程6、在软件底层进行的测试称为________。
()(A) 系统测试 (B) 集成测试(C) 单元测试 (D) 功能测试7、在确定黑盒测试策略时,优先选用的方法是________。
()(A) 边界值分析法 (B) 等价类划分(C) 错误推断法 (D) 决策表方法8、下列_________不属于软件缺陷()(A) 测试人员主观认为不合理的地方(B) 软件未达到产品说明书标明的功能(C)软件出现了产品说明书指明不会出现的错误(D)软件功能超出产品说明书指明范围9、产品发布后修复软件缺陷比项目开发早期这样做的费用要高()(A)1~2倍 (B)10~20倍(C)50倍 (D)100倍或更高10、_____把黑盒子测试和白盒子测试的界限打乱了。
()(A) 灰盒子测试(B)动态测试(C)静态测试(D)失败测试11、软件测试的目的是________。
()(A)发现程序中的所有错误(B)尽可能多地发现程序中的错误(C)证明程序是正确的(D)调试程序12、下列_______不属于测试原则的内容()(A)软件测试是有风险的行为(B)完全测试程序是不可能的(C)测试无法显示潜伏的软件缺陷(D)找到的缺陷越多软件的缺陷就越少13、导致软件缺陷的最大原因是________。
软件测试复习题汇总
软件测试总复习题一、单选1.对程序中已发现的错误进行错误定位和确定出错性质,并改正这些错误,同时修改相关的文档,称为(B)A)测试B)调试 C)错误分析D)验证2.数据流覆盖关注的是程序中某个变量从其声明、赋值到引用的变化情况,它是下列哪一种覆盖的变种(A)A)语句覆盖B)控制覆盖C)分支覆盖D)路径覆盖3.程序的流程图如下图所示,采用路径覆盖法进行测试,则至少需要几个测试用例可以覆盖所有可能的路径(C)A)5 B)6 C)7 D)84.如果一个判定中的复合条件表达式为(A > 1)or(B <= 3),则为了达到100%的条件覆盖率,至少需要设计多少个测试用例(B)A)1 B)2 C)3 D)45.自底向上单元测试的策略是首先对模块调用图上的哪一层模块进行测试(A)A)最底层B)下一层 C)最高层 D)上一层6.基本路径测试满足( B)A)语句覆盖B)路径覆盖 C)分支覆盖 D)条件覆盖7.集成测试对系统内部的交互以及集成后系统功能检验了何种质量特性(B)A)正确性B)可靠性 C)可使用性 D)可维护性8.在软件性能测试中,下列指标中哪个不是软件性能的指标( D )A)响应时间B)吞吐量 C)资源利用率 D)并发进程数9.下列关于软件性能测试的说法中,正确的是(B)A)性能测试的目的不是为了发现软件缺陷B)压力测试与负载测试的目的都是为了探测软件在满足预定性能需求的情况下所能负担的最大压力C)性能测试通常要对测试结果进行分析才能获得测试结论D)在性能下降曲线上,最大建议用户数通常处于性能轻微下降区与性能急剧下降区的交界处10.下列关于软件可靠性测试的说法中,错误的是( A)A)发现软件缺陷是软件可靠性测试的主要目的B)软件可靠性测试通常用于有可靠性要求的软件C)在一次软件可靠性测试中,执行的测试用例必须完全符合所定义的软件运行剖面D)可靠性测试通常要对测试结果进行分析才能获得测试结论11.下列关于面向对象软件测试的说法中,正确的是(A)A)在测试一个类时,只要对该类的每个成员方法都进行充分的测试就完成了对该类充分的测试B)在存在多态的情况下,为了达到较高的测试充分性,应对所有可能的绑定都进行测试C)假设类B是类A的子类,如果类A已进行了充分的测试,在测试类B时不必测试任何类B继承类A的成员方法D)对于一棵继承树上的多个类,只有处于叶节点的类需要测试12.下列哪种测试不属于面向对象单元测试考虑的范畴(D)A)成员方法的测试B)类的测试C)类树的测试D)多个相互协作的类树的测试13.下列关于面向对象集成测试的说法中,正确的是(B)A)大突击集成是面向对象集成测试最常用且最有效的方法B)自底向上集成和自顶向下集成都需要为集成测试开发大量代码C)协作集成在任何情况下都优于自底向上集成和自顶向下集成D)高频集成是以自底向上集成为基础,利用冒烟测试进行的集成测试14.下列有关测试过程V模型的说法中,正确的是(C)A)验收测试应确定程序的执行是否满足软件设计的要求B)系统测试应确定系统功能和性能的质量特性是否达到系统要求的指标C)单元测试和集成测试应确定软件的实现是否满足用户需要或合同的要求D)集成测试在编码结束前就可以开始15.计算机软件测试规范规定,软件测试的类别可分为:单元测试、集成测试以及(C)A)系统测试B)验收测试C)系统测试和验收测试D)配置项测试、系统测试和验收测试16.经验表明,在程序测试中,某模块与其他模块相比,若该模块已发现并改正的错误数目较多,则该模块中残存的错误数目与其他模块相比,通常应该(D)A)较少B)较多C)相似D)不确定17.同行评审,有时称为同级评审,是一种通过作者的同行来确认缺陷和需要变更区域的检查方法。
《软件测试》期末复习试题及答案
《软件测试》期末复习试题及答案阶段测试一一. 单选题(共16题,65.6分)1. (单选题)(D )不是正确的软件测试目的。
A. 尽最大的可能找出最多的错误B. 设计一个好的测试用例对用户需求的覆盖度达到100%C. 对软件质量进行度量和评估,以提高软件的质量D. 发现开发所采用的软件过程的缺陷,进行软件过程改进2. (单选题)下面说法正确的是(C)。
A. 经过测试没有发现错误,说明程序正确B. 测试的目标是证明程序没有错误C. 成功的测试是发现了迄今尚未发现的错误的测试D. 成功的测试是没有发现错误的测试3. (单选题)下列选项中,不属于软件测试工程师职责范围的是(C)。
A. 测试方案设计B. 测试用例设计C. 进行代码调优D. 测试实施4. (单选题)下面属于软件测试模型的是(A)A. W模型B. 瀑布模型C. L模型D. G模型5. (单选题)下面关于软件测试模型的描述中,不正确的是(A)。
①V模型的软件测试策略既包括低层测试,又包括高层测试,高层测试是为了确保源码的正确性,低层测试是为了使整个系统满足用户的需求②V模型存在一定的局限性,它仅仅将测试过程作为在需求分析、概要设计、详细设计及编码之后的一个阶段③W模型可以说是V模型自然而然的发展,它强调:测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、功能和设计同样要测试④H模型中,软件测试是一个独立的流程,贯穿产品的整个生命周期,与其他流程并发地进行⑤H模型中,测试准备和测试实施紧密结合,有利于资源调配A. ①⑤B. ②④C. ③④6. (单选题)下列关于W模型的描述中正确的是(A)A. W模型强调测试伴随着整个软件开发周期,测试对象不仅仅是程序,需求、功能和文档同样需要测试B. 所有开发活动完成后,才可执行测试C. W模型将软件的开发视为合同签订、需求、设计、编码等一系列串行活动D. 在W模型中,需求、设计、编码串行进行,也可以并行工作7. (单选题)V模型描述了软件基本的开发过程和测试行为,描述了不同测试阶段与开发过程各段的对应关系。
软件测试技术复习题(含答案)
注释:黄色表示重复或相似一、选择题1.软件测试的目的是(B )A.避免软件开发中出现的错误B.发现软件中出现的错误C.容忍软件中出现的错误D.修改软件中出现的错误2.对于逻辑表达式((a&b)| |c),需要(C )个测试用例才能完成条件组合覆盖。
A.2B.3C.4D.53.逻辑覆盖法不包括(C )。
A.分支覆盖B.语句覆盖C.需求覆盖D.修正条件判定覆盖4.如果某测试用例集实现了某软件的路径覆盖,那么它一定同事实现了该软件的(A )。
A.判定覆盖B.条件覆盖C.判定/条件覆盖D.组合覆盖5.使用白盒测试方法时,确定测试数据的依据是指定覆盖标准和(B )。
A.程序的注释B.程序的内部逻辑C.用户使用说明书D.程序的需求说明6.划分软件测试属于白盒测试还是黑盒测试的依据是(C )。
A.是否执行程序代码B.是否能看到软件设计文档C.是否能看到被测源程序D.运行结果是否确定7.单元测试中用来模拟被测模块调用者的模块是(C )A.父模块B.子模块C.驱动模块D.桩模块8.不属于单元测试内容的是(A )A.模块接口测试B.局部数据结构测试C.路经测试D.用户界面测试9.客户端交易处理性能指标是一类重要的负载压力测试指标,以下不属于客户端交易处理性能指标的是(C )A.负载测试B.压力测试C.疲劳强度测试D.大数据量测试10.以下不属于易用性而的是(D )A.功能易用性测试B.用户界面测试C.辅助功能测试D.可靠性测试11.软件测试的目的是(F )E.避免软件开发中出现的错误F.发现软件中出现的错误G.容忍软件中出现的错误H.修改软件中出现的错误12.软件的测试对象包括(D )。
A.软件代码B.文档C.数据D.以上全选13.对于逻辑表达式((a&b)| |c),需要(G )个测试用例才能完成条件组合覆盖。
E.2F.3G.4H.514.如果某测试用例集实现了某软件的路径覆盖,那么它一定同事实现了该软件的(E )。
软件测试笔试题及答案
软件测试笔试题及答案一、选择题1. 软件测试的目的是()。
A. 证明软件的正确性B. 发现并修复软件的缺陷C. 增加软件的功能D. 减少软件的性能开销答案:B2. 下列哪个测试方法是黑盒测试?()。
A. 语句覆盖B. 条件覆盖C. 路径覆盖D. 边界值分析答案:D3. 在软件测试中,回归测试的目的是()。
A. 测试软件的新功能B. 确保修改引起的问题C. 验证软件修改后的版本D. 测试软件的性能答案:C4. 单元测试通常由谁来完成?()。
A. 项目经理B. 开发人员C. 测试人员D. 用户答案:B5. 测试用例是()。
A. 用于执行测试的代码B. 一组测试输入、执行条件以及预期结果C. 软件测试工具D. 软件缺陷报告答案:B二、判断题1. 集成测试是在单元测试之后进行的。
(正确)2. 测试计划是测试过程中最不重要的文档。
(错误)3. 所有的软件缺陷都必须立即修复。
(错误)4. 测试覆盖率是一个衡量测试完整性的指标。
(正确)5. 静态测试不涉及实际运行代码。
(正确)三、简答题1. 请简述黑盒测试和白盒测试的区别。
答:黑盒测试是一种测试方法,它主要关注软件的功能需求,而不关心内部结构或代码。
测试人员像用户一样使用软件,检查功能是否按预期工作。
白盒测试则关注软件内部逻辑和代码结构,测试人员需要了解程序的内部工作原理,通过设计测试用例来检查代码的正确性和完整性。
2. 描述软件测试的生命周期。
答:软件测试生命周期(STLC)包括了从测试计划的制定到测试活动的结束的整个过程。
它通常包括以下阶段:测试计划、测试准备、测试执行、测试跟踪和控制、测试报告以及测试维护。
在这个周期中,测试团队会计划测试活动、设计和执行测试用例、记录和报告测试结果,并对发现的缺陷进行跟踪,直到它们被修复。
3. 什么是缺陷生命周期?请描述它的主要阶段。
答:缺陷生命周期是指软件缺陷从被发现到被修复并重新验证的整个过程。
它的主要阶段包括:新建、确认、分配、修复、重新验证和关闭。
软件测试复习题
软件测试复习题单选题1、制定软件计划的原则理解有误的是:( A )A) 等程序编写基本完成时,可再制定测试计划B) 保持测试计划简洁易读C) 尽量争取多⽅⾯的评审测试计划D) 制定软件计划应尽早开始2、关于⽩盒测试,理解有误的:( D )A)⽩盒测试也称逻辑驱动测试B)测试各个程序或功能模块之间的接⼝C)检查产品内部动作是否正常运⾏D)数据流分析,域测试等是⽩盒测试的具体⽅法3、下列关于测试⽤例的重要性有误的是:( C )A)测试⽤例构成了设计和制定测试过程的基础B)测试设计和开发的类型以及所需的资源主要都受控于测试⽤例C)测试的深度与测试⽤例的数量成反⽐例D)测试⽤例通常根据他们所关联关系的测试类型或测试需求来分类,⽽且随类型和需求进⾏相应的改变4、不属于软件测试的原则:( C )A)所有测试标准建⽴在⽤户的需求上B)软件项⽬⼀启动,软件测试也就开始C)进⾏穷举测试D)重视⽂档,要妥善保存⼀切测试⽂档5、对于单元测试理解有误的是:( A )A)不具有回归性B)是对软件中得基本组成为单位进⾏测试C)常⽤的⽅法包括接⼝测试,局部数据结构测试D)测试内容包括模块程序结构检查,代码检查和模块内功能测试6、软件集成测试具体内容不包括:( B )A)功能性测试B)单元测试C)维护性测试D)性能测试7、验收认测试的叙述中不正确的是:( B )A)验收测试是为了验证软件的功能和性能及其他特性是否与⽤户的要求⼀致B)安装测试不属于确认测试的内容C)验收测试的内容包括功能测试和性能测试D)他着重考虑软件是否满⾜合同规定的所有功能和性能8、哪个不是有些软件缺陷不被修复的原因:( D )A)没有⾜够的时间B)不算真正的软件缺陷C)不值得修复D)修复没有风险9、对于软件测试描述不正确的是:( C )A)软件测试⽆法找到程序当中的所有缺陷B)测试⼯程师需要在最短时间内完成最有效的测试C)软件测试⼯程师只要了解需求就可以了D)测试⼯程师也需要了解编码知识10、软件测试类型按开发阶段划分是:( A )A)需求测试、单元测试、集成测试、验证测试B)单元测试、集成测试、确认测试、系统测试、验收测试C)单元测试、集成测试、验收测试、确认测试、验收测试D)调试、单元测试、集成测试、⽤户测试单选题1、关于α测试的理解错误的是:( B )A)α测试是在软件开发公司内模拟软件系统的运⾏环境下的⼀种验收测试,B)软件开发公司组织内部⼈员和客户⽤户参与C)软件开发公司组织内部⼈员参与D)模拟各类⽤户⾏为对即将⾯市的软件产品进⾏测试,试图发现并修改错误。
软件测试笔试题
软件测试笔试题一、选择题1. 下列哪项不是软件测试的原则?A. 测试应该早期开始B. 测试应该自动化C. 测试应该完全依赖开发人员D. 测试应该持续进行2. 下列哪项不是黑盒测试的特点?A. 不需要了解内部实现细节B. 关注输入与输出之间的关系C. 基于功能需求进行测试D. 需要有开发经验3. 单元测试的主要目的是?A. 验证整个系统的功能是否正常B. 确保软件没有错误C. 检查代码是否符合编码规范D. 确保各个模块的功能是否正常4. 下列哪项不是软件测试的类型?A. 单元测试B. 集成测试C. 验收测试D. 设计测试5. 敏捷开发中,测试团队应该在何时开始测试?A. 在需求分析阶段B. 在开发阶段C. 在软件发布前的最后阶段D. 在软件发布后的维护阶段二、填空题1. 软件测试的主要目的是 ________ 软件的质量。
2. 白盒测试主要关注检查软件的 ________ 。
3. 请简要介绍一下所谓的V模型。
4. 软件测试中的冒烟测试是指 ________。
5. 敏捷开发中的TDD是指 ________。
三、问答题1. 请简述黑盒测试和白盒测试的区别和相似之处。
黑盒测试和白盒测试都是常用的软件测试方法,它们在测试的角度和方法上有一些不同。
首先,黑盒测试是一种功能测试方法,主要关注系统的输入和输出,而不需要了解软件内部实现的细节。
相对而言,白盒测试则需要了解软件内部的逻辑和结构,主要关注代码的执行路径和覆盖率等。
相似之处在于它们都是验证软件是否符合预期的行为,都需要设计测试用例来检查软件的功能是否正确。
2. 什么是冒烟测试?它的作用是什么?冒烟测试是指在软件开发过程中,验证软件的基本功能是否正常工作的一种测试方法。
它主要通过运行一组简单的测试用例来检查软件是否能够启动、基本操作是否正常,以及是否存在明显的功能错误等。
冒烟测试的目的是在软件开发的早期阶段及时发现软件的严重问题,避免问题在后续的开发过程中逐渐累积,从而提高软件的质量。
软件测试理论复习题含答案
软件测试理论复习题含答案1、产品发布后修复软件缺陷比项目开发早期这样做的费用要高_____A、1~2倍B、10~20倍C、50倍D、100倍或更高答案:D2、软件是计算机系统中与硬件相互依存的另一部分,它的组成部分是()。
A、程序、数据B、程序、文档C、程序D、程序、数据、文档答案:D3、()方法是根据输出对输入的依赖关系来设计测试用例的。
A、边界值分析B、等价类C、因果图法D、错误推测法答案:C4、下面四种说法中正确的是A、因果图法是建立在决策表法基础上的一种白盒测试方法;B、等价类划分法是边界值分析法的基础;C、健壮性等价类测试的测试用例要求在有效等价类中取值;D、在任何情况下做黑盒测试皆应首先考虑使用错误推断法。
答案:B5、从测试的要求来讲,如果想让测试完成的效果更好,测试部门与开发部门的关系最好是下面四种中的()。
A、测试组织与开发组织为同一公司同一部门同一小组,并且测试人员与开发人员为同一组人员,即开发人员测试自己的程序。
B、测试组织与开发组织为同一公司同一部门同一小组,但测试人员与开发人员为不同人员。
C、测试组织与开发组织为同一公司,但不在同一部门。
D、测试组织与开发组织为不同公司。
答案:D6、对下列产品进行测试,要优先考虑自底向上集成策略的是( )。
A、采用契约式设计的产品B、高层接口变化极为频繁的产品C、底层接口比较稳定的产品D、以上全部答案:D7、数据设计的核心是抽象数据类型ADT,它的特点是()A、数据封装B、数据隐藏C、使用与实现分离D、以上全部答案:D8、针对下列程序段,对于(A,B,C)的取值,以下()测试用例组合能够满足语句覆盖的要求。
IF ( ( A + 10 ) = 2 OR ( B -20 ) < 3 ) THEN C =0 IF ( ( A+30 ) > 10 AND ( C - 30 ) < 0 ) THEN B = 30A、2,30,1B、-20,0,30C、-30,20,30D、2,20,3答案:D9、下列做法对维护工作不利的是()A、存在完整、适用的文档B、开发阶段提前交付软件产品C、存在有可以有效使用的审核和批准过程D、存在有可查的历史记录答案:B10、广义的软件测试包括()A、单元测试、集成测试、确认测试和系统测试B、确认、验证和测试C、需求评审、设计评审、单元测试和综合测试D、开发方测试、用户测试和第三方测试答案:B11、下面关于软件测试的说法,()是错误的。
软件测试考试复习题(含答案)
软件测试考试复习题(含答案)1.软件缺陷是由很多⽅⾯造成的,以下哪个⽅⾯是造成软件缺陷的最多的地⽅(A )A.规格说明书B.系统设计结果C.编写代码D.其他19.覆盖准则最强的是(D )A.语句覆盖B.判定覆盖C.条件覆盖D.路径覆盖20.实际的逻辑覆盖测试中,⼀般以(C )为主设计测试⽤例。
A.条件覆盖B.判定覆盖C.条件组合覆盖D.路径覆盖21.发现错误能⼒最弱的覆盖准则是(A )。
A.语句覆盖B.判定覆盖C.条件覆盖D.路径覆盖22.单元测试所使⽤的主要测试⽅法是(B )A.⿊盒测试B.⽩盒测试C.集成测试D.验收测试23.对于软件缺陷的修复费⽤,在哪个阶段的费⽤花费最⼩(A )A.分析阶段B.设计阶段C.编码阶段D.发布阶段24.静态测试的主要对象是(AB )A.代码检查B.代码风格与规范D.设计的合理性25.单元测试主要测试是模块在(ABC )上的错误。
A.语法B.格式C.逻辑D.功能26.单元测试主要由(C )完成?其中(A )起主要作⽤。
A.开发⼈员B.测试⼈员C.开发⼈员和测试⼈员D.以上都不对27.集成测试所使⽤的主要测试⽅法是(A )。
A.⿊盒测试B.静态测试C.动态测试D.⽩盒测试28.系统测试主要包括包含了多种测试活动,主要分为(AB )。
A.功能性测试B.⾮功能性测试C.回归测试D.单元测试29.系统集成测试常见的有哪⼏种不同模式(AB )。
A.⾮渐增式测试模式B.渐增式测试模式C.独⽴测试模式D.⾮独⽴测试模式30.软件的兼容性测试包括(AD )。
A.向前和向后兼容B.多语⾔测试C.多版本测试D.横向测试31.软件的缺陷通常集中在(AB )阶段。
A.需求分析B.系统设计32.对于⼀些关键代码或新⼈写的代码,主要采取(B )⽅式。
A.⾛查B.会议审查C.代码互评D.⾃查33.在集成测试中,主要的集成⽅法有(ABCD )。
A.⾃顶向下B.⾃底向上C.⼤爆炸D.三明治34.⽂档测试主要检查⽂档的(ABCD )。
软件测试基础复习题
一、判断题1.软件测试的目的是尽可能多的找出软件的缺陷。
(√)2.如果测试覆盖充分,通过对软件的反复测试,可以检测出软件中的所有缺陷。
(×)3.测试是最有效的排除和防止软件缺陷与故障的手段(√)4.黑盒测试是一种确认技术,目的是确认“设计的系统是否正确”。
(√)5.软件设计不合理不属于软件缺陷。
(×)6.软件缺陷中致命的缺陷才需要修改。
(×)7.软件测试与软件开发不能并行进行,一定要等编码完成以后才能开始(×)8.集成测试既可以使用白盒测试技术,也可以使用黑盒测试技术(×)9.通常情况下,在进行单元测试时采用白盒测试,而其他测试采用黑盒测试。
(√)10.黑盒测试能发现程序性能是否满足要求。
(√)11.程序测试只能证明错误的存在,但不能证明错误的不存在(√)12.一次性集成测试方式不需要进行桩模块和驱动模块的开发(√)二、选择题1、软件缺陷出现最多的是(A)A)软件规格说明书B)概要设计说明书C)详细设计说明书D)程序代码2、下面哪个不属于静态测试的内容(B)?A)代码结构分析B)等价类划分C)代码检查D)代码质量度量3.下列关于静态测试的描述不正确的是:(D)A.静态测试可以发现不会执行的语句B.静态测试可以由人工进行,也可以借助软件测试工具自动进行C.静态测试不真正运行被测试的程序,只进行分析D.静态测试不检查算法的逻辑正确性4、下面哪个不能称为黑盒测试(C)?A)功能测试B)基于规格说明的测试C)结构测试D)数据驱动测试5、下面哪个不属于黑盒测试的缺点(B)A)某些代码得不到测试B)不容易生成测试数据C)不容易进行充分的测试D)如果规则有误,则无法发现该缺陷6、下面哪个不属于单元测试的内容(A)A)兼容性测试B)独立路径测试C)边界条件测试D)局部数据结构测试7、下面测试阶段耗时最长的测试是(C)A)单元测试B)集成测试C)系统测试D)确认测试8、下面哪种测试策略属于验收测试(D)A)性能测试B)安全测试C)压力测试D)Beta 测试三、简答题1、简述软件测试的原则答:①尽早地测试、不断地进行软件测试②设计与测试数据对应的预期输出结果③避免检查自己的程序④在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。
软件测试复习题
一、选择题1.在软件测试阶段,测试步骤按次序可以划分为以下几步:( A )A、单元测试、集成测试、系统测试、验收测试B、验收测试、单元测试、系统测试、集成测试C、单元测试、集成测试、验收测试、系统测试D、系统测试、单元测试、集成测试、验收测试2.软件测试技术可以分为静态测试和动态测试,下列说法中错误的是( D )。
A、静态测试是指不运行实际程序,通过检查和阅读等手段来发现程序中的错误。
B、动态测试是指实际运行程序,通过运行的结果来发现程序中的错误。
C、动态测试包括黑盒测试和白盒测试。
D、白盒测试是静态测试,黑盒测试是动态测试。
(白盒测试有静态测试,也有动态测试)3.单元测试时,调用被测模块的是(C)。
A、桩模块(被测调用的模块)B、通信模块C、驱动模块D、代理模块4.基本路径测试满足( A )A、语句覆盖B、路径覆盖(覆盖准则最强)C、分支覆盖D、条件覆盖5.如果一个产品中次严重的缺陷基本完成修正并通过复测,这个阶段的成品是(B)。
A、Alpha版(可能还会有一两个严重错误)B、Beta版(次要错误刚修正)C、正版(C类错误也完全没有)D、以上都不是6.软件测试过程中的集成测试主要是为了发现( B )阶段的错误。
A.需求分析(系统测试)B.概要设计(集成测试)C.详细设计(单元测试)D.编码(单元测试)7.下列有关测试过程V模型的说法中,正确的是( B )A、验收测试应确定成程序的执行是否满足软件设计的要求(单元测试和集成测试应确定成程序的执行是否满足软件设计的要求)B、系统测试应确定系统功能和性能的质量特性是否达到系统要求的指标C、单元测试和集成测试应确定软件的实现是否满足用户需要或合同的要求(验收测试确定软件的实现是否满足用户需要或合同的要求)D、集成测试在编码结束前就可以开始8.下列关于Web应用软件测试的说法中,正确的是( A )A、Cookie测试是Web应用软件功能测试的重要内容(功能测试)B、对于没有使用数据库的Web应用软件,不需要进行性能测试(需要进行性能测试)C、链接测试是Web应用软件易用性测试的重要内容D、Web应用软件安全性测试仅关注Web应用软件是能够防御网络攻击9.在程序测试中,用于检查程序模块或子程序之间的调用是否正确的静态分析方法是(D)。
软件测试题库及答案
软件测试题库及答案一、单选题1. 软件测试的目的是:A. 证明软件是正确的B. 发现软件中的错误C. 确保软件满足需求D. 确保软件没有错误答案:B2. 以下哪项不是黑盒测试的测试用例设计技术?A. 等价类划分B. 边界值分析C. 决策表测试D. 路径测试答案:D3. 单元测试通常由谁执行?A. 测试人员B. 用户C. 开发人员D. 项目经理答案:C4. 以下哪个不是软件测试的阶段?A. 单元测试B. 集成测试C. 系统测试D. 维护测试答案:D5. 软件测试中的错误注入通常发生在哪个阶段?A. 需求分析B. 设计阶段C. 编码阶段D. 测试阶段答案:C二、多选题1. 软件测试的类型包括:A. 功能测试B. 性能测试C. 可用性测试D. 安全测试E. 回归测试答案:ABCDE2. 以下哪些是软件测试的原则?A. 测试可以显示存在缺陷B. 穷尽测试是不可能的C. 早期测试可以节省成本D. 缺陷聚集原则E. 测试应该提供信息以支持决策答案:ABCDE3. 软件测试的目的是:A. 验证软件是否符合需求B. 验证软件是否符合设计C. 验证软件是否符合编码标准D. 验证软件是否符合性能要求E. 验证软件是否符合安全要求答案:ABDE4. 软件测试的文档包括:A. 测试计划B. 测试用例C. 测试报告D. 缺陷报告E. 用户手册答案:ABCD5. 软件测试的自动化工具可以用于:A. 自动化测试用例执行B. 测试用例生成C. 缺陷跟踪D. 性能监控E. 安全扫描答案:ABCDE三、判断题1. 软件测试可以完全替代人工测试。
(错误)2. 软件测试的目的是确保软件没有错误。
(错误)3. 软件测试应该在编码阶段完成后开始。
(错误)4. 测试用例应该包括预期结果。
(正确)5. 回归测试是确认修改后的软件是否引入新缺陷的过程。
(正确)四、简答题1. 请简述软件测试的目的是什么?答案:软件测试的目的是发现软件中的错误,验证软件是否满足需求,确保软件的质量。
软件测试考试题库及答案
软件测试考试题库及答案一、单项选择题1. 软件测试的目的是()。
A. 证明软件是正确的B. 发现软件中的错误C. 证明软件是错误的D. 证明软件没有错误答案:B2. 黑盒测试主要关注软件的()。
A. 内部结构B. 内部逻辑C. 功能D. 代码答案:C3. 单元测试通常由()执行。
A. 项目管理者B. 开发人员C. 测试人员D. 客户答案:B4. 软件测试中,回归测试是指()。
A. 测试新发现的错误B. 测试软件的新功能C. 在修改后重新运行测试用例以验证错误是否被修复D. 测试软件的安全性答案:C5. 软件测试的V模型中,测试活动应该在开发活动的()进行。
A. 之前B. 同时C. 之后D. 任意时间答案:C二、多项选择题1. 以下哪些是软件测试的类型?()A. 功能测试B. 性能测试C. 压力测试D. 界面测试答案:ABCD2. 软件测试的基本原则包括()。
A. 测试显示存在错误B. 穷尽测试是不可能的C. 早期测试D. 缺陷聚集答案:ABCD3. 软件测试过程中可能使用的工具包括()。
A. 缺陷跟踪系统B. 自动化测试框架C. 性能监控工具D. 代码审查工具答案:ABCD三、判断题1. 软件测试可以完全替代人工检查。
()答案:错误2. 测试应该在软件开发的后期进行。
()答案:错误3. 软件测试的目的是确保软件产品的质量。
()答案:正确四、简答题1. 请简述什么是软件测试?答案:软件测试是一系列旨在评估软件质量的活动,目的是验证软件的功能、性能、安全性等是否符合预期,并发现软件中可能存在的缺陷。
2. 描述软件测试的基本流程。
答案:软件测试的基本流程通常包括测试计划、测试设计、测试实施、测试执行和测试报告等阶段。
五、案例分析题1. 假设你是一个软件测试工程师,你被分配到一个项目中,该项目的软件产品是一个在线购物平台。
请描述你将如何进行测试计划的制定。
答案:在制定测试计划时,我会首先了解项目的需求和目标,确定测试的范围和重点。
软件测试期末考试复习题
软件测试期末考试复习题第一套期末考试复习题一、单项选择题:1.在软件生命周期的哪一个阶段,软件缺陷修复费用最低 AA需求分析编制产品说明书B设计C 编码 D产品发布2.为了提高测试的效率,应该 DA随机地选取测试数据;B取一切可能的输入数据作为测试数据;C在完成编码以后制定软件的测试计划;D选择发现错误可能性大的数据作为测试数据;3.软件测试员究竟做些什么; CA软件测试员的目的是发现软件缺陷B软件测试员的目的是发现软件缺陷,尽可能早一些C软件测试员的目的是发现软件缺陷,尽可能早一些,并确保其得以修复D软件测试员的目的是发现软件缺陷,尽可能早一些,并将其修复4.下列说法不正确的是 D A测试不能证明软件的正确性;B测试员需要良好的沟通技巧;CQA与testing属于一个层次的概念;D成功的测试是发现了错误的测试;5.软件测试的目的是 BA发现程序中的所有错误 B尽可能多地发现程序中的错误C证明程序是正确的 D调试程序6.下列___不属于测试原则的内容 DA软件测试是有风险的行为 B完全测试程序是不可能的C测试无法显示潜伏的软件缺陷 D找到的缺陷越多软件的缺陷就越少7.导致软件缺陷的最大原因是 AA编制说明书 B设计C编码 D测试8.修复软件缺陷费用最高的是____阶段: D A编制说明书B设计C 编写代码 D发布9.成功的测试是指运行测试用例后 B ;A未发现程序错误 B发现了程序错误 C证明程序正确性 D改正了程序错误10.软件调试的目的是 AA找出错误所在并改正之 B排除存在错误的可能性C对错误性质进行分类 D统计出错的次数二、判断题:1.好的测试员不懈追求完美; X2.软件测试是有效的排除软件缺陷的手段; √3.程序员与测试工作无关; X4.程序员兼任测试员可以提高工作效率; X5.找出的软件缺陷越多,说明剩下的软件缺陷越少; X6.软件测试工具可以代替软件测试员; X7.软件测试的目的是尽可能多的找出软件的缺陷; √三、简答:1、软件缺陷1.软件未达到产品说明书的功能2.软件出现了产品说明书指明不会出现的错误3.软件功能超出产品说明书指明范围4.软件未达到产品说明书虽未指出但应达到的目标5.软件测试员认为难以理解、不易使用、运行速度缓慢、或者最终用户认为不好2、杀虫剂现象,软件测试越多,对测试的免疫力越强,寻找更多软件缺陷就更加困难. 克服办法:在软件测试中采用单一的方法不能高效和完全的针对所有软件缺陷,因此软件测试应该尽可能的多采用多种途径进行测试; 3、80-20原则第一个含义:80% 的软件缺陷常常生存在软件 20% 的空间里;如果想使软件测试有效,就要更加关注那些经常或者可能出现错误的程序段 ,在那里发现软件缺陷的可能性会大的多;这一原则对于软件测试人员提高测试效率及缺陷发现率有着重大的意义;第二个含义:在系统分析、设计、实现阶段的复审工作中能够发现和避免 80% 的软件缺陷,此后的系统测试能够帮助我们找出剩余缺陷中的 80% ,最后的 5% 的软件缺陷可能只有在系统交付使用后用户经过大范围、长时间使用后才会曝露出来;因为软件测试只能够保证尽可能多地发现软件缺陷,却无法保证能够发现所有的软件缺陷;第三个含义:实践证明 80% 的软件缺陷可以借助人工测试而发现, 20% 的软件缺陷可以借助自动化测试能够得以发现;由于这二者间具有交叉的部分,因此尚有 5% 左右的软件缺陷需要通过其他方式进行发现和修正;4、比较软件测试的V模型和W模型各有什么特点V模型:优点:既有底层测试又有高层测试;底层:单元测试;高层:系统测试; 将开发阶段清楚的表现出来,便于控制开发的过程;当所有阶段都结束时,软件开发就结束了;缺点:容易让人误解为测试是在开发完成之后的一个阶段; 由于它的顺序性,当编码完成之后,正式进入测试时,这时发现的一些bug可能不容易找到其根源,并且代码修改起来很困难; 实际中,由于需求变更较大,导致要重复变更需求、设计、编码、测试;返工量大;W模型:优点:将测试贯穿到整个软件的生命周期中,且除了代码要测试,需求、设计等都要测试; 更早的介入到软件开发中,能尽早的发现缺陷进行修复; 测试与开发独立起来,并与开发并行;缺点:对有些项目,开发过程中根本没有文档产生,故W模型无法使用; 对于需求和设计的测试技术要求很高,实践起来很困难;6、优秀的软件测试工程师应具备哪些素质具有探索精神、具有良好的计算机编程基础、故障排除能手、坚持不懈的精神、具有创新精神和超前意识、追求完美、判断准确、具有整体观念,对细节敏感、团队合作精神,沟通能力7、测试停止的标准是什么测试完成的传统标准是分配的测试时间用完了或完成了所有的测试又没有检测出故障;但这两个完成标准都没有什么实用价值;实用的停止测试标准应该基于以下几个因素:成功地采用了具体的测试用例设计方法;每一类覆盖的覆盖率;故障检测率低于指定的限度;检测出故障的具体数量或消耗的具体时间等;第二套期末考试复习题一、单项选择题:1.下面四种说法中正确的是CA因果图法是建立在决策表法基础上的一种白盒测试方法;B等价类划分法是边界值分析法的基础;C健壮性等价类测试的测试用例要求在有效等价类中取值;D在任何情况下做黑盒测试皆应首先考虑使用错误推断法;2.若有一个计算类型的程序,它的输入量只有一个X,其范围是,,现从输入的角度考虑一组测试用例:,,,;设计这组测试用例的方法是C;A.条件覆盖法B.等价分类法C.边界值分析法D.错误推测法3.黑盒测试是通过软件的外部表现来发现软件缺陷和错误的测试方法,具体地说,黑盒测试用例设计技术包括__A__等;A.等价类划分法、因果图法、边界值分析法、决策表法、场景法B.等价类划分法、因果图法、边界值分析法、正交试验法、符号法C.等价类划分法、因果图法、边界值分析法、功能图法、基本路径法等价类划分法、因果图法、边界值分析法、静态质量度量法、场景法4.用边界值分析法,假定1<X<100,那么X在测试中应该取的边界值是__A__;A.X=1,X=100,X=2,X=99B.X=0,X=1,X=100,X=101C.X=-1,X=0,X=1D.X=0,X=1015.在确定黑盒测试策略时,优先选用的方法是 BA.边界值分析法B等价类划分C错误推断法D决策表方法6.在黑盒测试中,着重检查输入条件组合的方法是C;A等价类划分法B边界值分析法C因果图法D都不是二、判断题:1、用黑盒法测试时,测试用例是根据程序内部逻辑设计的; X2、黑盒测试方法中最有效的是因果图法; X3、黑盒测试往往会造成测试用例之间可能存在严重的冗余和未测试的功能漏洞;∨4、边界测试中所选择的输入测试数据一定是有效数据; ×三、简答:1、什么是黑盒测试,有哪些主要方法黑盒测试又叫功能测试,它主要关注被测软件功能的实现,而不是其内部逻辑;在黑盒测试中,被测对象的内部结构、运作情况对测试人员是不可见的,测试人员把被测试的软件系统看成是一个黑盒子,并不需要关心盒子的内部结构和内部特性,而只关注于软件产品的输入数据和输出结果,从而检查软件产品是否符合它的功能说明;黑盒测试有多种方法,比如场景法、等价类划分、边界值分析、因果图法、决策表法等;2、等价类划分的原则是什么等价类划分法把程序的输入域划分为若干部分,然后从每个部分中选取少数代表性数据当作测试用例;每一类的代表性数据在测试中的作用等价于这一类中的其他值;在划分等价类时,有一些规则应该遵循;如果输入条件规定了取值范围或个数,则可确定一个有效等价类和两个无效等价类;例如:输入值是选课人数,在0到100之间,那么有效等价类是:①0≤学生人数≤100;无效等价类是:②学生人数<0;③学生人数>100;如果输入条件规定了输入值的集合或是规定了“必须如何”的条件,则可确定一个有效等价类和一个无效等价类;例如:输入值是日期类型的数据;那么有效等价类是日期类型的数据;无效等价类是非日期类型的数据;如果输入是布尔表达式,可以分为一个有效等价类和一个无效等价类,比如要求密码非空,则有效等价类为非空密码,无效等价类为空密码;如果输入条件是一组值,且程序对不同的值有不同的处理方式,则每个允许的输入值对应一个有效等价类,所有不允许的输入值的集合为一个无效等价类;例如:输入条件“职称”的值是初级、中级或高级,那么有效等价类应该有3个:①初级;②中级;③高级;无效等价类有一个:④其他任何职称;如果规定了输入数据必须遵循的规则,可以划分出一个有效的等价类符合规则和若干个无效的等价类从不同的角度违反规则;3、边界值选定的原则是什么边界值分析法是一种补充等价类划分法的黑盒测试方法,它不是选择等价类中的任意元素,而是选择等价类边界的测试用例;用边界值分析法设计测试用例时应当遵守几条原则:如果输入条件规定了取值范围,应以该范围的边界内及刚刚超范围的边界外的值作为测试用例;如以a和b作为输入条件,测试用例应当包括a和b,以及略大于a和略小于b的值;若规定了值的个数,应分别以最大、最小个数和稍小于最小和稍大于最大个数作为测试用例;针对每个输出条件,也使用上面的两条原则;如果程序规格说明书中提到的输入或输出范围是有序的集合,如顺序文件、表格等,应注意选取有序集的第一个和最后一个元素作为测试用例;分析规格说明,找出其他的可能边界条件;4、因果图包括几个部分,分别是什么因果图法是一种黑盒测试方法,它从自然语言书写的程序规格说明书中寻找因果关系,即输入条件与输出和程序状态的改变,通过因果图产生判定表;恒等:若原因出现则结果出现,若原因不出现则结果不出现;非~:若原因出现则结果不出现,若原因不出现则结果反而出现;或∨:若几个原因中有一个出现则结果出现,若几个原因都不出现则结果不出现;与∧:若几个原因都出现结果才出现,若其中一个原因不出现则结果不出现;原因与原因之间,结果与结果之间可能存在的约束关系:从输入考虑,有4种约束:E约束互斥:表示a和b两个原因不会同时成立,最多有一个可以成立;I约束包含:表示a和b两个原因至少有一个必须成立;O约束唯一:表示a和b两个条件必须有且仅有一个成立;R约束要求:表示a出现时,b也必须出现;从输出考虑,有1种约束:M约束强制:表示a是1时,b必须为0;5、如何用场景法进行黑盒测试,如何选定场景应用场景法进行黑盒测试的步骤如下:根据规格说明,描述出程序的基本流和各个备选流;根据基本流和各个备选流生成不同的场景;对每一个场景生成相应的测试用例;对生成的所有测试用例进行复审,去掉多余的测试用例,对每一个测试用例确定测试数据;用例场景是通过描述流经用例的路径来确定的过程,这个流经过程要从用例开始到结束遍历其中所有的基本流和备选流;基本流:采用黑直线表示,是经过用例的最简单路径,表示无任何差错,程序从开始执行到结束;备选流:采用不同颜色表示,一个备选流可以从基本流开始,在某个特定条件下执行,然后重新加入基本流中,也可以起源于另一个备选流,或终止用例,不再加入到基本流中;第三套期末考试复习题一、单项选择题:1、用黑盒技术设计测试用例的方法之一为 aA因果图 B逻辑覆盖 C循环覆盖 D基本路径测试2、以程序的内部结构为基础的测试用例技术属于 d ;A灰盒测试B数据测试C黑盒测试D白盒测试3、在进行单元测试时,常用的方法是 aA采用白盒测试,辅之以黑盒测试B采用黑盒测试,辅之以白盒测试C只使用白盒测试D只使用黑盒测试4、在边界值分析中,下列数据通常不用来做数据测试的是b ;A正好等于边界的值 B等价类中的等价值C刚刚大于边界的值D刚刚小于边界的值5、通常可分为白盒测试和黑盒测试;白盒测试是根据程序的 c 来设计测试用例,黑盒测试是根据软件的规格说明来设计测试用例;A功能B性能C内部逻辑D内部数据6、如果一个判定中的复合条件表达式为A > 1orB <= 3,则为了达到100%的条件覆盖率,至少需要设计多少个测试用例 b ;A1 B2 C3 D47、如果某测试用例集实现了某软件的路径覆盖,那么它一定同时实现了该软件的 A A判定覆盖B条件覆盖C 判定/条件覆盖 D组合覆盖8、使用白盒测试方法时,确定测试数据的依据是指定的覆盖标准和 BA程序的注释 B程序的内部逻辑(C)用户使用说明书 D程序的需求说明9、条件覆盖的目的是 AA使每个判定的所有可能的条件取值组合至少执行一次B使程序中的每个判定至少都获得一次“真”值和“假”值;C使程序中的每个判定中每个条件的可能值至少满足一次;D使程序中的每个可执行语句至少执行一次;10、一个程序中所含有的路径数与____有着直接的关系; AA 程序的复杂程度B 程序语句行数C程序模块数 D程序指令执行时间11、不属于逻辑覆盖方法的是 d ;A.组合覆盖 B.判定覆盖C.条件覆盖 D.接口覆盖12、 d 是选择若干个测试用例,运行被测程序,使得程序中的每个可执行语句至少执行一次;A、条件覆盖B、组合覆盖C、判定覆盖D、语句覆盖13、 a 是设计足够多的测试用例,使得程序中每个判定包含的每个条件的所有情况真/假至少出现一次,并且每个判定本身的判定结果真/假也至少出现一次;A、判定-条件覆盖B、组合覆盖C、判定覆盖D、条件覆盖14、如下图所示的N-S图,至少需要 b 个测试用例完成逻辑覆盖;A.12 B.48C.27 D.1815.覆盖准则最强的是 D ;A语句覆盖B判定覆盖C条件覆盖D路径覆盖16.发现错误能力最弱的是 A ;A语句覆盖B判定覆盖C条件覆盖D路径覆盖17.实际的逻辑覆盖测试中,一般以 C 为主设计测试用例;A条件覆盖B判定覆盖C条件组合覆盖D路径覆盖18.下面 D 方法能够有效地检测输入条件的各种组合可能引起的错误;A等价类划分B边界值分析C错误推测D因果图19.使用白盒测试方法时,确定测试数据应根据 A 和指定的覆盖标准;A程序内部逻辑 B程序的复杂度 C使用说明书 D程序的功能二、判断题:01白盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能要求; 对02白盒测试不仅与程序的内部结构有关,还要考虑程序的功能要求; 错03员可以对产品说明书进行; 错04员无法对产品说明书进行; 对05白盒测试的“条件覆盖”标准强于“判定覆盖”; 错三、简答:1、什么是白盒测试,包括哪些技术白盒测试,有时也称为玻璃盒测试、结构化测试、逻辑驱动测试等,它关注软件产品的内部细节和逻辑结构,即把被测的程序看成是一个透明的盒子;白盒测试利用构件层设计的一部分而描述的控制结构来生成测试用例,需要对系统内部结构和工作原理有一个清楚的了解;白盒测试的准备时间较长,如果要完成覆盖全部程序语句、分支的测试,一般要花费比编程更长的时间;白盒测试对技术的要求较高,测试成本也比较大;白盒测试也有多种方法,比如代码检查法,静态结构分析法,程序插桩技术,逻辑覆盖法,基本路径法等;2、代码检查法主要包括哪些主要内容,可以产生哪些基本因素代码检查法包括桌面检查、代码审查和走查等;它主要检查代码和设计的一致性,代码对标准的遵循,可读性,代码逻辑表达正确性,代码结构合理性等方面;发现程序中不安全、不明确和模糊部分,找出程序中不可移植部分;发现违背程序编写风格问题;其中包括变量检查、命名和类型审查、程序逻辑审查、程序语法检查和程序结构检查等内容;通过代码检查法可以获得软件组成的重要基本因素,例如变量标识符、过程标识符、常量等,组合这些基本因素就可以得到软件的基本信息,包括:标号交叉引用表,列出在各模块出现的全部标号,在表中标出标号的属性,包括已说明、未说明、已使用、未使用,表中还包括在模块以外的全局标号、计算标号等;变量交叉引用表,在表中应标明各变量的属性,包括已说明、未说明、隐式说明、类型及使用情况,进一步还可以区分是否出现在赋值语句的右边,是否属于普通变量、全局变量或特权变量等;子程序、宏和函数表,在表中列出各个子程序、宏和函数的属性,包括已定义、未定义和定义类型,参数表、输入参数个数、顺序、类型,输出参数个数、顺序、类型,已引用、未引用、引用次数等;等价表,列出在等价语句或等值语句中出现的全部变量和符号;常数表,列出全部数字常数和字符常数,并指出它们在哪些语句中首先被定义;3、程序插桩的基本原则是什么程序插桩技术是借助往被测程序中插入操作来实现测试目的的方法,即向源程序中添加一些语句,实现对程序语句的执行、变量的变化等情况进行检查;在程序的特定部位插入记录动态特性的语句,最终是为了把程序执行过程中发生的一些重要历史事件记录下来;设计插桩程序时需要考虑的问题如下:需要探测哪些信息;在程序的什么部分设置探测点;需要设置多少个探测点;其中第一个问题需要结合具体情况解决,并不能给出笼统的回答;关于第二个问题,在实际测试中通常在以下一些部位设置探测点:程序块的第一个可执行语句之前;for,do,do while,do until等循环语句处;if,else if,else,end if等条件语句各分支处;输入或输出语句之后;函数、过程、子程序调用语句之后;return语句之后;goto语句之后;关于第三个问题,原则是需要考虑如何设置最少探测点的方案;一般情况下,在没有分支的程序段中只需要一个计数语句,如果出现了多种控制结构,使得整个结构十分复杂,则需要针对程序的控制结构进行具体的分析;4、逻辑覆盖法包括哪些内容,分别要求达到怎样的代码覆盖率逻辑覆盖法是常用的一类白盒动态测试方法,以程序内部逻辑结构为基础,通过对程序逻辑结构遍历实现程序测试的覆盖;逻辑覆盖法是一系列测试过程的总称,这组测试过程逐渐进行越来越完整的通路测试;从覆盖源程序语句的详尽程度,可以分为语句覆盖、判定覆盖、条件覆盖、条件判定覆盖、多条件覆盖和修正条件判定覆盖;1.语句覆盖语句覆盖就是使程序中每条语句都能被执行一次2.判定覆盖判定覆盖指设计足够的测试用例,使得每一个判定获得每一种可能的结果至少一次;3.条件覆盖条件覆盖指设计足够的测试用例,使得程序中每个判定中的每个条件的可能值只是被满足一次;4.条件判定覆盖条件判定覆盖是判定覆盖和条件覆盖的组合,指的是设计足够的测试用例,使得判定中每个条件的所有可能的取值至少出现一次,并且每个判定取到的各种可能的结果也至少出现一次;5.多条件覆盖多条件覆盖指的是设计足够的测试用例,使得判定条件中每一个条件的可能组合至少出现一次;6.修正条件判定覆盖修正条件判定覆盖需要足够的测试用例来确定每个条件能够影响到包含的判定的结果;每一个程序模块的入口和出口点都要考虑要至少被调用一次,从每个程序的判定到所有可能的结果值要至少转换一次;5、给出白盒测试与黑盒测试的不同白盒测试和黑盒测试是两类软件测试方法,传统的软件测试活动基本上都可以划分到这两类测试方法中;下表给出了两种方法的一个基本比较;黑盒测试和白盒测试比较白盒测试和黑盒测试各有侧重点,不能相互取代,在实际测试活动中,这两种测试方法不是截然分开的;通常在白盒测试中交叉着黑盒测试,黑盒测试中交叉着白盒测试;相对来说,白盒测试比黑盒测试成本要高得多,它需要测试在可以被计划前产生源代码,并且在确定合适数据和决定软件是否正确方面需要花费更多的工作量;第四套期末考试复习题一、单项选择题:1. 单元测试中用来模拟被测模块调用者的模块是 CA 父模块 B子模块C驱动模块D桩模块2.侧重于观察资源耗尽情况下的软件表现的系统测试被称为 BA强度测试B压力测试C 容量测试 D性能测试3.不属于单元测试内容的是 AA模块接口测试B局部数据结构测试C 路径测试 D用户界面测试4.对Web网站进行的测试中,属于功能测试的是 BA连接速度测试 B链接测试C平台测试 D安全性测试5.在进行单元测试时,常用的方法是 BA采用黑盒测试,辅之以白盒测试;B采用白盒测试,辅之以黑盒测试;C只使用黑盒测试;D只使用白盒测试;6、某次程序调试没有出现预计的结果,下列 b 不可能是导致出错的原因;A.变量没有初始化 B.编写的语句书写格式不规范C.循环控制出错 D.代码输入有误7、单元测试中设计测试用例的依据是 d ;A概要设计规格说明书B用户需求规格说明书C项目计划说明书D详细设计规格说明书8、集成测试对系统内部的交互以及集成后系统功能检验了何种质量特性aA正确性B可靠性 C可使用性 D可维护性9、不属于集成测试步骤的是 DA、制定集成计划B、执行集成测试C、记录集成测试结果D、回归测试10、在软件修改之后,再次运行以前为发现错误而执程序曾用过的测试用例称为 cA.单元测试 B.集成测试 C.回归测试 D.验收测试11.单元测试主要针对模块的几个基本特征进行测试,该阶段不能完成的测试是 A ;A系统功能 B局部数据结构 C重要的执行路径 D错误处理12.软件测试过程中的集成测试主要是为了发现 B 阶段的错误;A需求分析 B概要设计 C详细设计 D编码13.集成测试时,能较早发现高层模块接口错误的测试方法为 A ;A自顶向下渐增式测试 B自底向上渐增式测试 C非渐增式测试 D系统测试14.以下对单元测试,不正确的说法是CA.单元测试的主要目的是针对编码过程中可能存在的各种错误;B.单元测试一般是由程序开发人员完成的。
软件测试(复习题)
2005年1. 在系统验收测试中,__(23)A__是在一个模拟的环境下使用模拟数据运行系统;__(24)A__是在一个实际环境中使用真实数据运行系统。
(23)A.验证测试B.审计测试C.确认测试D.模块测试(24)A.验证测试B.审计测试C.确认测试D.模块测试2. 当测试工作正在进行时,公司B为了申报某科技奖项,希望机构A能先出具一份证实其软件质量优秀的测试报告,并且口头承诺测试会继续进行,并且测试过程中发现的问题都会得到改正。
如果你是机构A的负责人,对于评测师甲的请求,你将__(38)_A___。
对于公司B提出的要求,机构A的评测师甲、乙分别给出了如下的建议:甲认为可以出质量优秀报告,但是需要公司B出具改正所有测试问题的书面承诺书和自己QA部门认可;乙认为由于测试还没有结束,很多问题海没有得到改正,因此不能出质量优秀的报告,但可以根据已经测试过的模块的情况,出具一个质量基本合格的报告。
对于以上建议你认为__(39)_D___。
测试结束后,评测师乙提出要保留公司B的被测试软件的样品,对于评测师乙的要求你认为_____(40)_D___。
(38)A.不批准甲的请求B.批准甲的请求,但是要求甲不能透露公司B的信息C.不批准甲的请求,但是建议甲可以到公司B做兼职开发工作D.批准甲的请求,并要求甲尽快提高自己在ERP方面的知识,为公司多做贡献(39)A.应该听从甲的建议B.应该听从乙的建议C.应该综合甲乙的建议D.都不正确(40)A.不合理,这样侵犯了B的知识产权B.不合理,仅保留程序就行了C.不合理,仅保留文档就行了D.合理3. 关于软件测试对软件质量的意义,有以下观点:①度量与评估软件的质量;②保证软件质量;③改进软件开发过程;④发现软件错误。
其中正确的是__(41)_C___。
(41)A.①、②、③ B.①、②、④C.①、③、④D.①、②、③、④4. 某软件公司在招聘软件评测师时,应聘者甲向公司做如下保证:①经过自己测试的软件今后不会再出现问题;②在工作中对所有程序员一视同仁,不会因为在某个程序员编写的程序中发现的问题多,就重点审查该程序,以免不利于团结;③承诺不需要其他人员,自己就可以独立进行测试工作;④发扬咬定青山不放松的精神,不把所有问题都找出来,决不罢休;你认为应聘者甲的保证__(43)D__。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
名词解释题1.软件生命周期从软件项目提出直至不再使用、需要重新开发的生命周期。
包括需求、概要设计、详细设计、代码实现、软件测试、维护等阶段。
2.软件质量软件质量就是指软件系统或系统中的软件部分的质量,即满足用户需求,包括功能需求和性能需求的程度。
3.软件测试软件测试是一种作为主体的人通过各种手段对客体软件的某种固有属性进行的一种以认知,和改造为目的的活动4.软件错误也称故障,导致失效的原因,或者程序内部的一个错误。
5.软件缺陷在程序中存在的,有可能诱发软件故障或导致软件失效的潜在因素。
6.动态测试动态测试是在抽样测试数据上执行程序并分析输出以及发现错误的过程。
包括白盒测试技术和黑盒测试技术7.静态测试静态测试是不执行程序代码而寻找文档、程序代码中可能存在的错误的过程。
8.黑盒测试黑盒测试也称功能测试或数据驱动测试,前提是已知产品所具有的功能,通过测试来检测每个功能是否都正常使用。
黑盒测试法常用的技术包括:功能分解法、等价类划分法、边界值解析法、因果图法、随机测试、猜错法等。
9.白盒测试白盒测试是吧测试对象看做一个打开的盒子。
利用白盒测试法进行动态测试时,除了要验证软件的功能特性之外,还特别需要测试软件产品内部结构和处理过程。
白盒测试法的覆盖标准由逻辑覆盖测试、基本路径测试和循环结构覆盖测试。
10.单元测试单元测试的对象是程序系统中的最小单元---模块。
单元测试的依据是详细设喵叔,单元测试应对模块内所有重要的控制路径测试测试用例,以便发现模块内部的错误。
单元测试多采用白盒测试技术,对系统内多个模块可以进行并行测试。
11.集成测试集成测试,也称组装测试、联合测试、子系统测试,在单元测试的基础上,将模块按照设计要求组装起来同时进行测试,主要目标是发现与接口有关的模块之间问题。
两种集成方式:一次性集成方式和增殖式集成方式。
12.系统测试系统测试是将软件放在整个计算机环境下,包括软硬件平台、某些支持软件、数据和人员等,在实际运行环境下进行一系列的测试,包括恢复测试、安全测试、强度测试和性能测试等。
13.验收测试验收测试在系统测试通过后开始,在某种意义上是由用户/客户进行的系统测试,但又不是体统测试的重复。
14.桩模块又称桩单元。
用以仿真被测试单元工作过程中所调用的单元,由被测试单元调用,一般只进行很少的数据处理,以便于检车被测试单元与其下级单元的接口。
15.驱动模块也称驱动单元,用以仿真被测试单元的上级单元,驱动单元在单元测试中接受测试数据,把相关的数据传给被测试单元。
简答题1.简述软件生命周期有哪些阶段。
软件生存周期包括可行性分析与开发项计划、需求分析、概要设计、详细设计、代码实现、软件测试、维护等活动2.简述按照测试目标划分的软件测试分类1.验收测试2.功能测试3.性能测试4.强度测试5.安全性测试6.确认测试3.简述按照测试对象划分的软件测试分类1.单元测试2.不见测试3.系统测试4.代码审查5.文档审查4.简述软件测试的阶段划分分为初期阶段、发展阶段和成熟阶段三个阶段。
初期阶段1957~1971:测试通常被认为是对产品进行事后检验,缺乏有效的测试方法。
发展阶段1972~1982:1972年第一次关于软件测试的正式会议,促进软件测试的发展。
成熟阶段1983年至今:国际标准Std 829-1983,形成一门独立的学科和专业,成为软件工程学科中的一个重要组成部分。
5.简述软件缺陷的等级划分分为重要缺陷和一般缺陷。
重要缺陷是指该缺陷若被激发会对设计文档/需求文档中规定的主要功能的完成产生不利/潜在不利影响,从而导致功能降级的代码问题。
一般缺陷是指该缺陷若被激发,不会影响设计文档/需求文档中规定的主要功能的完成,但对运行或操作会产生/潜在产生轻微影响的代码问题。
6.简述测试用例的要素及其含义。
测试目标:测试的目的结果测试用例:测试时输入的测试数据预期结果:输入测试用例的预期结果7.简述黑盒测试技术方法种类四种基本方法为:等价类划分法、边界值分类法、因果图法、猜错法。
等价类划分法:分为有效等价类,即合理的,有意义的输入数据构成的集合;无效等价类,即不合理的、没有意义的输入数据构成的集合。
边界值分类法:选择等价类的边缘值作为测试用例,让每个等价类的便捷都得到测试。
因果图法:把输入条件视为“因”,把输出条件视为“果”,采用逻辑图的形式来表达功能说明书中输入条件的各种组合与输出的关系。
猜错法:拖过列出可能有的错误和一撮情况表,对每种情况都进行测试用力的设计。
8.简述代码走查和代码审查的区别代码审查可以被看成是一种特殊的审查方式,审查小组选取典型代码进行检查并修改其中的缺陷。
代码走查与代码审查很详细,都是以小组为单位进行代码阅读,是一系列规程和错误检查技术的集合。
代码走查是以小组为单元进行代码阅读,也是一系列规程和错误检查技术的集合。
9.简述单元测试的步骤1)自顶向上从最顶层开始,把顶层调用的单元做成桩模块。
对第二层测试,使用上面已测试的单元做驱动模块。
依次类推,直到全部单元测试结束。
2)自底向上先对模块调用图上的最底层模块开始测试,模拟调用该模块的模块为驱动模块。
其次,对上一层模块进行单元测试,用已经被测试过的模块做桩模块。
依次类推,直到全部单元测试结束。
3)孤立测试步骤:无需考虑每个模块与其他模块之间的关系,分别为每个模块单独设计桩模块和驱动模块,逐一完成所有单元模块的测试。
4)综合测试在单元测试中,为了有效地减少开发桩模块的工作量,可以考虑综合自底向上测试策略和孤立测试策略。
10.简述软件集成策略。
1.基于分解的集成(大爆炸集成、自定行下、自底向上集成)2.三明治集成3.基于调用同的集成4.基于路径的集成5.分层集成6.基于功能的集成7.高频集成8.基于进度的集成9.基于风险的集成10.基于事件的集成11.基于使用的集成11.简述集成测试和系统测试的区别12.简述至少6种系统测试的策略1)功能测试(Functional Test)功能测试属于黑盒测试技术范畴,是系统测试中要进行的最基本的测试,它不用考虑软件内部的具体实现过程。
2)性能测试(Performance Test)应用在网络方面和客户端方面的测试3)压力测试压力测试又称强度测试,是在各种资源超负荷情况下观察系统的运行情况。
4)容量测试容量测试是面向数据的,在系统正常运行的范围内测试并确定系统能够处理的数据容量。
也就是观察系统承受超额的数据容量的能力。
5)安全性测试要验证系统内的保护机制能否抵御入侵者的攻击。
6)恢复性测试恢复性测试的目标就是验证系统从软件或者硬件失败中恢复的能力。
在测试过程中会采取各种人工干预方式使软件出错,而不能正常工作,进而检验系统的恢复能力。
7)备份测试是为了验证系统在软件或者硬件失败的事件中备份其数据的能力,属于恢复性测试。
8)GUI测试GUI即图形化用户接口,GUI测试分为两个部分,一方面要能使得界面实现与最初设计的情况相符合;另一方面是要确认界面能够正确处理事件。
9)健壮性测试又称容错性测试。
测试系统在出现故障时,是否能够自动恢复或者忽略故障继续运行。
10)兼容性测试目的就是检验被测应用对其他应用或者系统的兼容性。
11)可用性测试可用性测试是面向用户的系统测试。
12)可安装性测试就是要验证成功安装系统的能力。
13)文档测试文档测试是对系统提交给用户的文档进行验证,并不是一般性的审查活动。
通过文档测试保证用户文档的正确性并使得操作手册能够准确无误。
14)在线帮助测试在线帮助测试给用户提供一种实时的咨询服务。
15)数据转换测试主要是为了验证已存在的数据转换并载入一个新的数据库是否有效。
16)验收测试验收测试是将程序与其最初的需求及最终用户当前的需要进行比较的过程。
13.简述测试项目管理的三维模型(全方位、全过程、多层次)时间维—全过程管理:对软件测试项目的全过程进行控制。
空间维—全方位管理:对与软件测试质量有关的关键因素实施全方位管理。
组织维—人员管理:构建从测试热源、测试小组到测试机构的多层次的管理模式。
论述题1.什么是软件测试,请谈谈为什么要进行软件测试?软件测试就是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。
执行测试用例后,需要跟踪故障,以确保开发的产品适合需求。
因为软件缺陷的存在。
因为只有通过测试,才可以发现软件缺陷。
也只有发现了缺陷,才可以将软件缺陷从软件产品或软件系统中清理出去。
软件中存在的缺陷给我们带来的损失是巨大的,这也说明了软件测试的必要性和重要性2.请谈谈什么是自动化测试及其好处并举例说明。
自动化测试(automated test)是相对手工测试(manual test)而存在的一个概念,由手工逐个地运行测试用例的操作过程被测试工具自动执行的过程所代替。
测试工具的使用是自动化测试的主要特征,其特点:自动运行的速度远快于手工、测试结果准确、高复用性、永不疲劳、可靠、独特的能力。
好处:测试周期缩短、更高质量的产品、软件过程更规范、高昂的团队士气、节省人力资源,降低企业成本、充分利用硬件资源,降低企业成本。
3.试述软件测试的概念模型,并解释。
在开发过程中,从需求阶段到编码阶段,主要是采用验证手段进行测试,如需求评审、设计评审、代码走查以及代码审查等,从而完成对开发的中间结果的正确性的评估。
编码完成并经过代码审查等测试之后,此时的测试主要在软件的可执行模式下进行,即利用确认手段进行测试,确认测试包括单元测试、集成测试、系统测试以及用户验收测试等,其相应的关系。
4.试述软件测试的V型模型,并说明优缺点优点:采用V模型可使软件的测试活动与其他开发工作并行进行。
缺点:缺乏灵活性,不能提出完整和正确的软件需求。
(没找到。
很抱歉 - -|||)5.请谈谈你认为一个优秀的测试工程师应该具备哪些素质作为一名优秀的测试工程师,首先要对测试工作有兴趣:测试工作很多时候都是显得有些枯燥的,因此热爱测试工作,才更容易做好测试工作。
因此,除了具有前面的专业技能和行业知识外,测试人员应该具有一些基本的个人素养,即下面的“五心”。
1.专心:主要指测试人员在执行测试任务的时候要专心,不可一心二用。
高度集中精神不但能够提高效率,还能发现更多的软件缺测试目标测试依据缺陷定义测试对象解决方案测试结果测试工具测试方法测试策略测试组织测试过程陷,业绩最棒的往往是团队中做事精力最集中的那些成员。
2.细心:主要指执行测试工作时候要细心,认真执行测试,不可以忽略一些细节。
某些缺陷如果不细心很难发现,例如一些界面的样式、文字等。
3.耐心:很多测试工作有时候显得非常枯燥,需要很大的耐心才可以做好。
如果比较浮躁,就不会做到“专心”和“细心”,这将让很多软件缺陷从你眼前逃过。