2011——2012年软件测试与用例设计期末考试A卷
题号 | 一 | 二 | 三 | 四 | 五 | 六 | 总分 |
---|---|---|---|---|---|---|---|
分数 |
说明:本试卷共六大题,试卷满分100分,考试时间120分钟,考试为开卷考试。
bd
题号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|
答案 | B | D | A | D | C | A | A | D | B | D |
题号 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
答案 | C | B | D | A | D | C | B | A | D | A |
一、单项选择题;共20小题,每小题1 分,满分20分;请将答案填入题后括号中。
(说明:每题有且仅有一个正确答案)
1. 软件测试的目的是 ( b )
(A)发现程序中的所有错误 (B)尽可能多地发现程序中的错误
(C)证明程序是正确的 (D)调试程序
2. 下列不属于测试原则的内容 ( d )
(A)软件测试是有风险的行为 (B)完全测试程序是不可能的
(C)测试无法显示潜伏的软件缺陷 (D)找到的缺陷越多软件的缺陷就越少
3. 导致软件缺陷的最大原因是 ( a )
(A)编制说明书 (B)设计
(C)编码 (D)测试
4. 修复软件缺陷费用最高的是_阶段: ( d )
(A)编制说明书 (B)设计
(C) 编写代码 (D)发布
5. 白盒测试是根据程序的来设计测试用例,黑盒测试是根据软件的规格说明来设计测试用例。
( c )
(A)功能 (B)性能
(C)内部逻辑 (D)内部数据
6. 条件覆盖的目的是 (a )
(A)使每个判定的所有可能的条件取值组合至少执行一次
(B)使程序中的每个判定至少都获得一次“真”值和“假”值。
(C)使程序中的每个判定中每个条件的可能值至少满足一次。
(D)使程序中的每个可执行语句至少执行一次。
7. 一个程序中所含有的路径数与有着直接的关系。 ( a )
(A) 程序的复杂程度 (B) 程序语句行数
(C)程序模块数 (D)程序指令执行时间
8. 动态黑盒子测试: ( d )
(A)直接测试底层功能、过程、子程序和库 (B)可估算执行测试时代码量和具体代码
(C)从软件获得读取变量和状态信息的访问权 (D)测试的是软件在使用过程中的实际行为
9. 在自低向上测试中,要编写称为_的模块来测验正在测试的模块。
( b )
(A) 测试存根 (B) 测试驱动模块
(C)桩模块 (D) 底层模块
[10. 下列不是软件自动化测试的优点 ( d )]()
(A)速度快、效率高 (B)准确度和精确度高
(C)能提高测试的质量 (D)能充分测试软件
11. 配置测试 ( c )
(A) 是指检查软件之间是否正确交互和共享信息 (B) 是交互适应性、实用性和有效性的集中体现
(C) 是指使用各种硬件来测试软件操作的过程 (D) 检查缺陷是否有效改正
12. 下列各项中不是一个测试计划所应包含的内容 ( b )
(A)测试资源、进度安排 (B)测试预期输出
(C)测试范围 (D)测试策略
13. 下列不属于正式审查的方式是 ( d )
(A)同事审查
(B) 公开陈述
(C) 检验
(D) 编码标准和规范
14. 在没有产品说明书时使用_: ( a )
(A)探索测试
(B) 功能测试
(C) 动态测试
(D) 静态测试
15. 调试是 ( d )
(A)发现与预先定义的规格和标准不符合的问题
(B)发现软件错误征兆的过程
(C)有计划的、可重复的过程
(D)消除软件错误的过程
16. 在软件底层进行的测试称为 ( c )
(A) 系统测试 (B) 集成测试
(C) 单元测试 (D) 功能测试
17. 在确定黑盒测试策略时,优先选用的方法是 ( b )
(A) 边界值分析法 (B) 等价类划分
(C)错误推断法 (D)决策表方法
18. 下列不属于软件缺陷 ( a )
(A) 测试人员主观认为不合理的地方
(B) 软件未达到产品说明书标明的功能
(C)软件出现了产品说明书指明不会出现的错误
(D)软件功能超出产品说明书指明范围
19. 产品发布后修复软件缺陷比项目开发早期这样做的费用要高__ ( d )
(A)1~2倍 (B)10~20倍
(C)50倍 (D)100倍或更高
20. _把黑盒子测试和白盒子测试的界限打乱了。 ( a )
(A) 灰盒子测试 (B)动态测试
(C)静态测试 (D)失败测试
二、填空题:共10小题20个空格,每个空格1分,满分20分;请将答案填入指定的空白处。
1. 软件缺陷产生的原因包括_、设计、_以及其他原因。
2. 软件开发模式包括_、边写边改模式、_、螺旋模式。
3. 黑盒测试用例设计方法包括_、_以及因果图法,错误推测法等。
4. 测试过程中,_用于描述测试的整体方案,__描述依据测试案例找出的问题。
5. 传统的等价类划分测试的实现分两步进行,一是_,二是_。
6. 在兼容性测试中,_是指可以使用软件的以前版本, __是指可以使用软件的未来版本。
7. 测试工作就是进行输入、接受输出、检验结果,不深入代码细节,这样的测试方法称为__,在不执行代码的条件下有条理地仔细审查软件设计、体系结构和代码,从而找出软件缺陷的测试方法称为__。
8. 不需要修复软件缺陷的原因包括__、不能算真正的软件缺陷、__、不值得修复。
9. 白盒测试又称为__,黑盒测试又称为__。
10. 动态测试的两个基本要素是__、__。
1.编写说明书; 编写代码
2.大棒模式; 流水模式
3.等价类划分; 边界值分析法
4.测试计划; 缺陷报告
5.划分等价类表; 设计相应的测试用例
6.向前兼容; 向后兼容
7.动态黑盒测试; 静态白盒测试
8.没有时间; 风险太大
9.结构测试或逻辑驱动测试;
功能测试或数据驱动测试或基于规格说明书的测试
10.被测试程序; 测试数据(测试用例)
一、判断题(10×1=10分)
题号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|
答案 | × | √ | × | √ | × | × | √ | √ | √ | √ |
三、判断题:共10小题,每小题1分,满分10分;请将答案以“√”、“×”形式填入题后括号中。
1. 白盒测试的条件覆盖标准强于判定覆盖。 n ( )
2. 验收测试是以最终用户为主的测试。 y ( )
3. 测试程序仅仅按预期方式运行就行了。 n ( )
4. 自底向上集成需要测试员编写驱动程序。 y ( )
5. 好的测试员不懈追求完美。 n ( )
6. 软件测试工具可以代替软件测试员。 n ( )
7. 最重要的用户界面要素是软件符合现行标准和规范。 y ( )
8. 自动化测试可能延误项目进度。 y ( )
9. 软件测试员可以对产品说明书进行白盒测试。 y ( )
10. 静态白盒测试可以找出遗漏之处和问题。 y ( )
四、名词解释;共5小题,每小题3分,满分15分
1.软件缺陷
2. 单元测试
3.白盒测试
4.回归测试
5.等价类
五、简答题:共3小题,每小题5分,满分15分。
1. 什么是测试用例?为什么要设计测试用例?
2. 简述增量式集成测试的自顶向下和自底向上两种测试方法。
3.分析单元测试和代码调试的区别。
六、:综合题:共1小题,每小题20分,满分20分。
1.按要求给出下列程序的测试用例(要求写出必要的说明):
(1) 语句覆盖
(2) 判定覆盖
(3) 条件覆盖
(4) 判定-条件覆盖
(5) 条件组合覆盖
图中共有4条路径:P1(ace)、P2(abd)、P3(abe)、P4(acd)。
1.P1正好满足语句覆盖的条件。可以设计如下的输入数据:
A=2,B=0,x=4
2.测试用例如果能够测试路径P1(ace)和P2(abd),就可以满足判定覆盖要求。可以设计如下两组输入数据:
A=2,B=0,x=4
A=1,B=1,x=1
3.条件:A>1,B=0,A=2,x>1。需要有足够的测试用例使得上述四个条件都能有满足和不满足的情况。以下这两组输入数据能满足这些要求:
A=2,B=0,x=4
A=1,B=1,x=1
4.判定/条件覆盖
A=2,B=0,x=4
A=1,B=1,x=1
5.可能的条件组合:
(1)A>1,B=0
(2)A>1,B≠0
(3)A≤1,B=0
(4)A≤1,B≠0
(5)A=2,x>1
(6)A=2,x≤1
(7)A≠2,x>1
(8)A≠2,x≤1
相应的输入数据:
A=2,B=0,x=4 满足(1)和(5)
A=2,B=1,x=1 满足(2)和(6)
A=1,B=0,x=2 满足(3)和(7)
A=1,B=1,x=1 满足(4)和(8)
软件测试基础(B卷)答案及评分标准
二、单选题(20×1=20分)
题号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|
答案 | B | D | A | D | C | A | A | D | B | D |
题号 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
答案 | C | B | D | A | D | C | B | A | D | A |
三、填空题(20×1=20分)
1.编写说明书; 编写代码
2.大棒模式; 流水模式
3.等价类划分; 边界值分析法
4.测试计划; 缺陷报告
5.划分等价类表; 设计相应的测试用例
6.向前兼容; 向后兼容
7.动态黑盒测试; 静态白盒测试
8.没有时间; 风险太大
9.结构测试或逻辑驱动测试;
功能测试或数据驱动测试或基于规格说明书的测试
10.被测试程序; 测试数据(测试用例)
四、判断题(10×1=10分)
题号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|
答案 | × | √ | × | √ | × | × | √ | √ | √ | √ |
五、名词解释(5×3=15分)
1.软件缺陷:(符合下列规则的叫软件缺陷):
1).软件未达到产品说明书的功能
2).软件出现了产品说明书指明不会出现的错误
3).软件功能超出产品说明书指明范围
4).软件未达到产品说明书虽未指出但应达到的目标
5).软件测试员认为难以理解、不易使用、运行速度缓慢、或者最终用户认为不好
2.单元测试:单元测试是对软件设计的最小单元——模块进行正确性检验的测试工作,主要测试模块在语法、格式和逻辑上的错误。
3.白盒测试
白盒测试也称为结构测试或逻辑驱动测试,前提是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的机构测试程序,检测程序中的每条通路是否都能够按预定要求正确工作,而不管产品的功能,主要用于软件验证。
4.回归测试
指软件系统被修改或扩充(如系统功能增强或升级)后重新进行的测试,是为了保证对软件所做的修改没有引入新的错误而重复进行的测试。
5.等价类:指某个输入域的子集合,在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。
六、简答题(3×5=15分)
1. 所谓的测试用例就是将软件测试的行为活动,做一个科学化的组织归纳。
使用测试用例的好处主要体现在以下几个方面:
• 在开始实施测试之前设计好测试用例,可以避免盲目测试并提高测试效率。
• 测试用例的使用令软件测试的实施重点突出、目的明确。
• 在软件版本更新后只需修正少部分的测试用例便可展开测试工作,降低工作强度、缩短项目周期。
• 功能模块的通用化和复用化使软件易于开发,而相对于功能模块的测试用例的通用化和复用化则会使软件测试易于开展,并随着测试用例的不断精化其效率也不断攀升
2. 自顶向下增量式测试的主要优点在于它可以自然地做到逐步求精,一开始便能让测试者看到系统的框架。它的主要缺点是需要提供被调用模拟子模块,被调用模拟子模块可能不能反映真实情况,因此测试有可能不充分。
自底向上测试的优点在于,由于驱动模块模拟了所有调用参数,即使数据流并未构成有向的非环状图,生成测试数据也没有困难。它的缺点在于,直到最后一个模块被加入进去之后才能看到整个程序(系统)的框架。
3. 表面上这两项技术很相似,因为它们都包括查看代码、运行程序和处理软件缺陷的过程,但是它们的目标不同:单元测试是为了发现软件缺陷,而代码调试的目标是修复软件缺陷。在分离和查找软件缺陷原因时这两个过程发生交叉。
七、综合题(1×20=20分)
图中共有4条路径:P1(ace)、P2(abd)、P3(abe)、P4(acd)。
1.P1正好满足语句覆盖的条件。可以设计如下的输入数据:
A=2,B=0,x=4
2.测试用例如果能够测试路径P1(ace)和P2(abd),就可以满足判定覆盖要求。可以设计如下两组输入数据:
A=2,B=0,x=4
A=1,B=1,x=1
3.条件:A>1,B=0,A=2,x>1。需要有足够的测试用例使得上述四个条件都能有满足和不满足的情况。以下这两组输入数据能满足这些要求:
A=2,B=0,x=4
A=1,B=1,x=1
4.判定/条件覆盖
A=2,B=0,x=4
A=1,B=1,x=1
5.可能的条件组合:
(1)A>1,B=0
(2)A>1,B≠0
(3)A≤1,B=0
(4)A≤1,B≠0
(5)A=2,x>1
(6)A=2,x≤1
(7)A≠2,x>1
(8)A≠2,x≤1
相应的输入数据:
A=2,B=0,x=4 满足(1)和(5)
A=2,B=1,x=1 满足(2)和(6)
A=1,B=0,x=2 满足(3)和(7)
A=1,B=1,x=1 满足(4)和(8)
题号 | 一 | 二 | 三 | 四 | 总分 |
---|---|---|---|---|---|
得分 |
得分 | 评卷人 |
---|---|
一、判断题(每小题1分,共10分)。请在正确的题号前画“√”,错误的题号前画错“×”。
(√ )1. Beta测试是验收测试的一种。
( ×)2. 软件测试是通过运行程序来查看错误。
( ×)3.负载测试是验证要检验的系统的能力最高能达到什么程度。
( × )4.没有安装操作系统的裸机中有软件。
( ×)5.集成测试计划在需求分析阶段末提交。
( ×)6.软件测试是程序测试。
( ×)7.边界测试中所选择的输入测试数据一定是有效数据。
( √)8.软件测试只能发现错误,但不能保证测试后的软件没有错误。
(× )9. 4.测试只要做到语句覆盖和分支覆盖,就可以发现程序中的所有错误。
( ×)10.良好的单元测试可以代替集成测试。
得分 | 评卷人 |
---|---|
二、多项选择题(每小题2分,共20分)。
1.(等价类 )方法根据输出对输入的依赖关系设计测试用例。
A)路径测试 B)等价类
C)因果图 D)边界值
2.典型的软件测试过程模型有( XWHV模型)等。
A)V模型、W模型、H模型、迭代模型 B)V模型、W模型、H模型、螺旋模型
C)X模型、W模型、H模型、V模型 D)X模型、W模型、H模型、增量模型
3.对于软件测试分类,下列各项都是按照不同阶段来进行的划分,除了(黑盒测试 )。
A)单元测试 B)集成测试
C)黑盒测试 D)系统测试
4.程序的三种基本控制结构是( 顺序,条件,循环 )
A)过程、子程序、分程序 B)顺序、条件、循环
C)递归、堆栈、队列 D)调用、返回、转移
5.软件测试类型按开发阶段划分是(单元测试,集成测试,确认测试,系统测试,验收测试 )
A)需求测试、单元测试、集成测试、验证测试
B)单元测试、集成测试、确认测试、系统测试、验收测试
C)单元测试、集成测试、验证测试、验收测试
D)调试、单元测试、集成测试、用户测试
6.选出属于黑盒测试方法的选项( 测试用例覆盖,输入,输出覆盖 )
A)测试用例覆盖 B)输入覆盖
C)输出覆盖 D)分支覆盖
E)语句覆盖 F)条件覆盖
7.使用软件测试工具的目的:(帮助测试寻找问题。协助问题的诊断、节省测试时间 )
A)帮助测试寻找问题 B)协助问题的诊断
C)节省测试时间 D)提高Bug的发现率
E)更好的控制缺陷提高软件质量 F)更好的协助开发人员
8.用户在真实的工作环境中使用软件,用于测试系统的用户友好性等,这种测试是(Beta测试 )。
A)集成测试 B)系统测试
C)Alpha测试 D)Beta测试
9.黑盒测试用例设计技术包括( A )等。
A)等价类划分法、因果图法、边界值分析法、错误推测法、决策表法
B)等价类划分法、因果图法、路径覆盖法、正交试验法、符号法
C)等价类划分法、因果图法、边界值分析法、功能图法、基本路径法
D)等价类划分法、因果图法、边界值分析法、条件组合覆盖法、场景法
10.关于白盒测试与黑盒测试的最主要区别,正确的是(白盒测试侧重于程序结构,黑盒测试侧重与功能 ) 。
A)白盒测试侧重于程序结构,黑盒测试侧重于功能
B)白盒测试可以使用测试工具,黑盒测试不能使用工具
C)白盒测试需要程序员参与,黑盒测试不需要
D)黑盒测试比白盒测试应用更广泛
得分 | 评卷人 |
---|---|
三、填空题(每空1分,共20分)
1.黑盒测试方法主要包括 边界值测试 、 等价类测试 、 因果图、 决策表 、 场景法 和 等测试;
2.白盒测试方法主要包括 逻辑覆盖、 基路径 、 数据流 、 静态白盒 等测试;
3.按开发阶段划分软件测试类包括 单元测试 、 集成测试 、 系统测试 、 确认测试和验收测试 ;
4.典型的软件测试过程模型有X模型 、W模型 、H模型 、 V模型 等。
5.软件= 数据 + 程序 +文档+服务。
得分 | 评卷人 |
---|---|
四、简答题(每小题5分,共50分)
1.什么是测试用例(P17)
答:(1)测试用例(Test Case TC )是简单来说是执行条件和预期结果的集合。完整来讲是指针对要测试的内容所确定的一组输入信息,是为达到最佳的测试效果或高效地揭露隐藏的错误而精心设计的少量测试数据。(4分)
(2):测试用例= 输入+输出+测试环境(1分)
2.等价类测试
答:(1):等价类测试通过划分有效等价类和无效等价类,将问题域划分,并选择每类的代表数据,从而降低测试工作量,其目的是要达到测试的完备无冗余(3分)
(2):通常基于输入域划分等价类,设计测试用例时主要有两种形式的测试方法:弱组合形式和强组合形式(2分)
3.基路径测试
答:(1):基路径测试是一种白盒测试方法, 主要关注条件判定与循环所带来的程序路径爆炸问题,该方法以环复杂度分析为基础,通过寻找一组独立集合来表达其他路径,但要注意剔除不可行路径,补充其他重要路径(3分),其目的是要达到测试的完备无冗余(2分)
4.静态白盒测试
答:静态白盒测试就是不需要设计和执行测试用例,它主要是通过小组评审讨论的方式进行(4分),其优点是定位缺陷,预防缺陷(1分)
5.压力测试
答:压力测试是指持续不断的给被测系统增加压力,直到被测系统被压垮,从而确定系统所能承受的最大压力(5分)
6.集成测试策略
答:(1)集成测试策略分为成对集成,邻居集成,大爆炸集成,自顶向下集成,自顶向上集成,三明治集成,基于功能分解的集成,基于风险的集成。
(1)成对集成:将每个集成测试用例限定在一对调用单元上(2)邻居集成:将每个集成测试用例限定在某个节点的邻居上(3)大爆炸集成:(Big Bang)将所有经过单元测试的模块一次性组装到被测系统中进行测试,完全不考虑模块之间的依赖性和可能的风险(4)自顶向下集成(Top Down):从主控模块(主程序,即根点)开始;按照系统程序结构,沿着控制层从上而下,逐渐将各个模块组装起来(5)自顶向上集成(Down Up) :从最底层模块(即叶子节点)开始,按照调用图的结构,从下而上,逐层将各各个模块组装起来(6)三明治集成(Sandwich):将系统划分为三层,中间层为目标层,测试时对目标层使用自顶向下的集成策略,,对目标层下面的层使用自顶向上的集成策略(7)基于功能分解的集成(Function Based):从功能的角度出发,对功能树分解展开集成测试(8)基于风险的测试(Risk Based):系统风险最高的模块之间的集成往往是缺陷非常集中的部分,应尽早验证这些接口,从而加速系统的稳定(答对一个得1分,总分不超过5分)
几种集成测试的比较
项目 | 测试用例数目 | 桩模块 | 驱动模块 | 缺陷定位 | 并行测试 | 系统概貌 |
---|---|---|---|---|---|---|
成对集成 | 有变数而定 | 需要 | 需要 | 非常容易 | 可以 | 不确定 |
邻居集成 | 主要由中间节点数决定 | 需要 | 需要 | 困难 | 可以 | 不确定 |
大爆炸 | 少 | 不需要 | 不需要 | 非常困难 | N/A | 早期 |
自顶向下 | 较多 | 需要 | 不需要 | 较容易 | 困难 | 早期 |
自底向上 | 较多 | 不需要 | 需要 | 较容易 | 可以 | 较晚 |
三明治 | 较多 | 需要 | 需要 | 较困难 | 可以 | 早期 |
7.对待缺陷应遵循的原则
答:(1)缺陷的群集现象,(80%的软件缺陷集中在20%的模块)(2分)(2)缺陷有免疫力(软件测试越多,缺陷的免疫力越强)(2分)(3)缺陷的关联和依赖(某个缺陷因其他缺陷而出现或消失,关闭某个缺陷必须先关闭其父类缺陷(1分))
8.简述软件测试过程模型
答:软件测试过程模型包括V模型,W模型,H模型,X模型。。是软件测试专家通过实践活动总结出的很好的测试过程模型,能大大提高测试质量,提高测试结果的准确性和有效性(5分)
9.测试用例的评价标准
答:软件测试的评价标准有:有效性,经济性,可仿效性,独立性,可跟踪性。
10.什么是软件
(1)软件是能能够完成预定功能和性能的,可执行的指令(计算机程序)
(2)软件是使得程序能够适当操作信息的数据结构
(3)软件是描述程序的操作和使用的文档
(4):软件是计算机中与硬件相结合的部分,包括程序和文档
(5) 软件=程序+数据+文档+服务。
一、单项选择题:共20小题,每小题2 分,满分40分。
1.软件测试的目的:( c )
A. 避免软件开发中出现的错误
B. 发现软件开发中出现的错误
C. 尽可能发现并排除软件中潜藏的错误,提高软件的可靠性
D. 修改软件中出现的错误
2、软件测试是采用( a )执行软件的活动。
A.测试用例
B.输入数据
C.测试环境
D.输入条件
3、导致软件缺陷的最大原因是:( a )
A.软件需求说明书
B.设计方案
C.编码
D.维护
4、在下列描述中,关于一个软件缺陷状态完整变化的错误描述是( d )
A、打开——修复——关闭
B、打开——关闭
C、打开——保留
D、激活——修复——重新打开
5、在下列描述中,关于测试与调试的说法错误的是( d )
A、测试是显示错误的行为;而调试是推理的过程;
B、测试显示开发人员的错误。调试是开发人员为自己辩护;
C、测试能预期和可控。调试需要想象、经验和思考;
D、测试必须在详细设计已经完成的情况下才能开始;没有详细设计的信息调试不可能进行。
6、某次程序调试没有出现预计的结果,下列( b )不可能是导致出错的原因。A.变量没有初始化 B.编写的语句书写格式不规范C.循环控制出错 D.代码输入有误
7、软件缺陷修复的代价最高的阶段为( a )
A、发布阶段 B、需求阶段
C、设计阶段 D、编码阶段
8、不属于逻辑覆盖方法的是( d )。
A.组合覆盖 B.判定覆盖
C.条件覆盖 D.接口覆盖
9、( d )是选择若干个测试用例,运行被测程序,使得程序中的每个可执行语句至少执行一次。
A、条件覆盖 B、组合覆盖
C、判定覆盖 D、语句覆盖
10、( a )是设计足够多的测试用例,使得程序中每个判定包含的每个条件的所有情况(真/假)至少出现一次,并且每个判定本身的判定结果(真/假)也至少出现一次。
A、判定-条件覆盖 B、组合覆盖
C、判定覆盖 D、条件覆盖
11.软件测试是软件质量保证的重要手段,下述哪种测试是软件测试的最基础环节?( b )
A.功能测试
B.单元测试
C.结构测试
D.验收测试
12、单元测试的主要任务不包括( b )。
A.出错处理 B.全局数据结构
C.独立路径 D.模块接口
13、如下图所示的N-S图,至少需要( b )个测试用例完成逻辑覆盖。
A.12 B.48
C.27 D.18
14、单元测试中用来模拟实现被测模块需调用的其他功能模块的是( b )。
A.驱动模块 B.桩模块
C.主控模块 D.真实的被调用模块
15、集成测试计划应该在( b )阶段末提交。
A、需求分析 B、概要设计
C、详细设计 D、单元测试完成
16、下列关于程序效率的描述错误的是( c )。
A.提高程序的执行速度可以提高程序的效率
B.降低程序占用的存储空间可以提高程序的效率
C.源程序的效率与详细设计阶段确定的算法的效率无关
D.好的程序设计可以提高效率
17、下列( b )是对程序流程图进行简化后得到的,它可以更加突出的表示程序控制流的结构,且不包含复合条件。
A.DD-路径图 B. 控制流图
C.MM-路径图 D. 模块调用图
18、自底向上增量式集成测试中,下面( c )描述是正确的。
A.测试由桩模块控制
B.最上面的模块最先测试
C.父单元用测试过的子单元测试
D.包含树的深度优先或广度优先遍历过程
19、测试后程序中残存的错误数目与该程序中已发现的错误数目成( d )。
A.未知 B.反比
C.相等 D.正比
20、针对是否对无效数据进行测试,可以将等价类测试分为(b )
1) 标准(一般)等价类测试
2) 健壮等价类测试
3) 弱等价类测试
4) 强等价类测试
A.3)4) B.1)2)
C.1)3) D.2)4)
二、判断题:共20小题,每题1分,满分20分)
1、一个程序中所含有的路径数与程序的复杂程度有着直接的关系。( ∨ )
2、结构性测试是根据软件的规格说明来设计测试用例。( x )
3、错误推测法是根据输出对输入的依赖关系来设计测试用例的。(x )
4、软件缺陷属性包括缺陷标识、缺陷类型、缺陷严重程度、缺陷产生可能性、缺陷优先级、缺陷状态、缺陷起源、缺陷来源、缺陷原因。(∨ )
5、对于一个含有n个变量的程序,采用边界值健壮性测试方法来测试程序会产生6n+1个测试用例。(∨)
6、数据流测试是主要用作路径测试的真实性检查。两种形式分别为定义/使用测试、基于程序片的测试。(∨ )
7、软件只要经过严格严谨的内部测试之后,可以做到没有缺陷。(x )
8、测试用例应由测试输入数据和对应的实际输出结果这两部分组成。( x )
9、测试是可以穷尽的。( x )
10、测试自动化是万能的。( x )
11、软件缺陷可能会被修复,可能会被保留或者标识出来。( ∨ )
12、每一个软件项目都有一个最优的测试量。( ∨ )
13、黑盒测试往往会造成测试用例之间可能存在严重的冗余和未测试的功能漏洞。(∨ )
14、代码审查工作属于静态测试。( ∨ )
15、软件测试是一个过程,包含若干活动,运行软件进行测试只是活动之一。(∨ )
16、回归测试是在软件修改后再次运行以前为查找错误而执行程序曾用过的测试用例. ∨
17、集成测试是为确定软件系统是否满足验收标准以及使客户决定是否接受而进行的正式测试. ( x )
18、测试按照测试层次可以划分成为单元测试、集成测试和系统测试。( ∨ )
19、只要能够达到100%的逻辑覆盖率,就可以保证程序的正确性。( x )
20、永远有缺陷类型会在测试的一个层次上被发现,并且能够在另一个层次上逃避检测。(∨ )
三、简答题:共4小题,每题5分,满分20分。
1、优秀的软件测试工程师应具备哪些素质?
答:具有探索精神、具有良好的计算机编程基础、故障排除能手、坚持不懈的精神、具有创新精神和超前意识、追求完美、判断准确、具有整体观念,对细节敏感、团队合作精神,沟通能力
2、有二元函数f(x,y),其中x∈[1,12],y∈[1,31];请写出该函数采用基本边界值分析法设计的测试用例。
答:{ <1,15>, <2,15>, <11,15>, <12,15>, <6,15>,
<6,1>, <6,2>, <6,30>, <6,31> }
3、黑盒测试与白盒测试各有哪些优缺点,应该如何结合才能解决漏洞和冗余问题?
答:功能性测试具有两大优点:功能性测试与软件如何实现无关;测试用例开发可以与实现并行进行,因此可以压缩总的项目开发时间。缺点:测试用例之间可能存在严重的冗余,还会有位测试的软件漏洞。结构性测试局限于已经完成的代码行为当中,离代码太近。因此可以结构性测试指标去解决冗余和漏洞问题。如果发现同一条程序路径被多个功能性测试用例遍历,就可以怀疑这种冗余不会发生新的缺陷,如果没有达到一定的DD—路径覆盖,则可知在功能性测试用力中存在漏洞。因此路径测试可以提供作为功能性测试交叉检查的一组指标。
4、有一段程序如下,请设计测试用例以满足语句覆盖要求。
void DoWork (int x,int y,int z)
{
int k=0,j=0;
if ( (x>3)&&(z<10) )
{ k=xy-1;
j=sqrt(k);
} //语句块1
if ( (x==4)||(y>5) )
{ j=xy+10; } //语句块2
j=j%3; //语句块3
}
答:要实现DoWork函数的语句覆盖,只需设计一个测试用例就可以覆盖程序中的所有可执行语句。
四、综合题:共2小题,每题10分,满分20分。
1、使用基本路径测试方法,为以下程序段设计测试用例。
(1)画出程序的控制流图,编号已经给出。
(2)计算程序的循环复杂度,导出程序基本路径集中的独立路径条数。
(3)导出基本路径集,确定程序的独立路径。
(4)根据(3)中的独立路径,设计测试用例(确保基本路径集中的每一条路径的执行)的输入数据和预期输出。
void Do (int X,int A,int B)
{
1 if ( (A>1)&&(B=0) )
2 X = X/A;
3 if ( (A=2)||(X>1) )
4 X = X+1;
5 }
由于控制流图假设的是单条件,因此对于复合条件,可将其分解为多个单个条件,并映射成控制流图。
1: A>1;2: B=0 ;3: X = X/A ;4: A=2 ;5:X>1 ;6: X = X+1;7: }
2、场景要求:”……对功率大于50马力的机器、维修记录不全或已运行10年以上的机器,应给予优先的维修处理……” 。这里假定,“维修记录不全”和“优先维修处理”均已在别处有更严格的定义 。请建立决策表。
(1) 确定规则的个数。
(2) 列出所有的条件桩和动作桩。
(3) 填入条件项。
(4) 填入动作项,得到初始决策表。
(5) 简化决策表,合并相似规则。
单项选择题:共20小题,每小题1 分,满分20分;请将答案填入题后括号中。
1. 在软件生命周期的哪一个阶段,软件缺陷修复费用最低 ( A )
(A)需求分析(编制产品说明书) (B)设计
(C) 编码 (D)产品发布
2. 单元测试中用来模拟被测模块调用者的模块是 ( C )
(A) 父模块 (B)子模块
(C)驱动模块 (D)桩模块
3. 为了提高测试的效率,应该 ( D )
(A)随机地选取测试数据;
(B)取一切可能的输入数据作为测试数据;
(C)在完成编码以后制定软件的测试计划;
(D)选择发现错误可能性大的数据作为测试数据。
4. 侧重于观察资源耗尽情况下的软件表现的系统测试被称为 ( B )
(A)强度测试 (B)压力测试
(C) 容量测试 (D)性能测试
5. 必须要求用户参与的测试阶段是 ( D )
(A)单元测试 (B)集成测试
(C) 确认测试 (D)验收测试
6. 软件测试员究竟做些什么。 ( C )
(A)软件测试员的目的是发现软件缺陷
(B)软件测试员的目的是发现软件缺陷,尽可能早一些
(C)软件测试员的目的是发现软件缺陷,尽可能早一些,并确保其得以修复
(D)软件测试员的目的是发现软件缺陷,尽可能早一些,并将其得以修复
7. 下面四种说法中正确的是 ( C )
(A)因果图法是建立在决策表法基础上的一种白盒测试方法;
(B)等价类划分法是边界值分析法的基础;
(C)健壮性等价类测试的测试用例要求在有效等价类中取值;
(D)在任何情况下做黑盒测试皆应首先考虑使用错误推断法。
8. 不属于单元测试内容的是 ( A )
(A)模块接口测试 (B)局部数据结构测试
(C) 路径测试 (D)用户界面测试
9. 划分软件测试属于白盒测试还是黑盒测试的依据是 ( C )
(A)是否执行程序代码
(B)是否能看到软件设计文档
(C)是否能看到被测源程序
(D)运行结果是否确定
10. 下列项目中不属于测试文档的是 ( C )
(A)测试计划 (B)测试用例
(C) 程序流程图 (D)测试报告
11. 几乎没有产品计划、进度安排和正规的开发过程的软件开发模式是 ( B )
(A)大棒模式 (B)边写边改模式
(C) 瀑布模式 (D)快速原型开发模式
12. 如果某测试用例集实现了某软件的路径覆盖,那么它一定同时实现了该软件的 ( A )
(A)判定覆盖 (B)条件覆盖
(C) 判定/条件覆盖 (D)组合覆盖
13. 下列说法不正确的是 ( D )
(A)测试不能证明软件的正确性;
(B)测试员需要良好的沟通技巧;
(C)QA与testing属于一个层次的概念;
(D)成功的测试是发现了错误的测试。
14. 对Web网站进行的测试中,属于功能测试的是 ( B )
(A)连接速度测试 (B)链接测试
(C)平台测试
(D)安全性测试
15. 在进行单元测试时,常用的方法是 ( B )
(A)采用黑盒测试,辅之以白盒测试;
(B)采用白盒测试,辅之以黑盒测试;
(C)只使用黑盒测试;
(D)只使用白盒测试。
16. 使用白盒测试方法时,确定测试数据的依据是指定的覆盖标准和 ( B )
(A)程序的注释
(B)程序的内部逻辑
(C)用户使用说明书
(D)程序的需求说明
17.下列不是软件自动化测试的优点 ( D )
(A)速度快、效率高 (B)准确度和精确度高
(C)能提高测试的质量 (D)能充分测试软件
18. 配置测试 ( C )
(A) 是指检查软件之间是否正确交互和共享信息 (B) 是交互适应性、实用性和有效性的集中体现
(C) 是指使用各种硬件来测试软件操作的过程 (D) 检查缺陷是否有效改正
19. 下列各项中不是一个测试计划所应包含的内容 ( B )
(A)测试资源、进度安排 (B)测试预期输出
(C)测试范围 (D)测试策略
20.下列不属于正式审查的方式是 ( D )
(A)同事审查
(B) 公开陈述
(C) 检验
(D) 编码标准和规范
二、判断题:共10小题,每小题1分,满分10分;请将答案以“√”、“×”形式填入题后括号中。
1. 好的测试员不懈追求完美。 ( × )
2. 软件测试是有效的排除软件缺陷的手段。 ( √ )
3. 程序员与测试工作无关。 ( × )
4. 程序员兼任测试员可以提高工作效率。 ( × )
5. 产品说明书(需求文档)的变更应当受到控制。 ( √ )
6. 白盒测试的“条件覆盖”标准强于“判定覆盖”。 ( × )
7. 软件开发全过程的测试工作都可以实现自动化。 ( × )
8. 找出的软件缺陷越多,说明剩下的软件缺陷越少。 ( × )
9. 采用自动化测试有可能延误项目进度。 ( √ )
10.测试应从“大规模”开始,逐步转向“小规模”。 ( × )
三、填空题:共10小题20个空格,每个空格1分,满分20分;请将答案填入指定的空白处。
1. 软件缺陷产生的原因包括软件说明书、设计、编写代码 以及其他原因。
2. 软件开发模式包括大棒模式、边写边改模式、流水模式、螺旋模式。
3. 黑盒测试用例设计方法包括等价类划分法,边界值法,以及因果图法,错误推测法等。
4. 测试过程中,测试计划_描述用于描述测试的整体方案,__缺陷报告描述依据测试案例找出的问题。
5. 传统的等价类划分测试的实现分两步进行,一是_划分等价类表,二是边界值分析法_。
6. 在兼容性测试中,__向前兼容_是指可以使用软件的以前版本, 向后兼容__是指可以使用软件的未来版本。
7. 测试工作就是进行输入、接受输出、检验结果,不深入代码细节,这样的测试方法称为动态黑盒测试_,在不执行代码的条件下有条理地仔细审查软件设计、体系结构和代码,从而找出软件缺陷的测试方法称为静态白盒测试__。
8. 不需要修复软件缺陷的原因包括__没有时间、不能算真正的软件缺陷、_风险太大、不值得修复。
9. 白盒测试又称为结构测试或逻辑结构测试,黑盒测试又称为_功能测试或给予规格说明书的测试。
10. 动态测试的两个基本要素是__被测试程序、__测试数据_。
四、名词解释:共5小题,每小题3分,满分15分
1. 软件缺陷
2. β测试
3.测试的配置管理
4.测试用例
5.黑盒测试
五、简答题:共3小题,每小题5分,满分15分。
1. 如何划分等价类?
2. 软件验收测试应完成哪些主要测试工作?
3. 简述软件开发-软件测试的对用关系。
六、综合题:共1小题,每小题20分,满分20分。
1. 某城市的电话号码由三部分组成。这三部分的名称和内容分别是
地区码:空白或三位数字;
前 缀:非’0’或’1’开头的三位数;
后 缀:四位数字。
假定被调试的程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的号码,试用等价分类法来设计它的调试用例。
软件测试技术(A卷)答案及评分标准
一、 单选题(20×1=20分)
题号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|
答案 | A | C | D | B | D | C | C | A | C | C |
题号 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
答案 | B | A | D | B | B | B | D | C | B | D |
二、 判断题(10×1=10分)
题号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|
答案 | × | √ | × | × | √ | × | × | × | √ | × |
三、 填空题(20×1=20分)
1.编写说明书; 编写代码
2.大棒模式; 流水模式
3.等价类划分; 边界值分析法
4.测试计划; 缺陷报告
5.划分等价类表; 设计相应的测试用例
6.向前兼容; 向后兼容
7.动态黑盒测试; 静态白盒测试
8.没有时间; 风险太大
9.结构测试或逻辑驱动测试;
功能测试或数据驱动测试或基于规格说明书的测试
10.被测试程序; 测试数据(测试用例)
四、 名词解释(5×3=15分)
1.软件缺陷:(符合下列规则的叫软件缺陷):
1).软件未达到产品说明书的功能
2).软件出现了产品说明书指明不会出现的错误
3).软件功能超出产品说明书指明范围
4).软件未达到产品说明书虽未指出但应达到的目标
5).软件测试员认为难以理解、不易使用、运行速度缓慢、或者最终用户认为不好
2.β测试是指软件开发公司组织各方面的典型用户在日常工作中实际使用β版本,并要求用户报告异常情况,提出批评意见。
3.配置管理的目的是建立和维护在软件生命周期中软件产品的完整性和一致性。一般来说,软件测试配置管理包括4个最基本的活动:(1)配置标识;(2)变更控制;(3)配置状态报告; (4)配置审计。
4.测试用例就是将软件测试的行为活动,做一个科学化的组织归纳。
5.黑盒测试也称功能测试或数据驱动测试,前提是已知产品所具有的功能,通过测试来检测每个功能是否都正常使用。
五、 简答题(3×5=15分)
1.
1).在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。
2).在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,则可以确立一个有效等价类和一个无效等价类。
3).在输入条件是一个布尔量的情况下,可以确立一个有效等价类和一个无效等价类。
4).在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可以确立n个有效等价类和一个无效等价类。
5).在规定了输入数据必须遵守的规则的情况下,可以确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。
6).在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类。
2. 软件验收测试应完成哪些主要测试工作?
1)文档资料的审查验收
2)功能测试
3)性能测试
4)强化测试
5)性能降级执行方式测试
6)检查系统的余量要求
7)安装测试
8)用户操作测试
3. 简述软件开发-软件测试的对用关系
六、 综合题(1×20=20分)
解:第一步:划分等价类,包括4个有效等价类,11个无效等价类。
输入条件 | 有效等价类 | 无效等价类 |
---|---|---|
地区码 | 空白(1),3位数字(2) | 有非数字字符(5),少于3位数字(6),多于三位数字(7) |
前缀 | 从200到999之间的3位数字(3) | 有非数字字符(8),起始位为”0”(9),起始位为”1”(10),少于3位数字(11),多于3位数字(12) |
后缀 | 4位数字(4) | 有非数字字符(13),少于4位数字(14),多于4位数字(15) |
第二步:确定调试用例。
调试数据 | 范围 | 期望结果 |
---|---|---|
( ) 276-2345 | 等价类(1),(3),(4) | 有效 |
(635) 805-9321 | 等价类(2),(3),(4) | 有效 |
对11个无效等价类,要选择11个调试用例,如下所示:
调试数据 | 范围 | 期望结果 | ||||
---|---|---|---|---|---|---|
(20A) 123-4567 | 无效等价类(5) | 无效 | ||||
(33 ) 234-5678 | 无效等价类(6) | 无效 | ||||
(7777) 345-6789 | 无效等价类(7) | 无效 | ||||
(777) 34A-6789 | 无效等价类(8) | 无效 | ||||
(234) 045-6789 | 无效等价类(9) | 无效 | ||||
(777) 145-6789 | 无效等价类(10) | 无效 | ||||
(777) 34-6789 | 无效等价类(11) | 无效 | ||||
(777) 2345-6789 | 无效等价类(12) | 无效 | ||||
(777) 345-678A | 无效等价类(13) | 无效 | ||||
(777) 345-678 | 无效等价类(14) | 无效 | ||||
(777) 345-56789 | 无效等价类(15) | 无效 | ||||
选取的调试数据可以不同,关键是与调试内容相符。<br />一、单项选择题;共20小题,每小题1 分,满分20分;请将答案填入题后括号中。<br />1. 软件测试的目的是 ( B )<br />(A)发现程序中的所有错误 (B)尽可能多地发现程序中的错误<br />(C)证明程序是正确的 (D)调试程序<br />2. 下列___不属于测试原则的内容 ( D )<br />(A)软件测试是有风险的行为 (B)完全测试程序是不可能的 <br />(C)测试无法显示潜伏的软件缺陷 (D)找到的缺陷越多软件的缺陷就越少<br />3. 导致软件缺陷的最大原因是 ( A )<br />(A)编制说明书 (B)设计 <br />(C)编码 (D)测试<br />4. 修复软件缺陷费用最高的是____阶段: ( D )<br /> (A)编制说明书 (B)设计<br />(C) 编写代码 (D)发布<br />5. 白盒测试是根据程序的__C__来设计测试用例,黑盒测试是根据软件的规格说明来设计测试用例。<br /> (A)功能 (B)性能 <br />(C)内部逻辑 (D)内部数据<br />6. 条件覆盖的目的是 ( A )<br />(A)使每个判定的所有可能的条件取值组合至少执行一次<br />(B)使程序中的每个判定至少都获得一次“真”值和“假”值。<br />(C)使程序中的每个判定中每个条件的可能值至少满足一次。<br />(D)使程序中的每个可执行语句至少执行一次。<br />7. 一个程序中所含有的路径数与____有着直接的关系。 ( A )<br />(A) 程序的复杂程度 (B) 程序语句行数<br />(C)程序模块数 (D)程序指令执行时间<br />8. 动态黑盒子测试: ( B )<br /> (A)直接测试底层功能、过程、子程序和库 (B)可估算执行测试时代码量和具体代码<br />(C)从软件获得读取变量和状态信息的访问权 (D)测试的是软件在使用过程中的实际行为<br />9. 在自低向上测试中,要编写称为___B_的模块来测验正在测试的模块。<br /> (A) 测试存根 (B) 测试驱动模块<br />(C)桩模块 (D) 底层模块<br />10. 下列___不是软件自动化测试的优点 ( D )<br />(A)速度快、效率高 (B)准确度和精确度高<br />(C)能提高测试的质量 (D)能充分测试软件<br />11. 配置测试 ( C )<br />(A) 是指检查软件之间是否正确交互和共享信息 (B) 是交互适应性、实用性和有效性的集中体现<br />(C) 是指使用各种硬件来测试软件操作的过程 (D) 检查缺陷是否有效改正<br />12. 下列各项中___不是一个测试计划所应包含的内容 ( B )<br />(A)测试资源、进度安排 (B)测试预期输出<br />(C)测试范围 (D)测试策略<br />13. 下列不属于正式审查的方式是 ( D )<br />(A)同事审查(B) 公开陈述(C) 检验(D) 编码标准和规范<br />14. 在没有产品说明书时使用____: ( A )<br />(A)探索测试(B) 功能测试(C) 动态测试(D) 静态测试<br />15. 调试是 ( D )<br />(A)发现与预先定义的规格和标准不符合的问题<br />(B)发现软件错误征兆的过程<br />(C)有计划的、可重复的过程<br />(D)消除软件错误的过程<br />16. 在软件底层进行的测试称为 ( C )<br />(A) 系统测试 (B) 集成测试 (C) 单元测试 (D) 功能测试<br />17. 在确定黑盒测试策略时,优先选用的方法是 ( B )<br />(A) 边界值分析法 (B) 等价类划分 <br />(C)错误推断法 (D)决策表方法<br />18. 下列___不属于软件缺陷 ( A )<br />(A) 测试人员主观认为不合理的地方<br />(B) 软件未达到产品说明书标明的功能<br />(C)软件出现了产品说明书指明不会出现的错误<br />(D)软件功能超出产品说明书指明范围<br />19. 产品发布后修复软件缺陷比项目开发早期这样做的费用要高_____ ( D )<br />(A)1~2倍 (B)10~20倍 (C)50倍 (D)100倍或更高<br />20. _____把黑盒子测试和白盒子测试的界限打乱了。 ( A )<br /> (A) 灰盒子测试 (B)动态测试 (C)静态测试 (D)失败测试<br />二、填空题:共10小题20个空格,每个空格1分,满分20分;请将答案填入指定的空白处。<br />11. 软件缺陷产生的原因包括_____编写说明书_____、设计、______编写代码_____以及其他原因。<br />12. 软件开发模式包括________大棒模式___________、边写边改模式、_____流水模式__、螺旋模式。<br />13. 黑盒测试用例设计方法包括___等价类划分法___、____边界值分析法___以及因果图法,错误推测法等。<br />14. 测试过程中,___测试计划_____用于描述测试的整体方案,__缺陷报告_描述依据测试案例找出的问题。<br />15. 传统的等价类划分测试的实现分两步进行,一是划分等价类表_,二是_设计相应的测试用例_。<br />16. 在兼容性测试中,_ 向前兼容_是指可以使用软件的以前版本, _____向后兼容是指可以使用软件的未来版本。<br />17. 测试工作就是进行输入、接受输出、检验结果,不深入代码细节,这样的测试方法称为__动态黑盒测试____,在不执行代码的条件下有条理地仔细审查软件设计、体系结构和代码,从而找出软件缺陷的测试方法称为 静态白盒测试_。<br />18. 不需要修复软件缺陷的原因包括___没有时间____、不能算真正的软件缺陷、______风险太大__、不值得修复。<br />19. 白盒测试又称为_____结构测试___,黑盒测试又称为____功能测试__。<br />20. 动态测试的两个基本要素是____被测试程序____、____测试数据___。<br />三、判断题:共10小题,每小题1分,满分10分;请将答案以“√”、“×”形式填入题后括号中。<br />1. 白盒测试的条件覆盖标准强于判定覆盖。 ( × )<br />2. 验收测试是以最终用户为主的测试。 ( √ )<br />3. 测试程序仅仅按预期方式运行就行了。 ( × )<br />4. 自底向上集成需要测试员编写驱动程序。 ( √ )<br />5. 好的测试员不懈追求完美。 ( × )<br />6. 软件测试工具可以代替软件测试员。 ( × )<br />7. 最重要的用户界面要素是软件符合现行标准和规范。 ( √ ) <br />8. 自动化测试可能延误项目进度。 ( √ )<br />9. 软件测试员可以对产品说明书进行白盒测试。 ( √ )<br />10. 静态白盒测试可以找出遗漏之处和问题。 ( √ )<br />四、名词解释;共5小题,每小题3分,满分15分<br />1.软件缺陷2. 单元测试3.白盒测试4.回归测试5.等价类<br />五、简答题:共3小题,每小题5分,满分15分。<br />1. 什么是测试用例?为什么要设计测试用例?<br />2. ![](https://cdn.nlark.com/yuque/0/2020/png/1416324/1590061914710-ed868e1a-1e1e-4f82-8a5e-2a84cb36485b.png#align=left&display=inline&height=191&margin=%5Bobject%20Object%5D&originHeight=191&originWidth=216&status=done&style=none&width=216)简述增量式集成测试的自顶向下和自底向上两种测试方法。<br />3.分析单元测试和代码调试的区别。<br />六、:综合题:共1小题,每小题20分,满分20分。<br />1.按要求给出下列程序的测试用例(要求写出必要的说明):<br />(1) 语句覆盖<br />(2) 判定覆盖<br />(3) 条件覆盖<br />(4) 判定-条件覆盖<br />(5) 条件组合覆盖<br /> <br /> <br />软件测试技术(B卷)答案及评分标准<br />七、单选题(20×1=20分)
题号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|
答案 | B | D | A | D | C | A | A | D | B | D |
题号 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
答案 | C | B | D | A | D | C | B | A | D | A |
八、填空题(20×1=20分)
1.编写说明书; 编写代码
2.大棒模式; 流水模式
3.等价类划分; 边界值分析法
4.测试计划; 缺陷报告
5.划分等价类表; 设计相应的测试用例
6.向前兼容; 向后兼容
7.动态黑盒测试; 静态白盒测试
8.没有时间; 风险太大
9.结构测试或逻辑驱动测试;
功能测试或数据驱动测试或基于规格说明书的测试
10.被测试程序; 测试数据(测试用例)
九、判断题(10×1=10分)
题号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|
答案 | × | √ | × | √ | × | × | √ | √ | √ | √ |
十、名词解释(5×3=15分)
1.软件缺陷:(符合下列规则的叫软件缺陷):
1).软件未达到产品说明书的功能
2).软件出现了产品说明书指明不会出现的错误
3).软件功能超出产品说明书指明范围
4).软件未达到产品说明书虽未指出但应达到的目标
5).软件测试员认为难以理解、不易使用、运行速度缓慢、或者最终用户认为不好
2.单元测试:单元测试是对软件设计的最小单元——模块进行正确性检验的测试工作,主要测试模块在语法、格式和逻辑上的错误。
3.白盒测试
白盒测试也称为结构测试或逻辑驱动测试,前提是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的机构测试程序,检测程序中的每条通路是否都能够按预定要求正确工作,而不管产品的功能,主要用于软件验证。
4.回归测试
指软件系统被修改或扩充(如系统功能增强或升级)后重新进行的测试,是为了保证对软件所做的修改没有引入新的错误而重复进行的测试。
5.等价类:指某个输入域的子集合,在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。
十一、 简答题(3×5=15分)
1. 所谓的测试用例就是将软件测试的行为活动,做一个科学化的组织归纳。
使用测试用例的好处主要体现在以下几个方面:
• 在开始实施测试之前设计好测试用例,可以避免盲目测试并提高测试效率。
• 测试用例的使用令软件测试的实施重点突出、目的明确。
• 在软件版本更新后只需修正少部分的测试用例便可展开测试工作,降低工作强度、缩短项目周期。
• 功能模块的通用化和复用化使软件易于开发,而相对于功能模块的测试用例的通用化和复用化则会使软件测试易于开展,并随着测试用例的不断精化其效率也不断攀升
2. 自顶向下增量式测试的主要优点在于它可以自然地做到逐步求精,一开始便能让测试者看到系统的框架。它的主要缺点是需要提供被调用模拟子模块,被调用模拟子模块可能不能反映真实情况,因此测试有可能不充分。
自底向上测试的优点在于,由于驱动模块模拟了所有调用参数,即使数据流并未构成有向的非环状图,生成测试数据也没有困难。它的缺点在于,直到最后一个模块被加入进去之后才能看到整个程序(系统)的框架。
3. 表面上这两项技术很相似,因为它们都包括查看代码、运行程序和处理软件缺陷的过程,但是它们的目标不同:单元测试是为了发现软件缺陷,而代码调试的目标是修复软件缺陷。在分离和查找软件缺陷原因时这两个过程发生交叉。
十二、 综合题(1×20=20分)
图中共有4条路径:P1(ace)、P2(abd)、P3(abe)、P4(acd)。
1.P1正好满足语句覆盖的条件。可以设计如下的输入数据:
A=2,B=0,x=4
2.测试用例如果能够测试路径P1(ace)和P2(abd),就可以满足判定覆盖要求。可以设计如下两组输入数据:
A=2,B=0,x=4
A=1,B=1,x=1
3.条件:A>1,B=0,A=2,x>1。需要有足够的测试用例使得上述四个条件都能有满足和不满足的情况。以下这两组输入数据能满足这些要求:
A=2,B=0,x=4
A=1,B=1,x=1
4.判定/条件覆盖
A=2,B=0,x=4
A=1,B=1,x=1
5.可能的条件组合:
(1)A>1,B=0(2)A>1,B≠0(3)A≤1,B=0(4)A≤1,B≠0(5)A=2,x>1
(6)A=2,x≤1(7)A≠2,x>1(8)A≠2,x≤1
相应的输入数据:
A=2,B=0,x=4 满足(1)和(5)
A=2,B=1,x=1 满足(2)和(6)
A=1,B=0,x=2 满足(3)和(7)
A=1,B=1,x=1 满足(4)和(8)
不定项选择题(每题2 分,共20分)请将答案填入题后括号中。
1.软件验收测试的合格通过准则是:( ABCD )
A. 软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。
B. 所有测试项没有残余一级、二级和三级错误。
C. 立项审批表、需求分析文档、设计文档和编码实现一致。
D. 验收测试工件齐全。
2.软件测试计划评审会需要哪些人员参加?( ABCD )
A.项目经理 B.SQA 负责人 C.配置负责人 D.测试组
3.下列关于alpha 测试的描述中正确的是:( AD )
A.alpha 测试需要用户代表参加
B.alpha 测试不需要用户代表参加
C.alpha 测试是系统测试的一种
D.alpha 测试是验收测试的一种
4.测试设计员的职责有:( BC )
A.制定测试计划B.设计测试用例 C.设计测试过程、脚本 D.评估测试活动
5.下面哪些属于动态分析( CD )
A. 代码覆盖率B. 模块功能检查C. 系统压力测试D. 程序数据流分析
6.下面哪些属于静态分析( )
A、 代码规则检查B、 程序结构分析C、 程序复杂度分析D、 内存泄漏
7.软件实施活动的进入准则是( )
A、 需求工件已经被基线化B、 详细设计工件已经被基线化
C、 构架工件已经被基线化D、 项目阶段成果已经被基线化
8.不属于单元测试内容的是 ( )
(A)模块接口测试 (B)局部数据结构测试(C) 路径测试 (D)用户界面测试
9.软件测试设计活动主要有( )
A、 工作量分析B、 确定并说明测试用例C、 确立并结构化测试过程D、 复审并评估测试覆盖
10.不属于集成测试步骤的是( )
A、 制定集成计划B、 执行集成测试C、 记录集成测试结果 D、 回归测试
二、填空题:共3小题10个空格,每个空格2分,满分20分;请将答案填入指定的空白处。
21. 通过画因果图来写测试用例的步骤为_、_、_、把因果图转换为状态图和_及共五个步骤。
22. 软件测试主要分为_、_、_、_四类测试。
23. 软件缺陷产生的原因包括_、设计、_以及其他原因。
三、判断题:共10小题,每小题1分,满分10分;请将答案以“√”、“×”形式填入题后括号中。
1.软件测试的目的是尽可能多的找出软件的缺陷。( )
2.Beta 测试是验收测试的一种。( )
3.验收测试是由最终用户来实施的。( )
4.项目立项前测试人员不需要提交任何工件。( )
5.单元测试能发现约80%的软件缺陷。( )
6.代码评审是检查源代码是否达到模块设计的要求。( )
7.自底向上集成需要测试员编写驱动程序。( )
8.负载测试是验证要检验的系统的能力最高能达到什么程度。( )
9.测试人员要坚持原则,缺陷未修复完坚决不予通过。( )
10.代码评审员一般由测试员担任。( )
四、名词解释;共5小题,每小题3分,满分15分
1.α测试2. β测试3.驱动模块4. 桩模块5. 静态测试
五、简答题:共3小题,每小题5分,满分15分。
1. 阶段评审与同行评审的区别。
2 . 什么是软件测试。
3 . 简述集成测试的过程。
六、综合题:共1小题,每小题20分,满分20分。
在三角形计算中,要求三角型的三个边长:A、B 和C。当三边不可能构成三角形时提示错误,可构成三角形时计算三角形周长。若是等腰三角形打印“等腰三角形”,若是等边三角形,则提示“等边三角形”。给出程序伪代码、控制流程图、找出基本测试路径。
软件测试技术(C卷)答案及评分标准
十三、 单选题(10×2=20分)
题号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|
答案 | ABCD | ABCD | AD | BC | CD | ABC | ABC | D | ABCD | D |
十四、 填空题(20×1=20分)
1. 分析程序规格说明的描述中,哪些是原因,哪些是结果 、分析程序规格说明的描述中语义的内容,并将其表示成连接各个原因与各个结果的因果图、在因果图上使用若干个特殊的符号标明特定的约束条件、把判定表中每一列表示的情况写成测试用例
2. 单元测试、集成测试、系统测试、验收测试
3. 需求、编码
十五、 判断题(10×1=10分)
题号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|
答案 | √ | √ | × | √ | √ | × | √ | × | × | × |
十六、 名词解释(5×3=15分)
1.α测试
有时也称为室内测试,是由一个用户在开发环境下进行的测试,也可以是开发机构内部的用户在模拟实际操作环境下进行的测试。
2. β测试
是由软件的多个用户在一个或多个用户的实际使用环境下进行的测试。
3.驱动模块
驱动模块就是用来代替主模块,用它来调用子模块
4. 桩模块
集成测试前要为被测模块编制一些模拟其下级模块功能的“替身”模块,以代替被测模块的接口,接受或传递被测模块的数据,这些专供测试用的“假”模块称为被测模块的桩模块。
5. 静态测试
就是不执行程序的测试,包括代码走查,编码规则检查,质量评审,设计评审等。
十七、 简答题(3×5=15分)
1.区别阶段评审的与同行评审
同行评审目的:发现小规模工作产品的错误,只要是找错误;
阶段评审目的:评审模块 阶段作品的正确性 可行性 及完整性
同行评审人数:3-7人 人员必须经过同行评审会议的培训,由SQA指导
阶段评审人数:5人左右 评审人必须是专家 具有系统评审资格
同行评审内容:内容小 一般文档 < 40页, 代码 < 500行
阶段评审内容: 内容多,主要看重点
同行评审时间:一小部分工作产品完成
阶段评审时间: 通常是设置在关键路径的时间点上。
2.什么是软件测试
最简单的说:为了发现程序中的错误而执行程序的过程
3简述集成测试的过程
系统集成测试主要包括以下过程:
1. 构建的确认过程。
2. 补丁的确认过程。
3. 系统集成测试测试组提交过程。
4. 测试用例设计过程。
5. 测试代码编写过程。
6. Bug的报告过程。
7. 每周/每两周的构建过程。
8. 点对点的测试过程。
9. 组内培训过程。
十八、 综合题(1×20=20分)
1. Program triangle2
2. Dim a,b,c As Integer
3. Dim IsATriangle As Boolean
4. Output(“Enter 3 integers which are sides of a triangle”)
5. Input(a,b,c)
6. Output(“Side A is ”,a)
7. Output(“Side B is ”,b)
8. Output(“Side C is ”,c)
9. If (a10. Then IsATriangle =True
11. Else IsATriangle =False
12. EndIf
13. If IsATrangle
14. Then if(a=b)AND (b=c)
15. Then Output(“Equilateral”)
16. Else If(a<>b)AND(a<>c)AND(b<>c)
17. Then Output(“Scalence”)
18. Else Output(“Isosecles”)
19. EndIf
20. EndIf
21.Else Output(“NOT a Triangle”)
22.EndIf
23.End triangle2
圈复杂度是 5。
基本路径 (略)。
选择题(每题2 分,共20分)请将答案填入题后括号中。
1.从供选择的答案中选出应填入下列( )中的字句。
软件测试的目的是( A )。为了提高测试的效率,应该( B )。使用白盒测试方法时,确定测试数据应根据( C )和指定的覆盖标准。与设计测试数据无关的文档是( D )。
软件的集成测试工作最好由( E )承担,以提高集成测试的效果。
供选择的答案:
A. ① 评价软件的质量 ② 发现软件的错误
③ 找出软件中的所有错误 ④ 证明软件是正确的
B. ① 随机地选取测试数据
② 取一切可能的输入数据作为测试数据
③ 在完成编码以后制定软件的测试计划
④ 选择发现错误的可能性大的数据作为测试数据
C. ① 程序的内部逻辑 ② 程序的复杂程度
③ 使用说明书 ④ 程序的功能
D. ① 该软件的设计人员 ② 程序的复杂程度
③ 源程序 ④ 项目开发计划
E. ① 该软件的设计人员 ② 该软件开发组的负责人
③ 该软件的编程人员 ④ 不属于该软件开发组的软件设计人员
2.请从供选择的答案中选出应填入下列( )中的字句。
程序的三种基本控制结构是( A )。它们的共同点是( B )。结构化程序设计的一种基本方法是( C )。软件测试的目的是( D )。软件调试的目的是( E )。
供选择的答案:
A. ① 过程,子程序,分程序 ② 顺序,条件,循环
③ 递归,堆栈,队列 ④ 调用,返回,转移
B. ① 不能嵌套使用 ② 只能用来写简单的程序
③ 已经用硬件实现 ④ 只有一个入口和一个出口
C. ① 筛选法 ② 递归法 ③ 归纳法 ④ 逐步求精法
D. ① 证明程序中没有错误 ② 发现程序中的错误
③ 测量程序的动态特性 ④ 检查程序中的语法错误
E. ① 找出错误所在并改正之 ② 排除存在错误的可能性
③ 对错误性质进行分类 ④ 统计出错的次数
3.从下列关于软件测试的叙述中,选出5条正确的叙述。
(1) 用黑盒法测试时,测试用例是根据程序内部逻辑设计的。
(2) 尽量用公共过程或子程序去代替重复的代码段。
(3) 测试是为了验证该软件已正确地实现了用户的要求。
(4) 对于连锁型分支结构,若有n个判定语句,则有2n条路径。
(5) 尽量采用复合的条件测试,以避免嵌套的分支结构。
(6) GOTO语句概念简单,使用方便,在某些情况下,保留GOTO语句反能使写出的程序更加简洁。
(7) 发现错误多的程序模块,残留在模块中的错误也多。
(8) 黑盒测试方法中最有效的是因果图法。
(9) 在做程序的单元测试时,桩(存根)模块比驱动模块容易编写。
(10) 程序效率的提高主要应通过选择高效的算法来实现。
4.从供选择的答案中选出同下列关于软件测试的各条叙述关系最密切的字句。
A.对可靠性要求很高的软件,例如操作系统,由第三者对源代码进行逐行检查。
B.已有的软件被改版时,由于受到变更的影响,改版前正常的功能可能发生异常,性能也可能下降。因此,对变更的软件进行测试是必要的。
C.在意识到被测试模块的内部结构或算法的情况下进行测试。
D.为了确认用户的需求,先做出系统的主要部分,提交给用户试用。
E.在测试具有层次结构的大型软件时,有一种方法是从上层模块开始,由上到下进行测试。此时,有必要用一些模块替代尚未测试过的下层模块。
供选择的答案:
A~E: ① 仿真器 ② 代码审查 ③ 模拟器 ④ 桩 ⑤ 驱动器
⑥ 域测试 ⑦ 黑盒测试 ⑧ 原型 ⑨ 白盒测试 ⑩ 退化测试
二、填空题:共4小题10个空格,每个空格2分,满分20分;请将答案填入指定的空白处。
24. 对面向过程的系统采用的集成策略有_、_两种。
25. 软件测试主要分为_、__、_、_四类测试。
26. 黑盒测试用例设计方法包括__、_以及_,错误推测法等。
27. 测试工作就是进行输入、接受输出、检验结果,不深入代码细节,这样的测试方法称为_,
三、判断题:共10小题,每小题1分,满分10分;请将答案以“√”、“×”形式填入题后括号中。
1. 好的测试员不懈追求完美。( )
2. 测试程序仅仅按预期方式运行就行了。( )
3. 不存在质量很高但可靠性很差的产品。( )
4. 在没有产品说明书和需求文档的条件下可以进行动态黑盒测试。( )
5. 静态白盒测试可以找出遗漏之处和问题。( )
6. 测试错误提示信息不属于文档测试范围。( )
7. 单元测试能发现约80%的软件缺陷。( )
8. 代码评审是检查源代码是否达到模块设计的要求。( )
9. 自顶向下集成需要测试员编写驱动程序。( )
10. 总是首先设计黑盒测试用例。( )
四、名词解释;共5小题,每小题3分,满分15分
1.验收测试2.失败测试3.驱动模块4. 桩模块5. 白盒测试
五、简答题:共3小题,每小题5分,满分15分。
1. 怎样做好文档测试?
2. 什么是软件测试?软件测试与调试有什么区别?
3. 软件测试包括哪些类型的测试?这些测试之间的区别是什么?
六、:综合题:共1小题,每小题20分,满分20分。
针对以下问题:某一种8位计算机,其十六进制常数的定义是以0x或0X开头的十六进制整数,其取值范围为-7f~7f(不区分大小写字母),如0x13、0x6A、-0x3c。请采用等价类划分的方法设计测试用例。
软件测试技术(D卷)答案及评分标准
十九、 单选题(20×1=20分)
题号 | 1A | 1B | 1C | 1D | 1E | 2A | 2B | 2C | 2D | 2E |
---|---|---|---|---|---|---|---|---|---|---|
答案 | ② | ④ | ① | ④ | ④ | ② | ④ | ④ | ② | ① |
题号 | 3 | 3 | 3 | 3 | 3 | 4A | 4B | 4C | 4D | 4E |
答案 | (4) | (5) | (6) | (7) | (10) | ② | ⑩ | ⑨ | ⑧ | ④ |
二十、 填空题(20×1=20分)
1. 自顶向下集成、自底向上集成
2. 单元测试、集成测试、系统测试、验收测试
3. 等价类划分、边界值分析、因果图
4. 黑盒测试
二十一、 判断题(10×1=10分)
题号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|
答案 | × | × | √ | √ | √ | × | √ | √ | × | √ |
二十二、 名词解释(5×3=15分)
1.验收测试
是软件产品完成了功能测试和系统测试之后,在产品发布之前所进行的软件测试活动。
2.失败测试
纯粹为了破坏软件而设计和执行的测试案例,被称为失败测试。
3.驱动模块
驱动模块就是用来代替主模块,用它来调用子模块
4. 桩模块
集成测试前要为被测模块编制一些模拟其下级模块功能的“替身”模块,以代替被测模块的接口,接受或传递被测模块的数据,这些专供测试用的“假”模块称为被测模块的桩模块。
5.白盒测试
也称为结构化测试、基于代码的测试,是一种测试用例设计方法,它从程序的控制结构导出测试用例。
二十三、 简答题(3×5=15分)
1. 仔细阅读,跟随每个步骤,检查每个图形,尝试每个示例。
检查文档的编写是否满足文档编写的目的
内容是否齐全,正确
内容是否完善
标记是否正确
2. 软件测试是为了发现错误而执行程序的过程。或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程。
软件测试与调试在目的、技术和方法等方面存在很大的区别,主要表现在如下方面:
(1) 测试是为了发现软件中存在的错误;调试是为了证明软件开发的正确性。
(2) 测试以已知条件开始,使用预先定义的程序,且有预知的结果,不可预见的仅是程序是否通过测试;调试一般是以不可知的内部条件开始,除统计性调试外,结果是不可预见的。
(3) 测试是有计划的,需要进行测试设计;调试是不受时间约束的。
(4) 测试经历发现错误、改正错误、重新测试的过程;调试是一个推理的过程。
(5) 测试的执行是有规程的;调试的执行往往要求开发人员进行必要推理以至知觉的”飞跃”。
(6) 测试经常是由独立的测试组在不了解软件设计的条件下完成的;调试必须由了解详细设计的开发人员完成。
(7) 大多数测试的执行和设计可以由工具支持;调式时,开发人员能利用的工具主要是调试器。
3.软件测试包括单元测试、集成测试、确认测试和系统测试等。单元测试集中于单个模块的功能和结构的检验;集成测试集中于模块组合的功能和软件结构检验;确认测试主要检查软件是否符合合同要求,包括需求规格说明、设计规格说明和用户手册等;系统测试集中检验系统所有元素之间协作是否合适,整个系统的性能和功能是否达到。
六.综合题(1×20=20分)
输入条件 | 有效等价类 | 无效等价类 | ||
---|---|---|---|---|
开头字符 | 由0x或0X开头 | (1) | 以字母开头 以非0数字开头 | (2)(3) |
数值字符 | 数字或A—F的字母 | (4) | A—F以外的字母 | (5) |
数值字符个数 | ≥1个 | (6) | 0个 | (7) |
数值 | ≥-7f且≤7f | (8) | <-7f >7f |
(9)(10) |
用例1:0x7F, 覆盖等价类(1)(4)(6)(8)
用例2:-0Xb, 覆盖等价类(1)(4)(6)(8)
用例3:0X0, 覆盖等价类(1)(4)(6)(8)
用例4:0x, 覆盖等价类(1)(7)
用例5:A7, 覆盖等价类(2)
用例6:-1A, 覆盖等价类(3)
用例7:0X8h, 覆盖等价类(1)(5)
用例8:0x80, 覆盖等价类(1)(4)(10)
用例9:-0XaB, 覆盖等价类(1)(4)(9)