软件测试 题库解读.docx
- 文档编号:10596159
- 上传时间:2023-02-21
- 格式:DOCX
- 页数:18
- 大小:54.70KB
软件测试 题库解读.docx
《软件测试 题库解读.docx》由会员分享,可在线阅读,更多相关《软件测试 题库解读.docx(18页珍藏版)》请在冰豆网上搜索。
软件测试题库解读
一、选择题
5、以下不属于逻辑覆盖的是(D)。
A、语句覆盖B、判定覆盖C、条件覆盖D、基本路径
5、以下不属于白盒测试技术的是(D)
A、逻辑覆盖B、基本路径测试C、循环覆盖测试D、等价类划分
1、在设计测试用例时,应当包括(C)
A、合理的输入条件B、不合理的输入条件C、合理的和不合理的输入条件D、部分条件
2、下列各项中不属于逻辑覆盖的是(D)
A、语句覆盖B、判定覆盖C、判定——条件覆盖D、全部覆盖
5、实践表明,确定发生错误的位置和内在原因所需的工作量几乎占整个调试工作量的(D)。
A30%B、50%C、70%D、90%
1.与设计测试数据无关的文档是(D)。
A、需求说明书B、设计说明书C、源程序D、项目开发设计
2.软件调试技术包括()
A.边界值分析B.演绎法C.循环覆盖D.集成测试
9.软件测试方法中的静态测试方法之一为()
A.计算机辅助静态分析B.黑盒法C.路径覆盖D.边界值分析
6.用白盒法技术设计测试用例的方法包括( C )
A.错误推测B.因果图C.基本路径测试D.边界值分析
7.软件测试中根据测试用例设计的方法的不同可分为黑盒测试和白盒测试两种,它们( D )
A.前者属于静态测试,后者属于动态测试
B.前者属于动态测试,后者属于静态测试
C.都属于静态测试D.都属于动态测试
8.在进行软件测试时,首先应当进行以下哪项测试,然后再进行组装测试,最后再进行有效性测试(A)
A.单元测试B.系统测试 C.集成测试D.确认测试
10.下列属于静态测试方法的是(D)
A.黑盒法B.路径覆盖C.白盒法D.人工检测
16.下列不属于通常冗余技术的是(D)
A.结构冗余B.信息冗余 C.时间冗余D.代码冗余
18.关于软件测试的目的,下面观点错误的是(C)
A.为了发现错误而执行程序的过程 B.一个好的测试用例能够发现至今尚未发现的错误
C.证明程序是正确、没有错误的D.一个成功的测试用例是发现了至今尚未发现的错误的测试
【16】.软件测试的目的是 B 。
A)评价软件的质量 B)发现软件的错误C)找出软件中所有的错误D)证明软件的正确的
19.为了提高测试的效率,应该
A.随机地选取测试数据 B.取一切可能的输入数据作为测试数据
C.在完成编码以后制定软件的测试计划 D.选择发现错误可能性大的数据作为测试数据
[解析]软件测试是为了尽可能多的发现程序中的错误,尤其是发现至今尚未发现的错误。
在选取测试用例时,不可能进行穷举测试,在每一个细节进行测试,也不能无目的地随机选取测试数据,为了提高测试的效率,测试用例应该选择发现错误可能性大的部分,这样的测试结果才符合软件测试的目的。
20.使用白盒测试方法时,确定测试数据应根据_______和指定的覆盖标准。
A.程序的内部逻辑 B.程序的复杂结构 C.使用说明书 D.程序的功能
[解析]白盒测试是把测试对象看作一个打开的盒子,测试人员须了解程序的内部结构和处理过程,由于白盒测试是一种结构测试,所以被测对象基本上是源程序,以程序的内部逻辑和指定的覆盖标准确定测试数据。
1软件调试的目的是(B)
(A)发现软件中隐藏的错误
(B)解决测试中发现的错误
(C)尽量不发现错误以便早日提交软件
(D)证明软件的正确性
2.黑盒测试技术中不包括(D)
(A)等值分析测试(B)边界值分析测试
(C)错误推测法(D)逻辑覆盖测试
4.集成测试的测试用例是根据(C)的结果来设计。
A.需求分析B.源程序C.概要设计D.详细设计
1、集成测试分为渐增组装测试和(A)
(A)非渐增组装测试(B)确认测试(C)单元测试(D)测试计划
2、以下哪种测试方法不属于白盒测试技术(B)
(A)基本路径测试(B)边界值分析测试
(C)循环覆盖测试(D)逻辑覆盖测试
3、黑盒测试技术,使用最广的用例设计技术是(A)
(A)等值分析测试(B)边界值分析测试
(C)错误推测法(D)逻辑覆盖测试
4.软件测试的过程分为(A)、集成测试、确认测试和系统测试几个步骤。
A.单元测试B.人工测试
C.组装测试D.上机测试
2、以下不属于白盒测试技术的(B)
(A)路径覆盖(B)等值分析测试
(C)语句覆盖(D)条件覆盖
3、.凭经验或直觉推测可能的错误,列出程序中可能有的错误和容易发生错误的特殊情况,选择测试用例的测试方法叫(C)
(A)等值分析测试(B)边界值分析测试
(C)错误推测法(D)逻辑覆盖测试
4、单元测试的测试用例主要根据(D)的结果来设计。
A.需求分析B.源程序C.概要设计D.详细设计
【12】黑盒测试是一种重要的测试策略,又称为数据驱动的测试,其测试数据来源于 A 。
A)软件规格说明 B)软件设计说明C)概要设计说明 D)详细设计说明
【6】以程序内部的逻辑结构为基础的测试用例设计技术属于 D 。
A)灰盒测试 B)数据测试 C)黑盒测试 D)白盒测试
【3】Myers在1979年提出了一个重要观点,即软件测试的目的是为了B。
A)证明程序正确 B)查找程序错误 C)改正程序错误 D)验证程序无错误
二、填空题
23.自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:
深度优先策略和( 宽度优先策略 )。
[解析]渐增式测试法有自顶向下结合和自底向上结合两种组装模块的方法,其中自顶向下集成是构造程序结构的一种增量式方式,不需要编写驱动模块,只需要编写桩模块。
它从主控模块开始,按照软件的控制层次结构,以深度优先或宽度优先的策略,逐步把各个模块集成在一起。
24.独立路径是指包括一组以前没有处理的语句或条件的一条路径。
从程序图来看,一条独立路径是至少包含有一条( 在其他独立路径中未有过 )的边的路径。
[解析]在基本路径测试中,以详细设计或源程序为基础,导出控制流程图的拓扑结构——程序图,在计算了程序图的环路复杂性之后,确定只包含独立路径的基本路径图,其中独立路径是包括一组以前没有处理的语句或条件的一条路径。
从程序图来看,一条独立路径是至少包含有一条在其他独立路径中未有过的边的路径。
6、软件测试是软件投入运行(前),对软件需求分析、设计、实现的强有力的最终审查。
7、黑盒测试主要是测试软件是否满足(功能)需求。
8、(调试)的目的是确定错误的位置和引起错误的原因,并加以改正。
因此,又称为排错或纠错。
9、对发现错误较多的程序模块,应进行(重点)测试。
10、测试用例中,不仅要选择合理的输入数据,还要选择(不合理)的输入数据。
11、软件测试是执行程序发现并排除程序中潜伏的(错误)的过程。
12、动态测试有两种测试方法:
黑盒测试和(白盒)测试。
13、为了便于对照检查,测试用例应由输入数据和预期的输出结果两部分组成。
三.判断
6.判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖。
(√)
9.容错就是每个程序采用两种不同的算法编写。
(X)
10.软件测试的目的是为了无一遗漏的找出所有的错误。
(X)
1.测试计划、测试用例、出错统计和有关的分析报告一般不用长期保存。
(X)
2.用穷举测试是较现实的测试方法。
(X)
3.判定覆盖必然满足语句覆盖。
(√)
4.
四、名词解释题
5、软件测试中按照错误的性质和范围进行分类可分为:
“功能错误”及其它哪些错误?
1)系统错误2)加工错误(算法错误)3)数据错误4)代码错误
5、什么是测试用例?
为了进行有效的测试而设计的输入数据和预期的输出结果数据。
5.测试与调试的区别是什么?
区别:
1.软件测试是找出软件已经存在的错误,而调试是定位错误,修改程序以修正错误.
2.软件测试从一个已知的条件开始,有预知的结局而调试从未知的条件开始,其结局不可预知
3.软件测试可以计划,可以预先制定测试用例和过程,工作进度可以度量.而调试不能计划,进度不可度量.
4.调试是在测试之后,在方法,思路,策略上都有所不同.
5.测试的对像可以是文档和代码而调试的对像只能是代码
6.调试是随机性的由程序员完成为了程序可运行
7.测试是有目的性的由测试人员完成为了程序可完成指定功能
17.软件测试的具体实施步骤?
见54题、9.1.R3
软件测试要经过的步骤是:
单元测试→集成测试→确认测试→系统测试。
19.渐增模型有什么特点?
9.3.L3
渐增模型有两种类型,一是增量构造模型,二是演化提交模型。
增量构造模型是在瀑布模型基础上,对一些阶段进行整体开发,对另一些阶段进行增量开发。
演化提交模型则是在瀑布模型的基础上,所有阶段都进行增量开发,不仅是增量开发,也是增量提交。
31.软件测试的基本任务是什么?
测试阶段的基本任务应该是根据软件开发各阶段的文档资料和程序的内部结构,精心设计一组“高产”的测试用例(一组输入数据和与之对应的预期的输出结果,在设计测试用例时,应包括合理的输入数据和不合理的输入数据),利用这些用例执行程序,找出软件潜在的缺陷一个好的测试用例很可能找到至今为止尚未发现的缺陷的用例;一个成功的测试则是指揭示了至今为止尚未发现的缺陷的测试。
52.什么是白盒测试法?
有哪些覆盖标准?
试对他们的检错能力进行比较?
白盒法测试法把测试对象看作一个打开的盒子,测试人员须了解程序内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检验内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。
白盒法有下列几种覆盖标准:
语句覆盖
判定覆盖
条件覆盖
判定/条件覆盖
条件组合覆盖
路径覆盖
从上到下的覆盖标准其检错能力也从弱到强,其中条件组合发现错误的能力较强,凡满足其标准的测试用例,也必然满足前四种覆盖标准。
在实际的逻辑测试中,一般以条件组合覆盖为主设计测试用例,然后再补充部分用例来达到路径覆盖的测试标准。
53.什么是黑盒测试法?
采用黑盒技术测试用例有哪几种方法?
这些方法各有什么特点?
黑盒测试法把被测试对象看成是一相黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求。
采用黑盒技术测试用例的方法有:
等价类的划分、边界值分析、错误推测和因果图。
等价类的划分,是将输入数据按有效的或无效的(也称合理的或不合理的)划分成若干个等价类,测试每个等价类的代表值就等于对该类其他值的测试。
这样就把漫无边迹的随机测试改为有针对性的等价类测试,用少量有代表性的例子代替大量测试目的相同的例子,能有效地提高测试效率。
但这个方法的缺点是没有注意选择某些高效的、能够发现更多错误的测试用例。
边界值分析法一般与等价类划分结合起来。
但它不是从一个等价类中任选一个例子做代表,而是将测试边界情况作为重点目标,选取正好等于、刚刚大于和刚刚小于边界值的测试数据。
(边界情况是指输入等价类和输入等价类边界上的情况。
)这种方法可以查出更多的错误,因为在程序中往往在处理边界情况时易发生错误。
错误推测法是在测试程序时,人们根据经验或直觉推测程序中可能存在的错误,从而有针对性地编写检查这些错误的测试用例。
因果图能够有效地检测输入条件的各种组合可能会引起的错误。
它的基本原理是通过画因果图,把用自然语言描述的功能说明转换为判定表,最后为判定表的每一列设计一个测试用例。
这几种方法都不能提供一组完整的测试用例,在实际测试中应把各种方法结合起来使用。
综合策略:
就是联合使用上述几种测试方法,尽可能多地发现程序中的错误。
34.白盒测试与黑盒测试有什么不同?
9.1.R2
黑盒测试
测试特点:
测试功能
测试依据:
需求规格说明书
方法举例:
等价类划分,边界值测试
优点:
能站在用户的立场上进行测试
缺点:
不能测试程序内部特定部位,如果程序有误,则无法发现。
白盒测试
测试特点:
测试程序接口与结构
测试依据:
软件程序
方法举例:
逻辑覆盖
优点:
能对程序内部特定部位进行覆盖测试
缺点:
无法检验程序的外部特性
第二点认识:
黑盒测试把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,针对软件界面和软件功能进行测试,只检查程序功能是否按照需求规格说明书的规定正常使用。
白盒测试了解产品内部工作过程,从检查程序的逻辑着手,检验程序中的每条通路是否都有能按预定要求正确工作,通过测试来检测产品内部动作是否按照规格说明书的规定正常进行
第三点认识:
白盒测试主要是想对程序模块进行如下检查:
1.对程序模块的所有独立的执行路径至少测试一遍。
2.对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。
3.在循环的边界和运行的界限内执行循环体。
4.测试内部数据结构的有效性,等等。
5.静态白盒测试:
即代码审查,正式审查和检验软件设计和程序代码。
6.动态白盒测试
利用查看代码功能和实现方式得到的信息来设计和执行测试。
也叫结构测试。
白盒测试的测试用例设计技术包括逻辑覆盖和基本路径测试。
1.逻辑覆盖:
是以程序内在逻辑结构为基础的测试用例设计技术,这一方法要求测试员对程序的逻辑结构有清楚的了解。
2.基本路径测试:
在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例。
黑盒测试主要是为了发现以下错误:
1.是否有不正确或遗漏了的功能?
2.在接口上,输入能否正确地接受?
能否输出正确的结果?
3.是否有数据结构错误或外部信息(例如数据文件)访问错误?
4.性能上是否能够满足要求?
5.是否有初始化或终止性错误?
51.软件测试的目的是?
9.1.L2测试中要注意那些原则?
见另外一张讲义
54.软件测试要经过哪些步骤?
这些测试与软件开发各阶段之间有什么关系?
软件测试要经过的步骤是:
单元测试→集成测试→确认测试→系统测试。
单元测试对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。
该阶段涉及编码和详细设计文档。
集成测试是为了检查与设计相关的软件体系结构的有关问题,也就是检查概要设计是否合理有效。
确认测试主要是检查已实现的软件是否满足需求规格说明书中确定了的各种需求。
系统测试是把已确认的软件与其他系统元素(如硬件、其他支持软件、数据、人工等)结合在一起进行测试。
以确定软件是否可以支付使用。
55.单元测试有哪些内容?
测试中采用什么方法?
答:
单元测试的内容有
1)模块接口测试:
对通过被测模块的数据流进行测试。
为此,对模块接口,包括参数表、调用子模块的参数、全程数据、文件输入/输出操作都必须检查。
2)局部数据结构测试:
设计测试用例检查数据类型说明、初始化、缺省值等方面的问题,还要查清全程数据对模块的影响。
3)路径测试:
选择适当的测试用例,对模块中重要的执行路径进行测试。
对基本执行路径和循环进行测试可以发现大量路径错误。
4)错误处理测试:
检查模块的错误处理功能是否包含有错误或缺陷。
例如,是否拒绝不合理的输入;出错的描述是否难以理解、是否对错误定位有误、是否出错原因报告有误、是否对错误条件的处理不正确;在对错误处理之前错误条件是否已经引起系统的干预等。
5)边界测试:
要特别注意数据流、控制流中刚好等于、大于或小于确定的比较值时出错的可能性。
对这些地方要仔细地选择测试用例,认真加以测试。
6)此外,如果对模块运行时间有要求的话,还要专门进行关键路径测试,以确定最坏情况下和平均意义下影响模块运行时间的因素。
这类信息对进行性能评价是十分有用的。
测试的方法是为被测试模块编写驱动模块和桩模块来实现被测试单元的可运行。
通过驱动模块来模拟被测试模块的上级调用模块,以上级模块调用被测模块的格式驱动被测模块,接收被测模块的测试结构并输出。
桩模块则用来代替被测试模块所调用的模块。
它的作用是返回被测模块所需的信息。
56.什么是集成测试?
非渐增式测试与渐增式测试有什么区别?
渐增式测试如何组装模块?
集成测试也称组装测试或联合测试。
是指在单元测试的基础上,将所有模块按照设计要求组装成一个完整的系统进行的测试。
组装模块的方式有两种:
渐增式测试和非渐增式测试。
非渐增式测试是指首先对每个模块分别进行单元测试,再把所有模块组装成一个完整的系统进行的测试。
而渐增式测试就是逐个把未经测试的模块组装到已经过测试的模块上去进行集成测试,每加入一个新模块进行一次集成测试,重复此过程直到程序组装完毕。
渐增式测试有两种不同的组装方法:
自顶向下和自底向上结合。
两者区别是:
(1)非渐增式方法把单元测试和集成测试分成两个不同的阶段,前一阶段完成模块的单元测试,后一阶段完成集成测试。
而渐增式测试往往把单元测试和集成测试合在一起,同时完成。
(2)非渐增式需要更多的工作量,因为每个模块都需要驱动模块和桩模块,而渐增式利用已测试过的模块作为驱动模块或桩模块,因此工作量少。
(3)渐增式可以较早地发现接口之间的错误,非渐增式最后组装时才发现。
(4)渐增式有利于排错,发生错误往往和最近新加入的模块有关,而非渐增式发现接口错误推迟到最后,很难判断是哪一部分接口出错。
(5)渐增式比较彻底,已测试的模块和新的模块再测试。
(6)渐增式点用时间较多,但非渐增式所需更多的驱动模块和桩模块也占用一些时间。
(7)非渐增式开始可并行测试所有模块,能充分利用人力,对测试大型软件很有意义。
57.调试的目的是什么?
调试的技术有那些?
9.8.L2\R2
调试的目的是发现错误的位置并改正错误
99.渐增式与非渐增式各有何优、缺点?
为什么通常采用渐增式?
答:
非渐增式是将所有的模块一次连接起来,简单、易行,节省机时,但测试过程中难于查错,发现错误也很难定位,测试效率低。
渐增式是将模块一个一个的连入系统,每连入一个模块,都要对新系统进行测试。
这种组装测试方案比较非渐增式,容易查出错误及进行错误定位,有利于查出模块接口部分的错误,因此测试效率高。
因此通常采用渐增式。
3、自顶而下渐增测试与自底而上渐增测试各有何优、缺点?
答:
①自顶而下渐增测试
优点:
不需要测试驱动程序,能够在测试阶段的早期实现并验证系统的主要功能,能够尽早发现系统主控方面的问题。
而且能够尽早发现上层模块的接口错误。
缺点:
需要存根程序,底层错误发现较晚。
无法验证桩模块是否完全模拟了下属模块的功能。
②自底而上渐增测试
优点:
驱动模块较容易编写桩模块,能够尽早查出底层涉及较复杂的算法和实际的I/O模块中的错误。
缺点和自顶而下渐增测试相反。
101.等价分类法的基本思想是什么?
答:
根据程序的输入特性,将程序的定义域划分为有限个等价区段—“等价类”,从等价类中选择出的用例具有“代表性”,即测试某个等价类的代表值就等价于对这一类其它值的测试。
如果某个等价类的一个输入数据(代表值)测试中查出了错误,也即是该等价类中的其它值也会查出同样的错误。
102.一般,驱动模块比桩模块容易设计,为什么?
答:
因为驱动模块是模拟主程序或者调用模块的功能,处于被测试模块的上层,所以驱动模块只需要模拟向被测模块传递数据,接收、打印从被测模块返回的数据的功能,较容易实现。
而桩模块用于模拟那些由被测模块所调用的下属模块的功能,由于下属模块往往不只一个,也不只一层,由于模块接口的复杂性,桩模块很难模拟各下层模块之间的调用关系,同时为了模拟下层模块的不同功能,需要编写多个桩模块,而这些桩模块所模拟的功能是否正确,也很难进行验证。
因此,驱动模块的设计显然比桩模块容易。
107.说明集成测试、系统测试和验收测试有什么不同?
集成测试界于单元测试和系统测试之间,起到“桥梁作用”,一般由开发小组采用白盒加黑盒的方式来测试,既验证“设计”,又验证“需求”。
系统测试的粒度最大,一般由独立测试小组采用黑盒方式来测试,主要测试系统是否符合“需求规格说明书”。
验收测试与系统测试相似,主要区别是测试人员不同,验收测试由用户执行。
113采用黑盒技术设计测试用例有哪几种方法?
这些方法各有什么特点?
答:
黑盒测试设计测试用例的方法有
1)等价类划分法特点是:
a、测试的内容相同b、一个等价类中的某个测试可以发现缺陷,那么这个等价类的其他测试也能发现缺陷c、一个等价类中的某个测试不能发现缺陷,那么这个等价类的其它测试也不能发现缺陷
2)边界值分析法特点是:
用边界值分析时时常收获较大,它是在等价类的边界上选择测试用例
3)错误推测法特点是:
没有确定的步骤,很大程度上是凭借经验进行的
4)因果图法特点是:
考虑输入条件间的组合关系;考虑输出条件对输入条件的信赖关系;测试用例发现错误的效率高;能查出功能说明中的某些不一致或遗漏
36.简述容错技术的四种主要手段,并解释。
结构冗余:
包括静态冗余、动态冗余和混合冗余。
信息冗余:
为检测或纠正信息在运算或传输中的错误,须外加一部分信息。
时间冗余:
指重复执行指令或程序来消除瞬时错误带来的影响。
冗余附加技术:
指为实现上述冗余技术所需的资源和技术。
37.以G.J.Myers的观点,简述对软件测试的目的。
软件测试是
(1)为了发现错误而执行程序的过程;
(2)一个好的用例能够发现至今尚未发现的错误的测试。
(3)一个成功的测试是发现至今尚未发现的错误的测试。
五、设计题
41.根据下列条件使用等价类划分法设计测试用例。
某一8位微机,其八进制常数定义为:
以零开头的数是八进制整数,其值的范围是-177~177,如05,0127,-065
解:
(1)划分等价类并编号,如下表示:
(4分)
(2)为合理等价类设计测试用例,表中有两个合理等价类,设计两个例子(2分)
(3)为不合理等价类测试用例,至少设计一个测试用例(2分)
[解析]等价类划分属于黑盒测试的一种,它将输入数据域按有效的或无效的划分成若干个等价类,测试每个等价类的代表值就等于对该类其他值的测试,这样用少量有代表性的例子代替大量测试目的相同的例子,可以有效提高测试效率。
本题划分了3个合理等价类,9个不合理等价类进行测试,取到了预期的效果。
某一8位微机,其十六进制常数定义为:
以0x或0X开头的数是十六进制整数,其值的范围是-7f~7f(表示十六进制的大小写字母不加区别),如0X13,0X6A,-0X3c。
解答:
等价划分法①划分等价类并编号,如下表所示。
十六进制整型常量输入条件的等价类表
输入数据
合理等价类
不合理等价类
十六进制整数
1. 0x或0X开头1~2位数字串
2. 以-0x打头的1~2位数字串
3. 非0x或非-打头的串
4. 含有非数字且(a,b,c,d,e,f)以外字符
5. 多于5个字符
6. -后跟非0的多位串
7. -0后跟数字串
8. -后多于3个数字
十六进制数范围
9.在-7f~7f之间
10.小于-7f
11.大于7f
②为合理等价
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件测试 题库解读 软件 测试 题库 解读