软件测试习题
《软件测试》习题.doc

一、单项选择题1.下列项目中不属于测试文档的是( C )。
A.测试计划B.测试用例C.程序流程图D.测试报告2.下列不属于正式审查的方式是( A )。
A.同事审查B.公开陈述C.检验D.编码标准和规范3.软件测试技术可以分为静态测试和动态测试,下列说法中错误的是( D )。
A.静态测试是指不运行实际程序,通过检查和阅读等手段来发现程序中的错误。
B.动态测试是指实际运行程序,通过运行的结果来发现程序中的错误。
C.动态测试包括黑盒测试和白盒测试。
D.白盒测试是静态测试,黑盒测试是动态测试。
4.下列说法不正确的是( D )。
A.测试不能证明软件的正确性B.测试员需要良好的沟通技巧C.QA与testing属于一个层次的概念D.成功的测试是发现了错误的测试5.在集成测试用例设计的过程中,要满足的基本要求是( C )。
A.保证测试用例的正确性B.保证测试用例能无误的完成测试项的既定的测试目标C.保证测试用例的简单性D.保证测试用例能满足相应的覆盖率要求6.下列测试中不属于系统测试的是( B )。
A.性能测试B.集成测试C.压力测试D.可靠性测试7.软件的集成测试工作最好由( A )承担,以提高集成测试的效果。
A.不属于该软件开发组的软件设计人员B.该软件的设计人员C.该软件开发组的负责人D.该软件的编程人员8.软件测试技术可以分为静态测试和动态测试,下列说法中错误的是( D )。
A.静态测试是指不运行实际程序,通过检查和阅读等手段来发现程序中的错误。
B.动态测试是指实际运行程序,通过运行的结果来发现程序中的错误。
C.动态测试包括黑盒测试和白盒测试。
D.白盒测试是静态测试,黑盒测试是动态测试。
9.单元测试时,调用被测模块的是( C )。
A.桩模块 B.通信模块C.驱动模块 D.代理模块10.为了提高测试的效率,争取的做法是( A )。
A.选择发现错误可能性大的数据作为测试用例B.在完成程序的编码之后在指定软件的测试计划C.随机选取测试用例D.取一切可能的输入数据作为测试用例11.如果一个产品中次严重的缺陷基本完成修正并通过复测,这个阶段的成品称为( B )。
软件测试练习题及答案

一、判断(01)测试是为了验证软件已正确地实现了用户的要求。
错(02)白盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能要求。
对(03)白盒测试不仅与程序的内部结构有关,还要考虑程序的功能要求。
错(04)程序员兼任测试员可以提高工作效率。
错(05)黑盒测试的测试用例是根据应用程序的功能需求设计的。
对(06)当软件代码开发结束时,软件测试过程才开始。
错(07)据有关数据统计,代码中60%以上的缺陷可以通过代码审查发现出来。
对(08)无效等价类是无效的输入数据构成的集合,因此无需考虑无效的等价类划分。
错(09)软件本地化就是将一个软件产品按特定国家或语言市场的需要翻译过来。
错(10)在压力测试中通常采用的是黑盒测试方法。
对(11)软件测试员无法对产品说明书进行白盒测试。
对(12)功能测试工具主要适合于回归测试。
对(13)测试人员说:“没有可运行的程序,我无法进行测试工作”。
错(14)自底向上集成需要测试员编写驱动程序。
对(15)测试是可以穷尽的。
错(16)自动化测试相比手工测试而言,能发现更多的错误。
错(17)软件测试自动化可以提高测试效率,可以代替手工测试。
错(18)语句覆盖法的基本思想是设计若干测试用例,运行被测程序,使程序中的每个可执行语句至少被执行一次。
对(19)Beta测试是验收测试的一种。
对(20)软件开发全过程的测试工作都可以实现自动化。
错(21)软件只要经过严格严谨的内部测试之后,可以做到没有缺陷。
错(22)结构性测试是根据软件的规格说明来设计测试用例。
错(23)软件测试工具可以代替软件测试员。
错(24)通过软件测试,可以证明程序的正确性。
错(25)在单元测试中,驱动程序模拟被测模块工作过程中所调用的下层模块。
错(26)软件缺陷可能会被修复,可能会被保留或者标识出来。
对(27)测试用例是由测试输入数据和对应的实际输出结果这两部分组成。
错(28)单元测试通常由开发人员进行。
对(29)现在人们普遍认为软件测试不应该贯穿整个软件生命周期,而应在编程完毕之后再进行,这样可以降低成本。
软件测试习题集及答案

