软件测试技术复习题1004Word格式.docx
- 文档编号:20242222
- 上传时间:2023-01-21
- 格式:DOCX
- 页数:31
- 大小:47.67KB
软件测试技术复习题1004Word格式.docx
《软件测试技术复习题1004Word格式.docx》由会员分享,可在线阅读,更多相关《软件测试技术复习题1004Word格式.docx(31页珍藏版)》请在冰豆网上搜索。
A10、大量的事实表明,导致软件缺陷的最大原因是
A.软件产品说明书B.软件设计手册
C.软件用户操作手册D.软件维护手册
A11.在软件测试工具中,下面属于静态测试工具类型的是
A.一致性检查B.内存分析
B12、为检验所开发的软件是否能按用户提出的要求进行,采用黑盒测试来完成的一系列证明软件功能和要求一致的测试称为
A.集成测试B.确认测试
C.系统测试D.回归测试
A13、针对软件的可维护性,目前业界主要存在三种度量参数:
Line复杂度、Halstead复杂度和McCabe复杂度。
其中Line复杂度表示
A.以代码的行数作为计算的基准
B.以程序中使用到的运算符与运算元数量作为计数目标
C.以软件的流程图来衡量软件的质量
D.以软件的功能结构图来评价软件的可维护性
D14、从宏观上说,C/S体系结构的软件测试通常是从单个客户端开始,然后再逐步集成客户端、服务器和网络系统进行集成测试,最后进行系统的整体测试。
下面不属于整体测试的主要内容是
A.事务测试B.网络通信测试
C.网络运行性能的测试D.对应用服务器(中间件)的测试
A15、假设存在父类Base有Inherited()和Redefined()这两个成员函数,继承父类Base的子类Derived只对Redefined()做了改动。
那么,确切的说法是
A.Derived:
:
Redefined()需要重新测试
B.Derived:
Redefined()不必重新测试
C.Derived:
Inherited()不必重新测试
D.Derived:
Inherited()需要重新测试
B16、用等价类划分法设计对所有实数进行开平方运算的程序的测试用例,可以将输入域进行划分为
A.正整数、0和负整数B.正实数、0和负实数
C.有理数和无理数D.实数和虚数
C17、假设一个软件的数据输入要求是4位整数,则利用边界值分析法,输入的有效等价类和无效等价类的边界值分别为
A.1000,9999;
1000,10000B.999,9999;
999,10000
C.1000,9999;
999,10000D.999,9999;
1000,100000
A18、在软件测试工具中,下面属于动态测试工具类型的是
A.性能测试B.类型检查
C.复杂度分析D.接口分析
C19、在软件测试的充分性准则中表明,软件越复杂,需要的测试数据就越多。
这一特性称为
A.单调性B.非复合性
C.复杂性D.非分解性
D20、在集成测试策略的环境中,对某些已经进行过的测试的某些子集再重新进行一遍,以保证上述改变不会传播无法预料的副作用或引发新的问题,这一测试称为
A21、如果将简单循环的测试方法用于嵌套循环,可能的测试次数会随嵌套层数成几何级数增加。
此时可采用减少测试次数的正确方法之一是
A.测试从最内层循环开始,所有外层循环次数设置为最小值
B.测试从最外层循环开始,所有内层循环次数设置为最小值
C.测试从最内层循环开始,所有外层循环次数设置为最大值
D.测试从最外层循环开始,所有内层循环次数设置为最大值
D22、RationalRobot是一种强大的自动化测试工具,主要通过编写脚本的方式提供自动化测试特性。
其中图形用户界面(GUI)脚本主要用于
A.用户测试B.单元测试
C.性能测试D.功能测试
A23、一个好的测试用例在于发现了还未曾发现过的错误。
D24、RationalRobot是一种强大的自动化测试工具,主要通过编写脚本的方式提供自动化测试特性。
下面不属于目前RationalRobot开发的三种测试脚本之一的是
A.图形用户界面(GUI)脚本B.虚拟用户(VU)脚本
C.VBScript脚本D.JavaScript脚本
A25、对于下面的逻辑覆盖法的有关描述:
选择足够多的测试用例,使得程序中的每个可执行语句至少执行一次。
该逻辑覆盖属于
A.语句覆盖B.判定覆盖
C.条件覆盖D.组合覆盖
B26、下面是有关基本路径测试方法的描述:
(1)计算程序的环形复杂度,导出程序基本路径集中的独立路径条数。
(2)导出基本路径集,确定程序的独立路径。
(3)画出程序的控制流图。
(4)根据图中的独立路径,设计测试用例的输入数据和预期输出。
正确的执行基本路径测试方法的步骤是
A.
(1)
(2)(3)(4)B.(3)
(1)
(2)(4)
C.(3)(4)
(2)
(1)D.(4)(3)
(2)
(1)
六、题型举例
一、单项选择题(本大题共15小题,每小题1分,共15分)
D1、大量的数据表明,导致软件缺陷的产生原因分布中,软件产品说明书约占
A.7%B.10%
C.27%D.56%
B2、关于软件测试对象的描述,下面不正确的是
A.软件测试不等于程序测试
B.软件测试就是源程序的测试
C.软件测试贯串于软件定义和开发的整个过程
D.软件开发过程中所产生的需求规格说明、概要设计规格说明、详细设计规格说明以及源程序都是软件测试的对象。
C3、RationalRobot是一种强大的自动化测试工具,主要通过编写脚本的方式提供自动化测试特性。
其中虚拟用户(VU)脚本主要用于
B4、在软件测试工具中,下面属于动态测试工具类型的是
C.数据流分析D.接口分析
A5、在不能做到所有路径覆盖的前提下,如果某一程序的每一个独立路径都被测试过,那么可以认为程序中的每个语句都已经检验过了,这种测试方法就是通常所说的基本路径测试方法。
这种方法的结果达到了
A.语句覆盖B.条件覆盖
C.路径覆盖D.组合覆盖
D6、在软件测试的充分性准则中表明,即使对软件系统整体的测试是充分的,也并不意味软件系统中各个成分都已经充分地得到了测试。
这个特性称为
C7、针对软件的可维护性,目前业界主要存在三种度量参数:
其中McCabe复杂度表示
C8、按照数值划分等价类,在规定了一组n个输入数据,并且程序要对每一个输入值分别进行处理的情况下,可确定有效等价类和无效等价类的个数分别为
A.n,1B.1,n
C.n+1,nD.1,n+1
二、填空题(本大题共15小题,每小题1分,共15分)
1、测试大纲是软件测试的依据,包括(测试项目)、测试步骤、测试完成的标准。
2、白盒测试工具一般是针对被测(源程序)进行的测试,
3、Web网站的网页测试主要包括文字测试、(链接)测试、图形、图像测试、表单测试等。
4、有效的Web压力测试系统的关键条件中,重复指的是(多次)地执行某个操作或功能。
5、在软件测试中,检验软件产品质量的最后一道工序主要是突出用户的作用,同时软件开发人员也应有一定程度的参与,这一测试称为(验收)测试。
6、基于状态的上下文覆盖把一个状态上下文内的一个例行程序的执行认为是(独立于)另一个状态内相同例行程序的执行。
7、动态测试工具需要实际运行被测系统,并设置断点,掌握断点这一时刻程序运行(数据)。
8、语句覆盖属于(白盒)测试技术。
三、简答题
1、应用条件/判定覆盖进行路径测试可能发现的错误。
针对判定和条件覆盖,测试用例可能发现如下错误:
(1)不同数据类型的比较;
(2)不正确的逻辑操作或优先级;
(3)应当相等的地方由于精确度的错误而不能相等;
(4)不正确的判定或不正确的变量;
(5)不正确的或不存在的循环终止;
(6)当遇到分支循环时不能退出;
不适当地修改循环变量。
2、简述软件测试报告的内容。
软件测试报告是软件测试过程中最重要的文档,它的内容包括:
(1)记录问题发生的环境
(2)记录问题的再现步骤
(3)记录问题性质的说明
(4)记录问题的处理进程
3、测试过程中必需的基本测试活动有哪些。
(1)拟定软件测试计划
(2)编制软件测试大纲
(3)设计和生成测试用例
(4)实施测试
(5)生成软件测试报告
4、确定软件测试策略时的参考原则。
(1)在任何情况下都必须采用边界值分析法。
这种方法设计出的测试用例发现程序错误的能力最强。
(2)必要时采用等价类划分法补充测试用例。
(3)采用错误推断法再追加测试用例。
(4)对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度。
如果没有达到要求的覆盖标准,则应当再补充更多的测试用例。
(5)如果程序的功能说明中含有输入条件的组合情况,则应一开始就选用因果图法。
5、简述软件自动化测试中的脚本技术
脚本是一组测试工具执行的指令集合,也是计算机程序的一种形式。
脚本可以通过录制测试的操作产生,然后再做修改,这样可以减少脚本编程的工作量。
当然,也可以直接用脚本语言编写脚本。
脚本技术可以分为以下几类:
线性脚本——是录制手工执行的测试用例得到的脚本。
结构化脚本——类似于结构化程序设计,具有各种逻辑结构(顺序、分支、循环),而且具有函数调用功能。
共享脚本——是指某个脚本可被多个测试用例使用,即脚本语言允许一个脚本调用另一个脚本。
数据驱动脚本——将测试输入存储在独立的数据文件中。
关键字驱动脚本——是数据驱动脚本的逻辑扩展。
6、在单元测试时,如果模块不是独立的程序,需要设置一些辅助测试模块。
简述两种辅助测试模块的作用。
驱动模块:
用来模拟被测试模块的上一级模块,相当于被测模块的主程序。
它接收数据,将相关数据传送给被测模块,启动被测模块,并打印出相应的结果。
桩模块:
用来模拟被测模块工作过程中所调用的模块。
它们一般只进行很少的数据处理。
7、简述由面向对象技术的特点给测试带来的新问题。
封装把数据及对数据的操作封装在一起,限制了对象属性对外的透明性和外界对它的操作权限,在某种程度上避免了对数据的非法操作,有效防止了故障的扩散。
但同时,封装机制也给测试数据的生成、测试路径的选取以及测试结构的分析带来了困难。
继承实现了共享父类中定义的数据和操作,同时也可定义新的特征。
子类是在新的环境中存在,所以父类的正确性不能保证子类的正确性。
继承使代码的重用率得到了提高,但同时也使故障的传播几率增加。
多态和动态绑定增加了系统运行中可能的执行路径,而且给面向对象软件带来了严重的不确定性,给测试覆盖率的活动带来新的困难。
8、Web压力测试的意义及有效的压力测试系统的关键条件。
(1)Web压力测试的意义
压力测试是系统测试的一部分,通过应用很大的工作负载来使软件超负荷运转,其目的是要弄清楚被测试的Web服务是不是不仅能做预期应能做的事,而且在被施加了某些高强度压力的情况下仍能继续正常运行。
如果压力测试通过对软件保持高强度的使用(不超过性能统计数字确定的限制)能够有效执行,那么它就经常能够发现许多其它测试无法发现的隐蔽错误。
(2)有效的压力测试系统的关键条件
①重复:
就是一遍又一遍地执行某个操作或功能。
②并发:
就是在同一时间内执行多个操作。
③量级:
尽量使单独的操作进行高强度的使用,增加操作的量级。
④随机变化:
随机使用前面条件中的无数变化形式,就能够在每次测试运行时应用许多不同的代码路径。
9、如何根据等价类的划分确定测试用例。
(1)首先为等价类表中的每一个等价类分别规定一个唯一的编号。
(2)设计一个新的测试用例,使它能够尽量覆盖尚未覆盖的有效等价类。
重复这个步骤,直到所有的有效等价类均被测试用例所覆盖。
(3)设计一个新的测试用例,使它仅覆盖一个尚未覆盖的无效等价类。
重复这一步骤,直到所有的无效等价类均被测试用例所覆盖。
10、简述软件自动化测试中的“捕获-回放”技术
(1)捕获:
将用户每一步操作都记录下来。
这种记录的方式有两种:
程序用户界面的像素坐标或程序显示对象(窗口、按钮、滚动条等)的位置,以及相对应的操作、状态变化或是属性变化。
所有的记录转换为一种脚本语言所描述的过程,以模拟用户的操作。
(2)回放:
将脚本语言所描述的过程转换为屏幕上的操作,然后将被测系统的输出记录下来同预先给定的标准结果比较。
这可以大大减轻黑盒测试的工作量,在迭代开发的过程中,能够很好地进行回归测试。
四、分析题
1、阅读下面的问题说明:
现在的软件系统几乎都是用事件触发来控制程序流程的。
事件触发时的情景便形成了场景,而同一事件不用的触发顺序和处理结果就形成了事件流。
事件流分为基本流和备选流,基本流是经过测试用例的从开始到结束的最简单、无差错的路径,备选流可以从基本流开始,也可以从另外的备选流开始,在某个特定条件下执行。
根据问题的描述确定程序的基本流和备选流,然后由基本流和备选流形成不同的场景,对每一个场景生成相应的测试用例。
这就是应用场景法进行测试用例设计的基本思想。
下面是对某ATM机应用系统的存款操作的基本流和备选流的描述。
基本流A:
序号
业务名称
业务描述
1
准备存款
客户将银行卡插入ATM机
2
验证银行卡
ATM机从读入的银行卡中读取账户代码,并检查它是否属于可接收的银行卡
3
输入密码
ATM机要求客户输入6位密码
4
验证帐号和密码
ATM机通过验证客户的帐号和密码,决定客户的合法性
5
ATM机屏幕选项
ATM机显示在本机上可用的屏幕选项
6
输入金额
从ATM机显示屏幕中选取金额
7
授权
ATM机将整体操作作为事务提交银行系统
8
入钞
客户向ATM机提供现金,ATM机验钞
9
验钞确认
ATM机屏幕中显示存款金额
10
返回银行卡
银行卡被返还
11
打印收据
提供客户打印收据功能
备选流:
B
银行卡无效
在基本流A2过程中,该卡不能够识别或是非本机可以使用的银行卡,ATM机退卡,并退出基本流
C
密码有误
ATM机提示密码不正确,客户有三次机会重输,重新加入基本流A3,或选择退卡
D
验钞不符
系统判断存款金额与入钞数目不符,重新加入基本流A8,或选择退卡
试求:
(1)设计场景(基本流用字母A表示,备选流用题干中描述的相应字母表示)。
场景格式示例如下:
场景ID
场景描述
场景过程
A、B、C
(2)设计测试用例场景矩阵
测试用例矩阵格式示例如下:
测试用例ID
场景
账号
密码
ATM机确认金额
预期结果
V
V
n/a
退卡
V表示有效数据元素,I表示无效数据元素,n/a表示不可用
(3)假设本系统开发人员在开发过程中通过测试发现了20个错误,独立的测试组通过上述测试用例发现了80个软件错误,系统在上线后,用户反馈了10个错误,请计算缺陷探测率(DDP)。
(1)设计场景
场景流程
成功存款
A
A、B
A、C
A、D
I
n/a
重输或退卡
(3)计算缺陷探测率(DDP)
DDP=Bugstester(Bugstester+Bugscustomer)=(20+80)(20+80+10)=90%(0.9)其中,Bugstester为测试者发现的错误数;
Bugscustomer为客户发现并反馈技术支持人员进行修复的错误数。
五、设计题
1、NextDate函数问题说明:
输入一个日期,求从输入日期算起的第三天日期。
例如,输入为2008年8月8日,则该程序的输出为2008年8月10日。
NextDate函数包含三个整数变量month、day和year,并且满足下列条件:
1≤month≤12和1≤day≤31。
(1)分析各种输入情况,列出为输入变量month、day、year划分的有效等价类
等价类划分格式示例如下:
输入
ID
有效等价类
day
1≤day≤31
(2)根据划分的等价类,再考虑month边界值,设计健壮等价类测试用例。
测试用例格式示例如下:
用例ID
month
year
预期输出
覆盖等价类
2008
20080505
1,2
(1)输入等价类
1≤day≤26
day=27
day=28
day=29
day=30
day=31
month=4,6,9,11
month=1,3,5,7,8,10
month=2
month=12
闰年
12
非闰年
(2)设计测试用例
20080107
1,8,11
27
20080529
2,8,11
28
20080530
3,8,11
29
2009
20090531
4,8,12
30
20090601
5,8,12
31
20090602
6,8,12
-1
无效月份
20080207
1,9,11
20081107
1,7,11`
20081207
1,10,11
13
2、三角形问题说明:
输入三个正整数a、b、c,分别作为三角形的三条边,现通过程序判断由三条边构成的三角形的类型是否为等边三角形、等腰三角形、直角三角形、普通三角形以及非三角形。
假设要求输入的a、b、c数据满足的条件是:
a>
0∧b>
0∧c>
0并且a<
b+c,b<
a+c,c<
a+b
根据问题的规格说明,可从输出域划分5种等价类:
R1:
等边三角形
R2:
等腰三角形
R3:
直角三角形
R4:
普通三角形
R5:
非三角形
可由输出等价类求输入等价类:
例如输出的等边三角形等价类R1对应的输入等价类S1表示为
R1:
S1={<
a,b,c>
|a=b∧b=c∧a=c∧a>
0}
(1)按上述表示,将输出等价类变换为对应的输入等价类。
(2)假设1≤a,b,c≤10,根据划分的等价类,设计健壮等价类测试用例,再使用必要的边界值用例补充。
a
b
c
等边三角形
S1,S2
R2:
S2={<
|(a=b∨b=c∨a=c)∧(a+b>
c∧b+c>
a∧a+c>
b)∧a>
R3:
S3={<
|a>
0∧(a+b>
b)∧(a2+b2=c2∨b2+c2=a2∨a2+c2=b2)}
R4:
S4={<
|a≠b∧b≠c∧a≠c∧a>
b)}
R5:
S5={<
|(a+b≤c∨b+c≤a∨a+c≤b)∧a>
0∨a≤0∨b≤0∨c≤0}
等腰三角形
S2
S3
普通三角形
S4
S5
3、某软
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试 技术 复习题 1004
![提示](https://static.bdocx.com/images/bang_tan.gif)