软件测试期末考试复习题解析.docx
- 文档编号:8605688
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:20
- 大小:48.38KB
软件测试期末考试复习题解析.docx
《软件测试期末考试复习题解析.docx》由会员分享,可在线阅读,更多相关《软件测试期末考试复习题解析.docx(20页珍藏版)》请在冰豆网上搜索。
软件测试期末考试复习题解析
《软件测试》期末考试复习题
第一套期末考试复习题
一、单项选择题:
1.在软件生命周期的哪一个阶段,软件缺陷修复费用最低(A)
(A)需求分析(编制产品说明书)(B)设计
(C)编码(D)产品发布
2.为了提高测试的效率,应该(D)
(A)随机地选取测试数据;
(B)取一切可能的输入数据作为测试数据;
(C)在完成编码以后制定软件的测试计划;
(D)选择发现错误可能性大的数据作为测试数据。
3.软件测试员究竟做些什么。
(C)
(A)软件测试员的目的是发现软件缺陷
(B)软件测试员的目的是发现软件缺陷,尽可能早一些
(C)软件测试员的目的是发现软件缺陷,尽可能早一些,并确保其得以修复
(D)软件测试员的目的是发现软件缺陷,尽可能早一些,并将其修复
4.下列说法不正确的是(D)
(A)测试不能证明软件的正确性;
(B)测试员需要良好的沟通技巧;
(C)QA与testing属于一个层次的概念;
(D)成功的测试是发现了错误的测试。
5.软件测试的目的是(B)
(A)发现程序中的所有错误(B)尽可能多地发现程序中的错误
(C)证明程序是正确的(D)调试程序
6.下列___不属于测试原则的内容(D)
(A)软件测试是有风险的行为(B)完全测试程序是不可能的
(C)测试无法显示潜伏的软件缺陷(D)找到的缺陷越多软件的缺陷就越少
7.导致软件缺陷的最大原因是(A)
(A)编制说明书(B)设计
(C)编码(D)测试
8.修复软件缺陷费用最高的是____阶段:
(D)
(A)编制说明书(B)设计
(C)编写代码(D)发布
9.成功的测试是指运行测试用例后(B)。
A)未发现程序错误B)发现了程序错误C)证明程序正确性D)改正了程序错误
10.软件调试的目的是(A)
A)找出错误所在并改正之B)排除存在错误的可能性
C)对错误性质进行分类D)统计出错的次数
二、判断题:
1.好的测试员不懈追求完美。
(X)
2.软件测试是有效的排除软件缺陷的手段。
(√)
3.程序员与测试工作无关。
(X)
4.程序员兼任测试员可以提高工作效率。
(X)
5.找出的软件缺陷越多,说明剩下的软件缺陷越少。
(X)
6.软件测试工具可以代替软件测试员。
(X)
7.软件测试的目的是尽可能多的找出软件的缺陷。
(√)
三、简答:
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.下面四种说法中正确的是(C)
(A)因果图法是建立在决策表法基础上的一种白盒测试方法;
(B)等价类划分法是边界值分析法的基础;
(C)健壮性等价类测试的测试用例要求在有效等价类中取值;
(D)在任何情况下做黑盒测试皆应首先考虑使用错误推断法。
2.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:
-1.001,-1.0,1.0,0.999。
设计这组测试用例的方法是(C)。
A.条件覆盖法B.等价分类法
C.边界值分析法D.错误推测法
3.黑盒测试是通过软件的外部表现来发现软件缺陷和错误的测试方法,具体地说,黑盒测试用例设计技术包括__A__等。
A.等价类划分法、因果图法、边界值分析法、决策表法、场景法
B.等价类划分法、因果图法、边界值分析法、正交试验法、符号法
C.等价类划分法、因果图法、边界值分析法、功能图法、基本路径法
等价类划分法、因果图法、边界值分析法、静态质量度量法、场景法
4.用边界值分析法,假定1 A.X=1,X=100,X=2,X=99B.X=0,X=1,X=100,X=101 C.X=-1,X=0,X=1D.X=0,X=101 5.在确定黑盒测试策略时,优先选用的方法是B A.边界值分析法(B)等价类划分(C)错误推断法(D)决策表方法 6.在黑盒测试中,着重检查输入条件组合的方法是(C)。 A)等价类划分法B)边界值分析法C)因果图法D)都不是 二、判断题: 1、用黑盒法测试时,测试用例是根据程序内部逻辑设计的。 (X) 2、黑盒测试方法中最有效的是因果图法。 (X) 3、黑盒测试往往会造成测试用例之间可能存在严重的冗余和未测试的功能漏洞。 (∨) 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、用黑盒技术设计测试用例的方法之一为(a) A)因果图B)逻辑覆盖C)循环覆盖D)基本路径测试 2、以程序的内部结构为基础的测试用例技术属于(d)。 A)灰盒测试B)数据测试C)黑盒测试D)白盒测试 3、在进行单元测试时,常用的方法是(a) A)采用白盒测试,辅之以黑盒测试B)采用黑盒测试,辅之以白盒测试 C)只使用白盒测试D)只使用黑盒测试 4、在边界值分析中,下列数据通常不用来做数据测试的是(b)。 A)正好等于边界的值B)等价类中的等价值 C)刚刚大于边界的值D)刚刚小于边界的值 5、通常可分为白盒测试和黑盒测试。 白盒测试是根据程序的(c)来设计测试用例, 黑盒测试是根据软件的规格说明来设计测试用例。 A)功能B)性能C)内部逻辑D)内部数据 6、如果一个判定中的复合条件表达式为(A>1)or(B<=3),则为了达到100%的条件 覆盖率,至少需要设计多少个测试用例(b)。 A)1B)2C)3D)4 7、如果某测试用例集实现了某软件的路径覆盖,那么它一定同时实现了该软件的(A) (A)判定覆盖(B)条件覆盖 (C)判定/条件覆盖(D)组合覆盖 8、使用白盒测试方法时,确定测试数据的依据是指定的覆盖标准和(B) (A)程序的注释(B)程序的内部逻辑 (C)用户使用说明书(D)程序的需求说明 9、条件覆盖的目的是(A) (A)使每个判定的所有可能的条件取值组合至少执行一次 (B)使程序中的每个判定至少都获得一次“真”值和“假”值。 (C)使程序中的每个判定中每个条件的可能值至少满足一次。 (D)使程序中的每个可执行语句至少执行一次。 10、一个程序中所含有的路径数与____有着直接的关系。 (A) (A)程序的复杂程度(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.12B.48 C.27D.18 15.覆盖准则最强的是(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,dowhile,dountil等循环语句处; ●if,elseif,else,endif等条件语句各分支处; ●输入或输出语句之后; ●函数、过程、子程序调用语句之后; ●return语句之后; ●goto语句之后。 关于第三个问题,原则是需要考虑如何设置最少探测点的方案。 一般情况下,在没有分支的程序段中只需要一个计数语句,如果出现了多种控制结构,使得整个结构十分复杂,则需要针对程序的控制结构进行具体的分析。 4、逻辑覆盖法包括哪些内容,分别要求达到怎样的代码覆盖率? 逻辑覆盖法是常用的一类白盒动态测试方法,以程序内部逻辑结构为基础,通过对程序逻辑结构遍历实现程序测试的覆盖。 逻辑覆盖法是一系列测试过程的总称,这组测试过程逐渐进行越来越完整的通路测试。 从覆盖源程序语句的详尽程度,可以分为语句覆盖、判定覆盖、条件覆盖、条件判定覆盖、多条件覆盖和修正条件判定覆盖。 1.语句覆盖 语句覆盖就是使程序中每条语句都能被执行一次 2.判定覆盖 判定覆盖指设计足够的测试用例,使得每一个判定获得每一种可能的结果至少一次。 3.条件覆盖 条件覆盖指设计足够的测试用例,使得程序中每个判定中的每个条件的可能值只是被满足一次。 4.条件判定覆盖 条件判定覆盖是判定覆盖和条件覆盖的组合,指的是设计足够的测试用例,使得判定中每个条件的所有可能的取值至少出现一次,并且每个判定取到的各种可能的结果也至少出现一次。 5.多条件覆盖 多条件覆盖指的是设计足够的测试用例,使得判定条件中每一个条件的可能组合至少出现一次。 6.修正条件判定覆盖 修正条件判定覆盖需要足够的测试用例来确定每个条件能够影响到包含的判定的结果。 每一个程序模块的入口和出口点都要考虑要至少被调用一次,从每个程序的判定到所有可能的结果值要至少转换一次。 5、给出白盒测试与黑盒测试的不同? 白盒测试和黑盒测试是两类软件测试方法,传统的软件测试活动基本上都可以划分到这两类测试方法中。 下表给出了两种方法的一个基本比较。 黑盒测试和白盒测试比较 黑盒测试 白盒测试 不涉及程序结构 考察程序逻辑结构 用软件规格说明书生成测试用例 用程序结构信息生成测试用例 可适用于从单元测试到系统验收测试 主要适用于单元测试和集成测试 某些代码段得不到测试 对所有逻辑路径进行测试 白盒测试和黑盒测试各有侧重点,不能相互取代,在实际测试活动中,这两种测试方法不是截然分开的。 通常在白盒测试中交叉着黑盒测试,黑盒测试中交叉着白盒测试。 相对来说,白盒测试比黑盒测试成本要高得多,它需要测试在可以被计划前产生源代码,并且在确定合适数据和决定软件是否正确方面需要花费更多的工作量。 第四套期末考试复习题 一、单项选择题: 1.单元测试中用来模拟被测模块调用者的模块是(C) (A)父模块(B)子模块 (C)驱动模块(D)桩模块 2.侧重于观察资源耗尽情况下的软件表现的系统测试被称为(B) (A)强度测试(B)压力测试 (C)容量测试(D)性能测试 3.不属于单元测试内容的是(A) (A)模块接口测试(B)局部数据结构测试 (C)路径测试(D)用户界面测试 4.对Web网站进行的测试中,属于功能测试的是(B) (A)连接速度测试(B)链接测试 (C)平台测试(D)安全性测试 5.在进行单元测试时,常用的方法是(B) (A)采用黑盒测试,辅之以白盒测试; (B)采用白盒测试,辅之以黑盒测试; (C)只使用黑盒测试; (D)只使用白盒测试。 6、某次程序调试没有出现预计的结果,下列(b)不可能是导致出错的原因。 A.变量没有初始化B.编写的语句书写格式不规范 C.循环控制出错D.代码输入有误 7、单元测试中设计测试用例的依据是(d)。 A)概要设计规格说明书B)用户需求规格说明书 C)项目计划说明书D)详细设计规格说明书 8、集成测试对系统内部的交互以及集成后系统功能检验了何种质量特性(a) A)正确性B)可靠性C)可使用性D)可维护性 9、不属于集成测试步骤的是(D) A、制定集成计划B、执行集成测试 C、记录集成测试结果D、回归测试 10、在软件修改之后,再次运行以前为发现错误而执程序曾用过的测试用例称为(c) A.单元测试B.集成测
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试 期末考试 复习题 解析
![提示](https://static.bdocx.com/images/bang_tan.gif)