一、判断分析题1.软件测试的目的是尽可能多的找出软件的缺陷.Y2.软件测试的目的是证明软件没有错误.N3.测试组负责软件质量.N4.程序的效率与程序的复杂性相关.N5.软件是一种逻辑实体,而不是具体的物理实体,因而它具有抽象性. Y6.测试程序仅仅按预期方式运行就行了.N7.好的测试员不懈追求完美. Y8.不存在质量很高但可靠性很差的产品.N9.测试是为了验证该软件已正确地实现了用户的要求. N10.发现错误多的程序模块,残留在模块中的错误也多.Y11.程序效率的提高主要应通过选择高效的算法来实现. Y12.测试人员要坚持原则,缺陷未修复完坚决不予通过.N13.项目立项前测试人员不需要提交任何工件.Y14.缺陷跟踪系统只针对对测试人员来使用.N15.从用户软件开发者的角度出发,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,以考虑是否可接受该产品. N16.软件项目在进入需求分析阶段,测试人员应该开始介入其中. Y17.测试是提高产品质量根本手段.18.代码评审员一般由测试员担任.N19.代码评审是检查源代码是否达到模块设计的要求.N20.软件测试员可以对产品说明书进行白盒测试.N21.静态白盒测试可以找出遗漏之处的问题.Y22.总是首先设计白盒测试用例.N23.用黑盒法测试时,测试用例是根据程序内部逻辑设计的.N24.黑盒测试方法中最有效的是因果图法.Y25.软件测试按照测试过程分类为黑盒、白盒测试.N26.白盒测试又称结构测试、逻辑驱动测试或基于程序的测试.Y27.白盒测试时一般由开发人员兼任测试人员的角色.Y28.黑盒测试是从用户观点出发的测试.Y29.白盒测试是从用户观点出发的测试.N30.白盒测试根据程序外部特征进行测试,黑盒测试根据程序内部逻辑结构进行测试.N31.程序通过了全面的白盒测试,就不需要再进行黑盒测试了.N32.对于同一个测试对象,等价类的测试用例数多于边界值的测试用例数.33.如果输入条件规定了取值范围,则可定义一个有效等价类和两个无效等价类.Y34.不能对输出值域进行健壮性测试.35.有n个变量的函数的健壮最坏情况测试用例的个数为:5的n次方.Y36.有n个变量的函数的健壮最坏情况测试用例的个数为:7的n次方.N37.有n个变量的函数的健壮性测试用例的个数为:5n+1.N38.有n个变量的函数的最坏情况测试会产生5的n次方个测试用例.Y39.有n个变量的函数的边界值分析会产生4n+1个测试用例Y40.边界值分析的假设是“多缺陷”假设 .N41.健壮性测试的主要价值是观察例外情况的处理.Y42.在设计测试用例时,应包括合理的输入条件和不合理的输入条件.Y43.弱健壮等价类测试基于多缺陷假设.N44.强健壮等价类测试是基于多缺陷假设,并考虑了无效值.Y45.强一般等价类测试考虑了无效值.Y46.弱一般等价类是基于单缺陷假设.Y47.弱健壮等价类测试基于单缺陷假设并考虑了无效值.Y48.等价类测试的弱形式不如对应的强形式的测试全面Y49.语句覆盖是最弱的逻辑覆盖.Y50.语句覆盖是最强的逻辑覆盖.N51.判定覆盖不一定包含条件覆盖.Y52.条件覆盖不一定包含判定覆盖.Y53.判定/条件覆盖能同时满足判定、条件两种覆盖标准.Y54.判定/条件覆盖指满足判定覆盖标准或条件覆盖标准.N55.DD-路径图是一种压缩图.Y56.详细设计的目的是为软件结构图中的每一个模块确定使用的算法和块内数据结构,并用某种选定的表达工具给出清晰的描述. Y57.尽量用公共过程或子程序去代替重复的代码段.N58.对于连锁型分支结构,若有n个判定语句,则有2n条路径.Y59.尽量采用复合的条件测试,以避免嵌套的分支结构.Y60.GOTO语句概念简单,使用方便,在某些情况下,保留GOTO语句反能使写出的程序更加简洁.Y61.单元测试能发现约80%的软件缺陷.Y62.单元测试属于动态测试. N63.单元测试多采用白盒测试结构性测试技术.Y64.单元测试需要从程序的内部结构出发设计测试用例.Y65.单元测试需要为每个基本单元开发驱动模块或桩模块.Y66.在面向对象语言语言中,单元测试是函数或子过程.67.单元测试又称为模块测试,是针对软件测试的最小单位-程序模块进行正确性检验的测试工作.Y68.集成测试计划在需求分析阶段末提交.N69.自底向上集成需要测试员编写驱动程序.Y70.进行自底向上集成测试,需要为所测模块或子系统编制相应的驱动模块.Y71.进行自底向上集成测试,需要为所测模块或子系统编制相应的桩模块.N72.进行自顶向下集成测试,需要为所测模块或子系统编制相应的驱动模块.N73.进行自顶向下集成测试,需要为所测模块或子系统编制相应的桩模块.Y74.MM-路径是可执行路径.Y75.非渐增式集成方式,发现错误难以诊断定位.Y76.集成测试是检验程序单元或部件的接口关系,逐步集成为符合概要设计要求的程序部件或整个系统.Y77.系统测试多采用白盒测试结构性测试技术.N黑盒测试78.验收测试是由最终用户来实施的.N79.负载测试是验证要检验的系统的能力最高能达到什么程度.N80.我们可以人为的使得软件不存在配置问题.N81.可以发布具有配置缺陷的软件产品.Y82.所有软件必须进行某种程度的兼容性测试. Y83.所有软件都有一个用户界面,因此必须测试易用性. N84.β测试是由软件的多个用户在实际使用环境下进行的测试.Y85.系统测试是在真实或模拟系统运行环境下,检查完整的程序系统能否和相关硬件、外设、网络、系统软件和支持平台等正确配置与连接,并满足用户需求.Y86.Beta 测试是验收测试的一种.Y二、简答题1.什么是软件测试软件测试的目的和作用是什么答:利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估.软件测试是在受控制的条件下对系统或应用程序进行操作并评价操作的结果.软件测试的目的是以最少的时间和人力,系统地找出软件中潜在的各种错误和缺陷.测试是为了证明程序有错,而不是证明程序无错.一个成功的测试是发现了至今未发现的错误的测试.软件测试的原则包括:所有的测试都应追溯到用户的需求;尽早地和不断地进行软件测试;不可能完全的测试,因为输入量太大,执行路径太多;注意测试中的群集现象;避免测试自己的程序;设计周密的测试用例.2.简述软件测试的目的和原则.答:软件测试的目的是以最少的时间和人力,系统地找出软件中潜在的各种错误和缺陷.测试是为了证明程序有错,而不是证明程序无错.一个成功的测试是发现了至今未发现的错误的测试.软件测试的原则包括:所有的测试都应追溯到用户的需求;尽早地和不断地进行软件测试;不可能完全的测试,因为输入量太大,执行路径太多;注意测试中的群集现象;避免测试自己的程序;设计周密的测试用例.3.软件缺陷产生的原因答:A.软件需求说明书编写的不全面,不完整,不准确,而且经常更改B.软件设计说明书C.软件操作人员的水平D.开发人员不能很好的理解需求明书和沟通不足4.什么是软件测试,以及软件测试的意义答:软件测试是为了发现错误而执行程序的过程.软件测试是根据软件开发阶段的规格说明和程序的内部结构而精心设计的一批测试用例即输入数据及预期的输出结果,并利用这些测试用例去运行程序,以发现错误的过程.意义:1.对产品质量完成全面的评估,为软件产品发布如验收测试、软件系统部署如性能规划测试、软件产品鉴定第三方独立测试委托方和被委托方纠纷仲裁第三方独立测试和其它决策提供信息;2.通过持续的测试包括需求评审、设计评审、代码评审等可以对产品质量提供持续的、快速的反馈,从而在整个开发过程中不断地、及时地改进产品的质量,并减少各种返工,降低软件开发的成本;3.通过测试发现所要交付产品的缺陷,特别是尽可能地发现各种严重的缺陷,降低或消除产品质量风险,提高客户的满意度,扩大市场份额,提高客户的忠诚度.4.通过对缺陷进行分析,找出缺陷发生的根本原因软件过程中的问题,包括错误的行为方式或总结出软件产品的缺陷模式,避免将来犯同样的错误或产生类似的产品问题,达到缺陷预防的目的5.什么是软件测试什么是测试用例,测试用例必须包括那几部分答:狭义的讲,一个测试用例就是测试人员用以测试被测软件的某个特性或特性组合的一组数据.这组数据可能是从用户处得来的实际的一组数据,也可能是测试人员专门设计出来的测试软件某些功能的一组数据.6.简述你对测试工作的认识过程、在以后的工作的一些建议.7.请辨析软件的质量是“设计出来的”还是“测试出来的”观点.8.软件测试与软件开发的关系答:软件开发是一个系统的工程.包括需求分析,设计,编码,测试,维护等等几个环节.测试是整个软件开发流程中的一个环节.9.在测试生命周期中,测试过程分为几个阶段各个阶段的含义以及各阶段的测试依据是什么答:软件测试是一个规则的过程,包括测试设计、测试执行以及测试结果比较等.①测试设计:根据软件开发各阶段的文档资料和程序的内部结构,利用各种设计测试用例技术精心设计测试用例.②测试执行:利用这些测试用例执行程序,得到测试结果.③测试结果比较:将预期的结果与实际测试结果进行比较,如果二者不符合,对于出现的错误进行纠错,并修改相应文档.修改后的程序还要进行再次测试,直到满意为止.如果测试发现不了错误,可能由于测试配置考虑不周到,应考虑重新制定测试方案,设计测试用例.按照开发阶段划分,软件测试可分为单元测试、集成测试,系统测试和验收测试.单元测试:针对每个单元的测试,以确保每个模块能正常工作为目标.集成测试:对已测试过的模块进行组装,进行集成测试.系统测试:检验软件产品能否与系统的其他部分协调工作.验收测试:检验软件产品质量的最后一道工序.10.一名优秀的软件测试工程师应具备哪些素质答:一个优秀的测试工程师应该具备的基本素质有:责任心、沟通能力、团队精神、自信心、耐心、怀疑精神、洞察力、幽默感等.应具备的专业素质有:有竞争力的测试人员要具有三方面的技能:计算机专业技能、测试专业技能、软件编程技能.11.如何做一名合格的测试人员测试人员应具备素质如下:(1)沟通能力.(2)移情能力.(3)技术能力.(4)自信心.(5)外交能力.(6)幽默感.(7)很强的记忆力.(8)耐心.(9)怀疑精神.(10)自我督促.(11)洞察力.12.测试计划的目的是什么答:软件测试计划是指导测试过程的纲领性文件,包含了产品概述、测试策略、测试方法、测试区域、测试配置、测试周期、测试资源、测试交流、风险分析等内容.借助软件测试计划,参与测试的项目成员,尤其是测试管理人员,可以明确测试任务和测试方法,保持测试实施过程的顺畅沟通,跟踪和控制测试进度,应对测试过程中的各种变更.13.什么是黑盒测试黑盒测试主要采用的技术有哪些答:黑盒测试又称为功能测试、数据驱动测试和基于规格说明的测试.它从用户观点出发的测试.用这种方法进行测试时,把被测试程序当作一个黑盒,在不考虑程序内部结构的内部特性、测试者只知道该程序输入和输出之间的关系或程序功能的情况下,依靠能够反映这一关系和程序功能需求规格的说明书,来确定测试用例和推断测试结果的正确性.黑盒测试的方法包括:边界值分析、等价类测试、基于决策表的测试和因果图等.14.简单描述黑盒测试各种方法的特点.答:黑盒测试的方法主要有边界值分析法、等价类划分法、因果图法、决策表测试法等.边界值分析利用输入变量的最小值、略大于最小值、输入值域内的任意值、略小于最大值和最大值来设计测试用例.等价类划分法是把程序的输入域划分为若干部分,然后从每个部分中选取少数代表性数据当作测试用例.经过类别的划分后,每一类的代表性数据在测试中的作用都等价于这一类中的其他值.因果图方法就是从程序规格说明书的描述中找出因输入条件和果输出结果,将因果图转换为决策表,最后为决策表中的每一列设计一个测试用例.这种方法考虑到了输入情况各种组合以及各个输入情况之间的相互制约关系.在所有的黑盒测试方法中,基于决策表的测试是最为严格、最具有逻辑性的.在一些数据处理问题当中,某些操作的实施依赖于多个逻辑条件的组合,即:针对不同逻辑条件的组合值,分别执行不同的操作.决策表法很适合测试这类问题.15.如果能够执行完美的黑盒测试,还需要进行白盒测试吗为什么答:需要,黑盒测试可根据程序规格检验程序是否完成规定功能,但无法发现程序内部的编码和逻辑错误,白盒测试与之相反互补.16.边界值测试有几种方法答:边界值分析和健壮性测试17.等价分类法的测试技术采用的一般方法举例说明答:(1)为每个等价类编号;(2)设计一个新的测试方案,以尽可能多的覆盖尚未被覆盖的有效等价类,重复这一步骤,直到所有有效等价类被覆盖为止.(3)设计一个新的测试方案,使它覆盖一个尚未被覆盖的无效等价类,重复这一步骤,直到所有无效等价类被覆盖为止.18.什么是等价类如何划分等价类等价类测试中有哪些方法答:把单元的输入域化分为几种数据类,每种用来发现一类的错误,每类只用提供一个或几个用例数据.目的是减少用例数量.19.请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系.答:黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求.白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查.软件的黑盒测试意味着测试要在软件的接口处进行.这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明.因此黑盒测试又叫功能测试或数据驱动测试.黑盒测试主要是为了发现以下几类错误:1、是否有不正确或遗漏的功能2、在接口上,输入是否能正确的接受能否输出正确的结果3、是否有数据结构错误或外部信息例如数据文件访问错误4、性能上是否能够满足要求5、是否有初始化或终止性错误软件的白盒测试是对软件的过程性细节做细致的检查.这种方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试.通过在不同点检查程序状态,确定实际状态是否与预期的状态一致.因此白盒测试又称为结构测试或逻辑驱动测试.白盒测试主要是想对程序模块进行如下检查:1、对程序模块的所有独立的执行路径至少测试一遍.2、对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍.3、在循环的边界和运行的界限内执行循环体.4、测试内部数据结构的有效性,等等.单元测试模块测试是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确.通常而言,一个单元测试是用于判断某个特定条件或者场景下某个特定函数的行为.单元测试是由程序员自己来完成,最终受益的也是程序员自己.可以这么说,程序员有责任编写功能代码,同时也就有责任为自己的代码编写单元测试.执行单元测试,就是为了证明这段代码的行为和我们期望的一致.集成测试也叫组装测试,联合测试是单元测试的逻辑扩展.它的最简单的形式是:两个已经测试过的单元组合成一个组件,并且测试它们之间的接口.从这一层意义上讲,组件是指多个单元的集成聚合.在现实方案中,许多单元组合成组件,而这些组件又聚合成程序的更大部分.方法是测试片段的组合,并最终扩展进程,将您的模块与其他组的模块一起测试.最后,将构成进程的所有模块一起测试.系统测试是将经过测试的子系统装配成一个完整系统来测试.它是检验系统是否确实能提供系统方案说明书中指定功能的有效方法.常见的联调测试系统测试的目的是对最终软件系统进行全面的测试,确保最终软件系统满足产品需求并且遵循系统设计.验收测试是部署软件之前的最后一个测试操作.验收测试的目的是确保软件准备就绪,并且可以让最终用户将其用于执行软件的既定功能和任务.验收测试是向未来的用户表明系统能够像预定要求那样工作.经集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进一步验证软件的有效性,这就是验收测试的任务,即软件的功能和性能如同用户所合理期待的那样.20.什么是白盒测试白盒测试主要采用的技术有哪些白盒测试有那几种方法并简单描述各种方法的特点.答:白盒测试又称为结构测试、逻辑驱动测试或基于程序的测试.它依赖于对程序细节的严密的检验.针对特定条件和循环集设计测试用例,对软件的逻辑路径进行测试.在程序的不同点检验程序的状态,来进行判定其实际情况是否和预期的状态相一致.白盒测试包括:逻辑覆盖、基路径测试、数据流测试、程序插装等.总体上分为静态方法和动态方法两大类静态:关键功能是检查软件的表示和描述是否一致,没有冲突或者没有歧义动态:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖.21.常用的逻辑覆盖测试方法有哪几种并简单描述各种方法的目的.答:逻辑覆盖可分为:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖及路径覆盖.语句覆盖:要求设计若干个测试用例,运行被测程序,使程序中的每个可执行语句至少被执行一次.判定覆盖:要求设计若干测试用例,运行被测程序,使得程序中每个判断的取真分支和取假分支至少执行一次,即判断的真假值均要被检测.判定覆盖又称为分支覆盖.条件覆盖:要求设计若干测试用例,执行被测程序,使得程序中每个判断的每个条件的可能取值至少被执行一次.判定/条件覆盖:要求设计足够的测试用例,执行被测程序,使得判断中每个条件的所有可能取值至少被执行一次,同时每个判断的所有可能判断结果也至少被执行一次.路径覆盖:要求设计足够多测试用例,覆盖程序中所有可能的路径.22.逻辑覆盖中几种主要覆盖的含义举例说明答:逻辑覆盖是一种使用最广泛的结构测试方法.逻辑覆盖以程序内部的逻辑结构为基础设计测试用例,要求对被测程序的逻辑结构有清楚的了解,甚至要能掌握源程序的所有细节.由于覆盖测试的目标不同,逻辑覆盖可分为:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖及路径覆盖.23.单元测试有那些步骤,各个步骤有那些实施内容.答:1.静态检查:用工具Logiscope或者人工检查单2.动态检查:用工具PurifyPlus或者人工调试3.测试用例执行工具或人工设计测试用例及数据;提前编写测试用例代码、脚本、驱动模块和桩模块;提前运行测试用例,记录结果.在步骤1,2之后进行24.非增量式测试与增量式测试答:非增量式测试的方法是先分散测试,然后集中起来再一次完成集成测试.假如在模块的接口处存在错误,只会在最后的集成测试时一下子暴露出来.增量式测试是逐步集成和逐步测试的方法,把可能出现的差错分散暴露出来,便于找出问题和修改.而且一些模块在逐步集成的测试中,得到了较多次的考验,因此,可能会取得较好的测试效果.结论:增量式测试要比非增量式测试具有一定的优越性.25.简述自顶向下增量式测试和自底向上增量式测试两种集成测试方法,并比较两者的优点和缺点.答:自顶向下增量式测试:主要优点在于它可以自然的做到逐步求精,一开始就能让测试者看到系统的框架.主要缺点是需要提供桩模块,并且在输入/输出模块接入系统以前,在桩模块中表示测试数据有一定困难.自底向上增量式测试:优点在于,由于驱动模块模拟了所有调用参数,即使数据流并未构成有向的非环状图,生成测试数据也无困难.主要缺点在于,直到最后一个模块被加进去之后才能看到整个程序系统的框架.26.简述集成测试的过程.集成测试的方法有那些答:系统集成测试主要包括以下过程:1. 构建的确认过程.2. 补丁的确认过程.3. 系统集成测试测试组提交过程.4. 测试用例设计过程.5. 测试代码编写过程.6. Bug的报告过程.7. 每周/每两周的构建过程.8. 点对点的测试过程.9. 组内培训过程.27.比较自顶向下集成测试和自底向上集成测试的优劣答:自顶向下集成测试表示逐步集成和逐步测试是按照结构图自上而下进行的,即模块集成的顺序是首先集成主控模块主程序,然后依照控制层次结构向下进行集成.自底向上集成测试表示逐步集成和逐步测试的工作是按结构图自下而上进行的,由于是从最底层开始集成,所以也就不再需要使用桩模块进行辅助测试.自顶向下测试的主要优点在于它可以自然的做到逐步求精,一开始就能让测试者看到系统的框架.它的主要缺点是需要提供桩模块.自底向上的优点在于不需要桩模块,需用的驱动模块比较少.它的主要缺点在于,直到最后一个模块被加进去之后才能看到整个程序系统的框架.。
软件测试练习题(含参考答案)

