软件测试期末考试复习题题目
软件测试期末考试复习题(一)
一、单项选择题:
1.在软件生命周期的哪一个阶段,软件缺陷修复费用最低( A )
(A)需求分析(编制产品说明书)
(B)设计
© 编码
(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)尽可能多地发现程序中的错误
©证明程序是正确的 (D)调试程序
6.下列()不属于测试原则的内容( D )
(A)软件测试是有风险的行为
(B)完全测试程序是不可能的
©测试无法显示潜伏的软件缺陷
(D)找到的缺陷越多软件的缺陷就越少
7.导致软件缺陷的最大原因是( A )
(A)编制说明书
(B)设计
©编码
(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、用黑盒技术设计测试用例的方法之一为( 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)1
B)2
C)3
D)4
7、如果某测试用例集实现了某软件的路径覆盖,那么它一定同时实现了该软件的( A )
(A)判定覆盖
(B)条件覆盖
( C) 判定/条件覆盖
(D)组合覆盖
8、使用白盒测试方法时,确定测试数据的依据是指定的覆盖标准和( B )
(A)程序的注释
(B)程序的内部逻辑
(C)用户使用说明书
(D)程序的需求说明
9、条件覆盖的目的是( A )
(A)使每个判定的所有可能的条件取值组合至少执行一次
(B)使程序中的每个判定至少都获得一次“真”值和“假”值。
©使程序中的每个判定中每个条件的可能值至少满足一次。
(D)使程序中的每个可执行语句至少执行一次。
10、一个程序中所含有的路径数与____有着直接的关系。( A )
(A) 程序的复杂程度
(B) 程序语句行数
©程序模块数
(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.48
C.27
D.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,do while,do until等循环语句处;
●if,else if,else,end if等条件语句各分支处;
●输入或输出语句之后;
●函数、过程、子程序调用语句之后;
●return语句之后;
●goto语句之后。
关于第三个问题,原则是需要考虑如何设置最少探测点的方案。一般情况下,在没有分支的程序段中只需要一个计数语句,如果出现了多种控制结构,使得整个结构十分复杂,则需要针对程序的控制结构进行具体的分析。
4、逻辑覆盖法包括哪些内容,分别要求达到怎样的代码覆盖率?
逻辑覆盖法是常用的一类白盒动态测试方法,以程序内部逻辑结构为基础,通过对程序逻辑结构遍历实现程序测试的覆盖。
逻辑覆盖法是一系列测试过程的总称,这组测试过程逐渐进行越来越完整的通路测试。从覆盖源程序语句的详尽程度,可以分为语句覆盖、判定覆盖、条件覆盖、条件判定覆盖、多条件覆盖和修正条件判定覆盖。
1.语句覆盖
语句覆盖就是使程序中每条语句都能被执行一次
2.判定覆盖
判定覆盖指设计足够的测试用例,使得每一个判定获得每一种可能的结果至少一次。
3.条件覆盖
条件覆盖指设计足够的测试用例,使得程序中每个判定中的每个条件的可能值只是被满足一次。
4.条件判定覆盖
条件判定覆盖是判定覆盖和条件覆盖的组合,指的是设计足够的测试用例,使得判定中每个条件的所有可能的取值至少出现一次,并且每个判定取到的各种可能的结果也至少出现一次。
5.多条件覆盖
多条件覆盖指的是设计足够的测试用例,使得判定条件中每一个条件的可能组合至少出现一次。
6.修正条件判定覆盖
修正条件判定覆盖需要足够的测试用例来确定每个条件能够影响到包含的判定的结果。每一个程序模块的入口和出口点都要考虑要至少被调用一次,从每个程序的判定到所有可能的结果值要至少转换一次。
5、给出白盒测试与黑盒测试的不同?
白盒测试和黑盒测试是两类软件测试方法,传统的软件测试活动基本上都可以划分到这两类测试方法中。下表给出了两种方法的一个基本比较。
黑盒测试和白盒测试比较
白盒测试和黑盒测试各有侧重点,不能相互取代,在实际测试活动中,这两种测试方法不是截然分开的。通常在白盒测试中交叉着黑盒测试,黑盒测试中交叉着白盒测试。相对来说,白盒测试比黑盒测试成本要高得多,它需要测试在可以被计划前产生源代码,并且在确定合适数据和决定软件是否正确方面需要花费更多的工作量。
期末考试复习题(三)
一、单项选择题
- 单元测试中用来模拟被测模块调用者的模块是( C ) (A) 父模块(B)子模块 (C)驱动模块(D)桩模块
2.侧重于观察资源耗尽情况下的软件表现的系统测试被称为( B )
(A)强度测试(B)压力测试
© 容量测试(D)性能测试
3.不属于单元测试内容的是( A )
(A)模块接口测试(B)局部数据结构测试
© 路径测试(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.集成测试C.回归测试D.验收测试11.单元测试主要针对模块的几个基本特征进行测试,该阶段不能完成的测试是(A )。
A)系统功能B)局部数据结构C)重要的执行路径D)错误处理
12.软件测试过程中的集成测试主要是为了发现( B )阶段的错误。
A)需求分析B)概要设计C)详细设计D)编码
13.集成测试时,能较早发现高层模块接口错误的测试方法为( A )。
A)自顶向下渐增式测试B)自底向上渐增式测试C)非渐增式测试D)系统测试
14.以下对单元测试,不正确的说法是? C
A.单元测试的主要目的是针对编码过程中可能存在的各种错误;
B.单元测试一般是由程序开发人员完成的
C.单元测试是一种不需要关注程序结构的测试;
D.单元测试属于白盒测试的一种。
15.测试驱动开发的含义是? B
A.先写程序后写测试的开发方法B. 先写测试后写程序,即“测试先行”
C. 用单元测试的方法写测试
D. 不需要测试的开发
16.以下不属于单元测试优点的一项是? D
A.它是一种验证行为 B. 它是一种设计行为
C.它是一种编写文档的行为 D. 它是一种评估行为
17、自底向上增量式集成测试中,下面( C )描述是正确的。
A.测试由桩模块控制
B.最上面的模块最先测试
C.父单元用测试过的子单元测试
D.包含树的深度优先或广度优先遍历过程
18、单元测试中用来模拟实现被测模块需调用的其他功能模块的是( B )。
A.驱动模块B.桩模块
C.主控模块D.真实的被调用模块
19、集成测试计划应该在( B )阶段末提交。
A、需求分析
B、概要设计
C、详细设计
D、单元测试完成
20、单元测试的主要任务不包括( B )。
A.出错处理B.全局数据结构
C.独立路径D.模块接口
二、判断题:
1、单元测试能发现约80%的软件缺陷。 ( √ )
2、负载测试是验证要检验的系统的能力最高能达到什么程度。 ( × )
3、自顶向下集成需要测试员编写驱动程序。 (× )
4、单元测试通常由开发人员进行。对
5、压力测试通常需要辅助工具的支持。对
6、压力测试不需要辅助工具的支持。错
7、为了快速完成集成测试,采用一次性集成方式是适宜的。错
8、一个程序中所含有的路径数与程序的复杂程度有着直接的关系。(∨)
9、结构性测试是根据软件的规格说明来设计测试用例。( x )
10、错误推测法是根据输出对输入的依赖关系来设计测试用例的。(x )
11、软件缺陷属性包括缺陷标识、缺陷类型、缺陷严重程度、缺陷产生可能性、缺陷优先级、缺陷状态、缺陷起源、缺陷来源、缺陷原因。(∨)
12、对于一个含有n个变量的程序,采用边界值健壮性测试方法来测试程序会产生6n+1个测试用例。(∨)
13、数据流测试是主要用作路径测试的真实性检查。两种形式分别为定义/使用测试、基于程序片的测试。(∨)
14、软件只要经过严格严谨的内部测试之后,可以做到没有缺陷。(x )
15、测试用例应由测试输入数据和对应的实际输出结果这两部分组成。(x )
16、测试是可以穷尽的。(x )
17、测试自动化是万能的。(x )
18、软件缺陷可能会被修复,可能会被保留或者标识出来。(∨)
19、每一个软件项目都有一个最优的测试量。(∨)
20、黑盒测试往往会造成测试用例之间可能存在严重的冗余和未测试的功能漏洞。(∨)
21、代码审查工作属于静态测试。(∨)
22、软件测试是一个过程,包含若干活动,运行软件进行测试只是活动之一。(∨)
23、回归测试是在软件修改后再次运行以前为查找错误而执行程序曾用过的测试用例. ∨
24、集成测试是为确定软件系统是否满足验收标准以及使客户决定是否接受而进行的正式测试. (x )
25、测试按照测试层次可以划分成为单元测试、集成测试和系统测试。(∨)
26、只要能够达到100%的逻辑覆盖率,就可以保证程序的正确性。( x )
27、永远有缺陷类型会在测试的一个层次上被发现,并且能够在另一个层次上逃避检测。(∨)
三、简答题
1、α测试
有时也称为室内测试,是由一个用户在开发环境下进行的测试,也可以是开发机构内部的用户在模拟实际操作环境下进行的测试。
2、β测试
是由软件的多个用户在一个或多个用户的实际使用环境下进行的测试。
3、驱动模块
驱动模块就是用来代替主模块,用它来调用子模块
4、桩模块
集成测试前要为被测模块编制一些模拟其下级模块功能的“替身”模块,以代替被测模块的接口,接受或传递被测模块的数据,这些专供测试用的“假”模块称为被测模块的桩模块。
5、静态测试
就是不执行程序的测试,包括代码走查,编码规则检查,质量评审,设计评审等。
6、非增量式测试
非增量式测试是采用一步到位的方法来构造测试。对所有模块进行个别的单元测试后,按照程序结构图将各模块连接起来,把连接后的程序当作一个整体进行测试。
7、增量式测试
逐次将未曾集成测试的模块和已经集成测试的模块(或子系统)结合成程序包,再将这些模块集成为较大系统,在集成的过程中边连接边测试,以发现连接过程中产生的问题。
8、什么是集成测试,它包括哪两种方式?
每个模块完成单元测试后,需要按照设计是确定的结构图,将他们连接起来,进行集成测试,也成为综合测试。集成测试包括非增量测试和增量测试两种方式
9、常用的集成测试策略有哪些?
集成测试策略有很多种,主要可以分为增量式和非增量式两种类型。
a.非增量式集成测试
非增量式集成测试是采用一步到位的方法进行测试,即对所有模块进行单元测试后,按照程序结构图将各个模块连接起来,然后把连接后的程序作为一个整体进行测试。
b.增量式集成测试
增量式集成测试中单元的集成是逐步实现的,集成测试也是逐步完成的。按照实施的不同次序,增量式集成测试可以分为自顶向下和自底向上两种方式。
此外,还有三明治集成测试、核心系统先行集成测试、高频集成测试、基于功能的集成测试、基于风险的集成测试、基于事件的集成测试、基于使用的集成测试、客户端/服务器集成测试、分布式集成测试等集成测试策略。
10、为什么要进行回归测试,如何进行?
回归测试指软件系统被修改或扩充后重新进行的测试,回归测试是为了保证对软件修改后,没有引入新的错误而重复进行的测试。每当软件增加了新的功能,或软件中的缺陷被修正,这些变更都可能影响软件原来的结构和功能。为了防止软件变更产生的无法预料的副作用,不仅要对内容进行测试,还要重复进行过去已经进行的测试,以证明修改没有引起未曾预料的后果,或证明修改后软件仍能够满足实际的需求。在软件系统运行环境改变后,或者发生了一个特殊的外部事件,也可以采用回归测试。
在回归测试范围的选择上,最简单的方法是每次回归执行所有在前期测试阶段建立的测试,来确认问题修改的正确性,以及没有对其他功能造成不利影响,但是这样的代价过于高昂。另一种方法是有选择的执行以前的测试用例,这时测试用例的选择是否合理、是否有代表性将直接关系到回归测试的效果和效率。常用的选择测试用例的方法有以下几种:
⏹局限在修改范围内的回归测试;
⏹在受影响功能范围内回归测试;
⏹根据一定的覆盖率指标选择回归测试。
11、简述功能测试。
功能测试又称正确性测试,就是对产品的各项功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能或者说检查软件的功能是否符合规格说明。由于正确性是软件最重要的质量因素,所以功能测试也非常重要。做功能测试需要首先理解业务和需求。需求和业务理解了,才知道客户想要系统实现什么。然后按照需求来进行测试,不满足需求要求的都可以认为是缺陷。
12、影响一个系统的性能主要有哪些因素?
软件因素,包括系统软件、第三方软件等;
硬件因素,如内存、磁盘、CPU、网卡等;网络因素,如网络吞吐量、带宽、网络传输速率等。
13、简述性能测试的目的
性能测试的目的是验证软件系统是否能够达到用户要求的性能指标,同时发现软件系统中存在的性能瓶颈,最后起到优化系统的目的。性能测试一般围绕下面四种目的来进行:
1)、评估系统的能力
2)、识别系统中的瓶颈
3)、系统调优
4)、验证稳定性与可靠性
14、性能测试一般包含哪几个阶段:1.计划阶段。2.测试阶段。3.分析阶段。
15、本地化软件和源软件的测试有什么差别?
测试顺序不同:首先要先对源程序软件进行测试,然后再创建本地化软件,测试本地化软件。
测试内容和重点不同:源程序软件主要测试功能和性能,结合软件界面的测试。本地化软件的测试,更注
重因本地化引起的错误,例如,翻译是否正确,本地化的界面是否美观,本地化后的功能是否与源语言软件保持一致。
测试环境不同:源程序软件测试通常在源语言的操作系统上进行。本地化软件在本地化的操作系统上进行。
16、本地化测试有什么特点?
本地化测试对语言的要求较高
本地化测试以手工测试为主,但是经常使用许多定制的专用测试程序
本地化测试通常采用外包测试进行
本地化测试的缺陷具有规律性特征
本地化测试特别强调交流和沟通
17、简述本地化测试类型?
导航测试、可接受性测试、语言质量测试、用户界面测试、功能测试
18、试述下列TCP/IP协议的内容:Telnet \FTP \SMTP\ DNS\ TFTP \NFS\ SNMP\ BOOTP
19、为什么要对测试环境进行备份?
测试过程中会遇到多种不可预测的事情发生,一旦造成系统崩溃,则会造成测试数据丢失、测试过程中断或者测试环境的重新搭建。所以,我们应该经常对测试环境进行多次必要的备份是一个必备的预防措施和一个比较好的习惯。对测试环境的备份可以挽回不必要的损失、节省测试的时间、保持测试的连续性。
20、试述缺陷管理中缺陷的生命周期:
新建New,打开Open,分配Assign,测试Test,确认Verified,延期Deferred,重新打开Reopened,重复Duplicate,拒绝Rejected,关闭Closed
21、风险管理包括哪些内容:
需求风险:质量需求或产品的特性理解不准确,造成测试范围分析的误差,结果某些地方始终测试不到或验证的标准不对;
人员风险:测试人员的工作状态、责任感、行为规范、人员流动等;由于测试人员水平的不同,在用例的执行过程中可能会有错误的操作;测试人员对用户的真实应用环境不了解,导致测试重点有遗漏
环境风险:一般不可能和实际运行环境完全一致,造成测试结果的误差
回归风险:一般不运行全部测试用例,是有选择性的执行,必然带来风险
测试资源风险:测试资源不充分、不能如期到位
需求变更风险:当有需求变更时,由于时间原因等测试用例的执行有遗漏
用例质量风险:对需求了解的不准确或不到位,导致某些测试用例的预期输出不符合真实的需求;软件测试用例设计不完整,测试覆盖率不高
标准差异风险:对于界面测试,如字体或布局是否美观等,不同的测试人员有不同的标准
测试工具风险:测试工具经常是模拟手工操作、模拟软件运行的状态变化、数据传递,但可能存在和实际的操作、状态和数据传递等差异
22、测试过程管理中包含哪些过程?
测试需求分析、测试计划、测试设计、测试开发、测试执行。
软件测试期末(四)
一、单项选择题
1.软件测试按照测试层次可以分为( C )
A.黑盒测试、白盒测试//测试方式
B. 功能性测试和结构性测试//测试目的
C.单元测试、集成测试和系统测试
D、动态测试和静态测试//测试方式
2、软件测试是采用( 测试用例)执行软件的活动。
A.测试用例
B.输入数据
C.测试环境
D.输入条件
3.软件测试是软件开发过程的重要阶段,是软件质量保证的重要手段,下列哪个(些)是软件测试的任务?答案:( D )
1预防软件发生错误 2发现程序错误 3提供诊断错误信息
A.只有1
B.只有2
C.只有3
D.都是
4、导致软件缺陷的最大原因是:(A )
A.软件需求说明书
B.设计方案
C.编码
D.维护
5、测试用例是为达到最佳的测试效果或高效的揭露隐藏的错误而精心设计的少量测试数据,至少应该包括( A )
A、测试输入、执行条件和预期的结果。
B、测试目标、测试工具
C、测试环境
D、测试配置
6、对已经发现的错误进行错误定位和确定出错性质,并改正这些错误,同时修改相关的文档,这种行为属于( B )
A.测试 B.调试
C.回归测试 D.单元测试
软件测试是软件测试人员和程序员都参与的一项工作,是贯穿整个生命周期的,只需要发现软件的错误,而软件调试主要是程序员自己参与,对程序(设计、编码)进行修改、排除错误,主要是在开发阶段。
7、软件缺陷修复的代价最高的阶段为( A )
A、发布阶段 B、需求阶段
C、设计阶段 D、编码阶段
8、下列( B )是关于软件缺陷的描述。
A.导致软件包含故障的人的行为//软件错误
B.产品的异常情况
C.引起一个功能部件不能完成所要求的功能的一种意外情况
D.功能部件执行其规定功能的能
软件错误是指在软件生存期内的不希望出现或不可接收的人为错误,软件错误导致软件缺陷的产生。
软件缺陷是存在于软件(文档,数据,程序)之中不希望出现或不可接收的偏差;软件缺陷导致软件在运行某一特定条件时出现软件故障;这时软件缺陷被激活。
软件故障是指软件在运行过程中产生的不希望出现或不可接收的内部状态,对软件故障若无适当措施加以及时处理,就会是软件失效。
软件失效是指软件在运行时产生的不希望出现或不可接受的外部行为结果。
9、可作为测试停止的标准是(D )
A.当时间用光时
B.执行了所有的测试用例,但没有发现故障
C.当所有缺陷都已经清除时
D.当达到所要求的覆盖时
10、下列描述错误的是( A )
A.软件发布后如果发现质量问题,那是软件测试人员的错
B.穷尽测试实际上在一般情况下是不可行的
C.软件测试自动化不是万能的
D.测试能由非开发人员进行,调试必须由开发人员进行。
11、如下图所示的N-S图,至少需要( B )个测试用例完成逻辑覆盖。
A.15
B.16
C.17
D.18
12、下列( C )方法设计出的测试用例发现程序错误的能力最强。
A.等价类划分法
B.场景法
C.边界值分析法
D.决策表法
13、功能性测试是根据( A )来设计测试用例。
A、软件的规格说明
B、设计文档
C、程序的内部逻辑
D、维护手册
14、在软件修改之后,再次运行以前为发现错误而执行程序曾用过的测试用例,这种测试称之为( C )
A.单元测试
B.集成测试
C.回归测试
D.验收测试
15、( C )方法是根据输出对输入的依赖关系来设计测试用例的。
A.边界值分析
B.等价类
C.因果图法
D.错误推测法
16、测试工程师的工作范围会包括检视代码、评审开发文档,这属于( B )
A.动态测试 B.静态测试
C.黑盒测试 D.白盒测试
17、下列(B)是对程序流程图进行简化后得到的,它可以更加突出的表示程序控制流的结构,且不包含复合条件。
A.DD-路径图 B. 控制流图
C.MM-路径图 D. 模块调用图
18、自底向上增量式集成测试中,下面(C )描述是正确的。
A.测试由桩模块控制
B.最上面的模块最先测试
C.父单元用测试过的子单元测试
D.包含树的深度优先或广度优先遍历过程
19、以下关于测试用例特征的描述错误的是©
A.最有可能抓住错误的;
B.一定会有重复的、多余的;
C.一组相似测试用例中最有效的;
D.既不是太简单,也不是太复杂。
20、( D )是一种关注变量定义赋值点(语句)和引用或使用这些值的点(语句)的结构性测试,主要用作路径测试的真实性检查。
A、基本路径测试 B、逻辑覆盖
C、决策表 D、数据流测试
二、判断题
1.软件测试是有风险的行为,并非所有的软件缺陷都能够被修复。(T)
2.软件质量保证和软件测试是同一层次的概念。(F)
3.我们有理由相信只要能够设计出尽可能好的测试方案,经过严格测试之后的软件可以没有缺陷。(F)
4.程序员兼任测试员可以提高工作效率。(F)
5.在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。(T )
6.传统测试是在开发的后期才介入,现在测试活动已经扩展到了整个生命周期。( T )
7.传统测试以发现错误为目的,现在测试已经扩展到了错误预防的范畴。T
8.软件测试的生命周期包括测试计划、测试设计、测试执行、缺陷跟踪、测试评估。(T )
9.调试从一个已知的条件开始,使用预先定义的过程,有预知的结果;测试从一个未知的条件开始,结束的过程不可预计。( F)
10.白盒测试往往会造成测试用例之间可能存在严重的冗余和未测试的功能漏洞。( F)
11.在所有的黑盒测试方法中,基于决策表的测试是最为严格、最具有逻辑性的测试方法。(∨ )
12.永远有缺陷类型会在测试的一个层次上被发现,并且能够在另一个层次上逃避检测。(∨ )
13.测试用例的数目越多,测试的效果越好。( x )
14.只要能够达到100%的逻辑覆盖率,就可以保证程序的正确性。( x )
15.单元测试属于动态测试。( ∨ )
16.验收测试是以最终用户为主的测试。(∨ )
17.没有发现错误的测试是没有价值的。( ∨ )
18.可以把不合格的开发人员安排做测试。( x )
19.每一个软件项目都有一个最优的测试量。( ∨ )
20.黑盒测试往往会造成测试用例之间可能存在严重的冗余和未测试的功能漏洞。(∨ )
三、简答题:共4小题,每题5分,满分20分。
1、简单描述一下软件测试工程师一般会承担的一些具体工作。
1:检视代码,评审开发文档(静态测试方法)
2:进行测试设计,写作测试文档(测试计划,测试方案,测试用例等)
3:执行测试,发现软件缺陷,提交缺陷报告,并确认缺陷最终得到了修正。
4:通过测试度量软件的质量。
2、黑盒测试与白盒测试各有哪些优缺点?
黑盒测试与软件如何实现无关,测试用例开发可以实现并行进行,因此可以压缩总的项目开发时间,缺点:测试用例可以之间可能存在严重的冗余。还会有未测试的软件漏洞。白盒测试局限于已经完成的代码行为当中,离代码太近,如果黑盒测试结合白盒测试的覆盖率指标执行,冗余和漏洞问题会被发现并解决。如果发现同一条程序路径被多个功能性测试用例遍历,就可以怀疑这种冗余不会发生新的缺陷。
3、画图描述测试层次与传统开发V型瀑布模型的对应
4、有函数f(x,y,z),其中x∈[1900,2100],y∈[1,12],z∈[1,31]的。请写出该函数采用基本边界值分析法设计的测试用例。
(2000,6,1),(2000,6,2),(2000,6,30),(2000,6,31),(2000,1,15),(2000,2,15)
(2000,13,15),(2000,12,15),(1900,6,15),(1901,6,15),(1999,6,15),(2100,6,15)
(2000,6,15)
测试用例来自等价类的边界;正好等于;刚刚大于;刚刚小于边界的值
四、综合题
1、使用基本路径测试方法,为以下程序段设计测试用例。
(1)画出程序的控制流图。
(2)计算程序的循环复杂度,导出程序基本路径集中的独立路径条数。
(3)导出基本路径集,确定程序的独立路径。
(4)根据(3)中的独立路径,设计测试用例(确保基本路径集中的每一条路径的执行)的输入数据和预期输出。
voidDo(int X,int A,int B){if((A>1)&&(B=0))
X = X/A;if((A=2)||(X>1))
X = X+1;}
由于控制流图假设的是单条件,因此对于复合条件,可将其分解为多个单个条件,并映射成控制流图。
1: A>1;
2: B=0 ;
3: X = X/A ;
4: A=2 ;
5:X>1 ;
6: X = X+1;
7: }
期末考试复习题(五)
一、单项选择题:
1.下面四种说法中正确的是(C)
(A)因果图法是建立在决策表法基础上的一种白盒测试方法;
(B)等价类划分法是边界值分析法的基础;
(C)健壮性等价类测试的测试用例要求在有效等价类中取值;
(D)在任何情况下做黑盒测试皆应首先考虑使用错误推断法。
2.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,0.999。设计这组测试用例的方法是©。
A.条件覆盖法
B.等价分类法
C.边界值分析法
D.错误推测法
3.黑盒测试是通过软件的外部表现来发现软件缺陷和错误的测试方法,具体地说,黑盒测试用例设计技术包括__A__等。
A.等价类划分法、因果图法、边界值分析法、决策表法、场景法
B.等价类划分法、因果图法、边界值分析法、正交试验法、符号法
C.等价类划分法、因果图法、边界值分析法、功能图法、基本路径法
等价类划分法、因果图法、边界值分析法、静态质量度量法、场景法
4.用边界值分析法,假定1<X<100,那么X在测试中应该取的边界值是__A__。
A.X=1,X=100,X=2,X=99
B.X=0,X=1,X=100,X=101
C.X=-1,X=0,X=1
D.X=0,X=101
5.在确定黑盒测试策略时,优先选用的方法是 B
A.边界值分析法
(B)等价类划分
©错误推断法
(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、如何用场景法进行黑盒测试,如何选定场景?
应用场景法进行黑盒测试的步骤如下:
●根据规格说明,描述出程序的基本流和各个备选流;
●根据基本流和各个备选流生成不同的场景;
●对每一个场景生成相应的测试用例;
●对生成的所有测试用例进行复审,去掉多余的测试用例,对每一个测试用例确定测试数据。
●用例场景是通过描述流经用例的路径来确定的过程,这个流经过程要从用例开始到结束遍历其中所有的
基本流和备选流。
●基本流:采用黑直线表示,是经过用例的最简单路径,表示无任何差错,程序从开始执行到结束;
●备选流:采用不同颜色表示,一个备选流可以从基本流开始,在某个特定条件下执行,然后重新加入基
本流中,也可以起源于另一个备选流,或终止用例,不再加入到基本流中。
版权归原作者 薪薪代码 所有, 如有侵权,请联系我们删除。