软件测试练习题(含参考答案)一、单选题(共100题,每题1分,共100分)1、以下关于书写缺陷报告应包含的准则说法不正确的是()A、方便阅读、注意缺陷报告书写语气B、分析故障,使用最少步骤重现缺陷C、尽量全面--将一次发现的所有缺陷放在一个报告中D、包含所有重现缺陷的必要步骤正确答案:C2、( )存储一个对话框模板,模板制定了对话框的特征,包括其大小、位置、风格以及对话框中各种控件等。
A、单模对话框B、对话框函数C、对话框模板资源D、对话框类正确答案:C3、测试的目的是( ),而不是对正确性进行形式化证明。
A、要纠正程序中的bugB、要暴露程序中的错误C、要暴露程序中的bugD、要纠正程序中的错误正确答案:B4、数据库系统是一个复杂的系统,是存储介质、处理对象和管理系统的集合体,由数据库、硬件支持系统、软件支持系统和( )四部分组成。
A、应用系统B、数据库管理员C、操作系统D、数据模型描述正确答案:B5、在VC中,如果在Menu Item属性页中选择( )复选框,表示此菜单项是一个多级菜单,并且其右边将会出现一个新菜单框。
A、inactiveB、Pop-upC、CheckedD、Grayed正确答案:B6、软件测试是软件质量保证的重要手段()是软件测试的最基础环节A、验收测试B、系统测试C、单元测试D、确认测试正确答案:C7、按存储的工作方式分类,存储器可分为( )。
A、软盘、硬盘、光盘B、半导体存储器、磁表面存储器、光存储器C、RAM、ROM、BIOSD、随机读写存储器、顺序读写存储器、只读存储器正确答案:D8、按存储的工作方式分类,磁带存储器属于( )。
A、主存储器B、随机读写存储器C、顺序读写存储器D、只读存储器正确答案:C9、下列不属于需求规格说明的特点的是:( )。
A、可重用性B、一致性C、可修改性D、完整性正确答案:A10、测试一个( ),应该用那种能暴露边界情况的测试实例,既有简单的也有较难的。
软件测试练习题

软件测试练习题一、选择题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、一个多用户的应用系统通常有用户管理功能,允许增加新的用户。
用户信息一般包括用户名,假设规定用户名必须是以字母开头的、不超过8个字符的字母数字串。
那么,下列哪组值均属于用户名的有效等价类?()A.a111111, L, Lin-Yie, Lin-fengB.L1, a111111, glenford, 123B123C.linyifei, a111111, glenford, MyersD.linyifei, a111111, glenford, G.Myers9、下列不属于单元测试的工作内容的是()。
软件测试练习题及答案

软件测试练习题及答案、判断01 )测试是为了验证软件已正确地实现了用户的要求。
错02 )白盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能要求。
对03 )白盒测试不仅与程序的内部结构有关,还要考虑程序的功能要求。
错04)程序员兼任测试员可以提高工作效率。
错05 )黑盒测试的测试用例是根据应用程序的功能需求设计的。
对06 )当软件代码开发结束时,软件测试过程才开始。
错07 )据有关数据统计,代码中 60%以上的缺陷可以通过代码审查发现出来。
对08)无效等价类是无效的输入数据构成的集合,因此无需考虑无效的等价类划分。
错09 )软件本地化就是将一个软件产品按特定国家或语言市场的需要翻译过来。
错10)在压力测试中通常采用的是黑盒测试方法。
对11)软件测试员无法对产品说明书进行白盒测试。
对12)功能测试工具主要适合于回归测试。
对13)测试人员说:“没有可运行的程序,我无法进行测试工作” 。
错14)自底向上集成需要测试员编写驱动程序。
对15)测试是可以穷尽的。
错16)自动化测试相比手工测试而言,能发现更多的错误。
错17)软件测试自动化可以提高测试效率,可以代替手工测试。
错语句至少被执行一次。
对18)语句覆盖法的基本思想是设计若干测试用例,运行被测程序,使程序中的每个可执行19) Beta 测试是验收测试的一种。
对20 )软件开发全过程的测试工作都可以实现自动化。
错21 )软件只要经过严格严谨的内部测试之后,可以做到没有缺陷。
错22)结构性测试是根据软件的规格说明来设计测试用例。
错23 )软件测试工具可以代替软件测试员。
错24 )通过软件测试,可以证明程序的正确性。
错25)在单元测试中,驱动程序模拟被测模块工作过程中所调用的下层模块。
错26)软件缺陷可能会被修复,可能会被保留或者标识出来。
对27)测试用例是由测试输入数据和对应的实际输出结果这两部分组成。
错28)单元测试通常由开发人员进行。
对(29 )现在人们普遍认为软件测试不应该贯穿整个软件生命周期,而应在编程完毕之后再进行,这样可以降低成本。
软件测试综合练习题

软件测试综合练习题一、名词解释题1、测试用例2、驱动模块3、回归测试4、静态测试5、桩模块6、强度测试7、软件测试8、自动化测试9、动态测试10、独立路径二、问答题1、软件测试涉及哪些关键问题?2、简述软件测试过程的流程。
3、为什么说软件测试必须有预期结果?4、什么是测试用例?5、简述黑盒测试和白盒测试概念,并试分析两者的优点和缺点。
6、采用白盒测试法设计测试用例时,常用的逻辑覆盖测试方法有哪几种?请简单描述各种方法的目的。
7、黑盒测试有哪几种方法?请简单描述各种方法的特点。
8、简析已学的各种黑盒测试方法的特点,并分析如何选择恰当的黑盒测试方法?9、简介WEB应用程序在压力下的常见错误类型。
10、单元测试的主要任务是什么?11、简述自顶向下增量式测试和自底向上增量式测试两种集成测试方法,并比较两者的优点和缺点。
12、简述在哪些测试模块中应优先考虑引入自动化测试?自动化测试可以带来哪些优点?13、在软件工程或软件测试中,哪些软件问题被称为软件缺陷?14、简述软件测试与软件开发各阶段的关系。
15、在测试实施之前,如何才能确定好的测试策略和测试方法?16、简述软件测试的目的和原则。
17、为什么在单元测试之后要进行集成测试?如何组织集成测试?18、当WinRunner识别完GUI对象后,会将GUI对象的属性储存在GUI Map File,WinRunner提供二种GUI Map File模式: GUI Map File per Test模式与Global GUI Map File模式。
(1)请比较这两种GUI Map File 模式的优点和缺点。
(2)请分别说明在这两种GUI Map File模式下,WinRunner可以通过哪些方式学习被测软件的GUI?19、介绍在 WinRunner 中GUI映射文件(GUI Map File)的作用。
20、什么是数据驱动脚本?简介在Winrunner中如何实现数据驱动脚本21、WinRunner 可以帮助用户自动处理从测试开发到测试执行的整个过程,可以创建可修改和可复用的测试脚本,而不用担心软件功能模块的变更。
软件测试习题

软件测试第一章软件测试综述选择题(每题1分)1.Myers在1979年提出了一个重要观点,即软件测试的目的是为了()。
A)证明程序正确B)查找程序错误C)改正程序错误D)验证程序无错误答案:B2.坚持在软件开发的各个阶段实施下列哪种质量保证措施,才能在开发工程中尽早发现和预防错误,把出现的错误克服在早期()A)技术评审B)程序测试C)文档审查D)管理评审答案:A3.经验表明,在程序测试中,某模块与其他模块相比,若该模块已发现并改正的错误数目较多,则该模块中残存的错误数目与其他模块相比,通常应该()A)较少B)较多C)相似D)不确定答案:B4.下面有关测试原则的说法中正确的是()。
A)测试用例应由测试的输入数据和预期的输出结果两部分组成B)测试用例只需选取合理的输入数据C)程序最好由编写该程序的程序员自己来测试D)使用测试用例进行测试是为了检查程序是否做了它该做的事答案:A5.为了提高测试的效率,正确的做法是()。
A)选择发现错误可能性大的数据作为测试用例B)在完成程序的编码之后再制定软件的测试计划C)随机选取测试用例D)取一切可能的输入数据作为测试用例答案:A6.对程序的测试最好由()来做,对程序的调试最好由()来做。
A)程序员第三方测试机构B)第三方测试机构程序员C)程序开发组程序员D)程序开发组程序开发组答案:B填空题(每空1分)1.20世纪50年代以前,开发人员往往将测试与调试等同。
_________,人们开始试图区分测试与调试。
答案:1957年。
2.语义错误是一种偏离错误,如需求定义偏离了用户需求,设计偏离了需求定义等。
偏离既包括____________也包括___________。
答案:正偏离;负偏离。
1.一个好的测试用例在于它能发现以前未发现的错误。
答案:正确2.一个成功的测试是发现了以前未发现的错误的测试。
答案:正确3.测试是为了证明程序正确,而不是证明程序有错。
答案:错误1.软件缺陷答案:软件产品中违背了软件产品需求的实现,则称为软件缺陷。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、选择题1.软件测试的目的是(B )。
A)试验性运行软件B)发现软件错误C)证明软件正确D)找出软件中全部错误2.软件测试中白盒法是通过分析程序的( B )来设计测试用例的。
A)应用范围B)内部逻辑C)功能D)输入数据3.黑盒法是根据程序的( C )来设计测试用例的。
A)应用范围B)内部逻辑C)功能D)输入数据4.为了提高软件测试的效率,应该( D )。
A)随机地选取测试数据B)取一切可能的输入数据作为测试数据C)在完成编码以后制定软件的测试计划D)选择发现错误可能性最大的数据作为测试用例5.与设计测试用例无关的文档是(A )。
A)项目开发计划B)需求规格说明书C)设计说明书D)源程序6.测试的关键问题是(B )。
A)如何组织软件评审B)如何选择测试用例C)如何验证程序的正确性D)如何采用综合策略7.软件测试用例主要由输入数据和( C )两部分组成。
A)测试计划B)测试规则C)预期输出结果D)以往测试记录分析8.成功的测试是指运行测试用例后( B )。
A)未发现程序错误B)发现了程序错误C)证明程序正确性D)改正了程序错误9.下列几种逻辑覆盖标准中,查错能力最强的是( D )。
A)语句覆盖B)判定覆盖C)条件覆盖D)条件组合覆盖10.在黑盒测试中,着重检查输入条件组合的方法是( D )。
A)等价类划分法B)边界值分析法C)错误推测法D)因果图法11.单元测试主要针对模块的几个基本特征进行测试,该阶段不能完成的测试是(A )。
A)系统功能B)局部数据结构C)重要的执行路径D)错误处理12.软件测试过程中的集成测试主要是为了发现( B )阶段的错误。
A)需求分析B)概要设计C)详细设计D)编码13.不属于白盒测试的技术是(D )。
A)路径覆盖B)判定覆盖C)循环覆盖D)边界值分析14.集成测试时,能较早发现高层模块接口错误的测试方法为( A )。
A)自顶向下渐增式测试B)自底向上渐增式测试C)非渐增式测试D)系统测试15.确认测试以( A )文档作为测试的基础。
A)需求规格说明书B)设计说明书C)源程序D)开发计划16.使用白盒测试方法时,确定测试数据应根据( A )和指定的覆盖标准。
A)程序内部逻辑B)程序的复杂度C)使用说明书D)程序的功能17.程序的三种基本结构是(B )。
A)过程子、程序、分程序B)顺序、选择、循环C)递归、堆栈、队列D)调用、返回、转移18.结构化程序设计的一种基本方法是(D )A)筛选法B)递归法C)归纳法D)逐步求精法19.软件调试的目的是( A )A)找出错误所在并改正之B)排除存在错误的可能性C)对错误性质进行分类D)统计出错的次数20.程序三种基本结构的共同特点是( D )A)不能嵌套使用B)只能用来写简单程序C)已经用硬件实现D)只有一个入口和一个出口21.下面说法正确的是( C )。
A)经过测试没有发现错误说明程序正确B)测试的目标是为了证明程序没有错误C)成功的测试是发现了迄今尚未发现的错误的测试D)成功的测试是没有发现错误的测试22.覆盖准则最强的是( D )。
A)语句覆盖B)判定覆盖C)条件覆盖D)路径覆盖23.发现错误能力最弱的是( A )。
A)语句覆盖B)判定覆盖C)条件覆盖D)路径覆盖24.实际的逻辑覆盖测试中,一般以( C )为主设计测试用例。
A)条件覆盖B)判定覆盖C)条件组合覆盖D)路径覆盖25.下面( D )方法能够有效地检测输入条件的各种组合可能引起的错误。
A)等价类划分B)边界值分析C)错误推测D)因果图26.与确认测试阶段有关的文档是( A )。
A)需求规格说明书B)概要设计说明书C)详细设计说明书D)源程序27.超出软件工程范围的测试是( D )。
A)单元测试B)集成测试C)确认测试D)系统测试28.软件测试不需要了解软件设计的( D )。
A)功能B)内部结构C)处理过程D)条件29.( B )方法需要考察模块间的接口和各模块之间的联系。
A)单元测试B)集成测试C)确认测试D)系统测试30.调试应该由( B )完成。
A)与源程序无关的程序员B)编制该源程序的程序员C)不了解软件设计的机构D)设计该软件的机构31.基线是软件生存期中各开发阶段的一个特定点,它可作为一个检查点,当采用的基线发生错误时,我们可以返回到最近和最恰当的(C )上。
A)配置项B)程序C)基线D)过程32.版本管理是对系统不同版本进行的(A )过程A)标识与跟踪B)标识变更C)发布变更D)控制变更33.在变更控制中,管理各个用户存取和修改一个特定软件配置对象的权限是( D )。
A)异步控制B)同步控制C)存取控制D)基线控制34. 在配置管理中,“登入”和“检出”处理实现了两个重要的变更控制要素,即同步控制和( B )。
A)异步控制B)同步控制C)基线控制D)存取控制35. 按照软件配置管理的原始指导思想,受控制的对象应是( C )。
A)软件元素B)软件配置项C)软件项目D)软件过程36. 软件配置项是软件配置管理的对象,指的是软件工程过程中所产生的( B )。
A)接口B)软件环境C)信息项D)版本37.在变更控制中,可用来确保由不同用户所执行的并发控制是( B )。
A)异步控制B)同步控制C)存取控制D)基线控制38.以下说法错误的是( A )。
A)软件配置管理简称SCIB)软件配置项是配置管理的基本单位C)软件配置实际上是一动态的概念D)软件工程过程中某一阶段的变更均要引起软件配置的变更39.在设计人机界面时,应主要考虑的因素有(D)。
A)系统响应时间B)错误处理C)用户求助机制D)以上都是40.人机界面的风格大致经过了( D )代的演变A)一B)二C)三D)四二、填空题1.软件测试的目的是尽可能多地发现软件中存在的错误,将测试测试结果作为纠错的依据。
2.测试阶段的基本任务是根据软件开发各阶段的文档资料和程序的内部结构,精心设计一组测试用例,利用这些实例执行程序,找出软件中潜在的各种错误和缺陷。
3.测试用例由输入数据和预期的输出数据两部分组成。
4.软件测试方法一般分为两大类:动态测试方法和静态测试方法。
5.动态测试通过运行程序发现错误。
根据测试用例的设计方法不同,动态测试又分为黑盒测试与白盒测试两类。
6.静态测试采用人工检测和计算机辅助静态分析的手段对程序进行检测。
7.人工审查程序偏重于编码质量的检验,而软件审查除了审查编码还要对各阶段软件产品进行检验。
8.计算机辅助静态分析利用静态分析工具对测试程序进行特性分析。
9.黑盒法只在软件的接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求。
10.白盒法必须考虑程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试。
11.白盒测试是结构测试,被测对象是源程序,以程序的内部逻辑为基础设计测试用例。
12.逻辑覆盖是对程序内部有判定存在的逻辑结构设计测试用例,根据程序内部的逻辑覆盖程度又可分为语句覆盖判定覆盖条件覆盖判定/条件覆盖条件组合覆盖路径覆盖6种覆盖技术。
13.实际的逻辑覆盖测试中,一般以条件组合覆盖为主设计测试用例,然后再补充部分用例,以达到路径覆盖测试标准。
14.循环覆盖是对程序内部有循环存在的逻辑结构设计测试用例,它通过限制循环次数来测试。
15.基本路径测试是在程序控制流程图基础上,通过分析控制构造的环路复杂性,导出基本路径集合,从而设计测试用例。
16.黑盒测试是功能测试,用黑盒技术设计测试用例有4种方法:等价类划分边界值分析错误推测因果图。
17.等价类划分从程序的功能说明,找出一个输入条件(通常是一句话或一个短语),然后将每个输入条件划分成两个或多个等价类。
18.边界值分析是将测试边界情况作为重点目标,选取正好等于、刚刚大于或刚刚小于边界值的测试数据。
如果输入或输出域是一个有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。
19.在测试程序时,根据经验或直觉推测程序中可能存在的各种错误,称为错误推测法。
20.因果图的基本原理是通过画因果图,把用自然语言描述的功能说明转换为判定表,最后为判定表每一列设计一个测试用例。
21.测试的综合策略是在测试中,联合使用各种测试方法。
通常先用黑盒法设计基本的测试用例,再用白盒法补充一些必要的测试用例。
22.软件测试过程中需要3类信息:软件配置、测试配置和测试工具。
23.软件测试一般经过4个测试:单元测试集成测试确认测试系统测试。
24.单元测试指对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误,它涉及编码和详细设计的文档。
25.单元测试主要测试模块的5个基本特征:模块接口局部数据结构重要的执行路径错误处理边界条件。
26.在单元测试中,需要为被测模块设计驱动模块和桩模块。
驱动模块用来模拟被测模块的上级调用模块,桩模块用来代替被测模块所调用的模块。
27.集成测试指在单元测试基础上,将所有模块按照设计要求组装成一个完整的系统进行的测试。
也称组装测试或联合测试。
28.集成测试的方法有两种:非渐增式测试渐增式测试。
29.渐增式测试有两种不同的组装模块的方法:自顶向下结合自底向上结合。
30.自顶向下渐增式测试不需要编写驱动模块,只需要编写桩模块,其步骤是从模块开始,沿着被测程序的顶层的控制路径逐步向下测试,它有两种组合策略:软件结构图和深度优先策略宽度优先策略。
31.自底向上渐增式测试不需要编写桩模块,只需要编写驱动模块。
32.确认测试指检查软件的功能与性能是否与需求规格说明书中确定的指标相符合,又称有效性测试。
33.确认测试在模拟环境下运用黑盒测试方法,由专门测试人员和用户参加的测试。
34.确认测试开始前需要制定测试计划,结束后要写出测试分析报告。
其测试用例要选用实际运用的数据。
35.软件配置审查的任务是检查软件的所有文档资料的完整性和正确性。
36.调试也称纠错,是在成功的测试之后才开始进行,其目的是确定错误的原因和位置,并改正错误。
37.调试技术包括简单调试归纳法调试演绎法调试回溯法调试38.回溯法调试是从程序产生错误的地方出发,而归纳法调试是从测试结果发现的线索入手。
39.被测试程序不在机器上运行,而是采用人工检测和计算机辅助分析检测的手段称为静态测试。
40.用等价类划分法设计一个测试用例时,使其覆盖尽可能多的尚未被覆盖的合理等价类。
41.用等价类划分法设计一个测试用例时,使其覆盖一个不合理等价类。
42.在单元测试时,需要为被测模块设计驱动模块与桩模块。
43.在集成测试时有两种测试方法,它们是渐增式和非渐增式。
44.软件测试是为了发现错误而执行程序的过程。
45.运行被测程序的方法称为动态测试。
46.动态测试中,主要测试软件功能的方法称为黑盒法。