1、 天津理工大学考试华信软件学院 《软件测试》期末考试复习提纲 2018年4月10日 第一部分、考试形式和时间 答题时限: 90 分钟 考试形式:闭卷笔试 第二部分、考试题型和得分构成 大题号 总分 一 二 三 四 五 100 20 10 10 30 30 一、选择题:对每一道小题,从其4个备选答案中选择最适合的一项,每小题2分,共10道小题,20分。 二、填空题:每空1分,共5道小题,10个空白处待填,10分。 三、判断题:每一道小题均以陈述语句描述,对的打√,错的打х。每小题1分,共10道小题,10分。
2、
四、简答题:简单回答一些基本概念,每小题5分,共6道小题,30分。
五、分析设计题:每小题15分,共2道小题,30分。
第三部分、考试复习范围
一、选择题
1. 假定10 3、种逻辑覆盖。满足条件判定覆盖级别的测试用例也是满足什么级别的覆盖?
语句覆盖、判定覆盖、条件覆盖、条件判定组合覆盖
5. 白盒测试在源程序代码中进行插桩时,设置插桩的合适位置有哪些?
• 程序的开始,即程序块的第1个可执行语句之前
• 2)转移指令之前
• for,do ,do-while,do until 等循环语句处。
• if, else if, else及end if等条件语句各分支处。
• 输入/输出语句之后。
• 函数、过程、子程序调用语句之后。
• 3)标号之前。
• 4)程序的出口
• return语句之后,call语句之后
6.下述说法中错误的 4、是哪项?
A.单元测试一般采用白盒测试方法
B. 集成测试采用灰盒测试方法
C. 系统测试采用黑盒测试方法
D. 确认测试采用灰盒测试和黑盒测试相结合的方法
7.单元测试的任务是哪些?
模块接口测试
模块局部数据结构测试
模块边界条件测试
覆盖测试
出错处理检测
8.对于软件的β测试,正确的描述是怎样的?
9. 软件测试类型按开发阶段划分是有哪些?
单元测试、集成测试、确认测试、系统测试、验收测试
10. 逻辑路径覆盖法是白盒测试用例的重要设计方法,其中语句覆盖法是较为常用的方法,针对给定小语句段,采用语句覆盖法完成测试 5、用例设计。
11. 软件测试的对象包括有哪些?
源程序、目标程序数据和相关文档
12.某公司采用的软件开发过程通过了CMM的等级认证,各级别的主要内容是怎样的?
初始级、可重复级、已定义级、已管理级、优化级
13.软件测试按实施组织分,应该包括哪些内容?
开发方测试②用户方测试③第三方测试
15.验收测试是一种属于按照什么内容划分的测试?
按照测试阶段
16.白盒测试技术的都包括了哪些内容?
18.对于软件的α测试,正确的描述是什么?
19. 单元测试时用于代替被调用模块的是什么模块?
桩模块
20. 例题5-1中,哪几组测试用例只满足条件覆盖而不满足判定覆盖?
6、
21. 软件测试的目的是什么?
22.从软件内部结构和具体实现的角度划分软件测试种类,分为哪几种?
23.下述说法错误的是哪个?
A.单元测试又称为模块测试,是针对软件测试的最小单位-程序模块进行正确性检验的测试工作
B.集成测试也叫做组装测试,通常在编码完成的基础上,将所有的程序模块进行有序的、递增的测试
C.集成测试是检验程序单元或部件的接口关系,逐步集成为符合概要设计要求的程序部件或整个系统
D.系统测试是在真实或模拟系统运行环境下,检查完整的程序系统能否和相关硬件、外设、网络、系统软件和支持平台等正确配置与连接,并满足用户需求
25. 黑盒测试是通过软件的外部表现 7、来发现软件缺陷和错误的测试方法,其测试用例设计技术包括哪些?
27.用边界值分析法,假定1 8、有哪几种方法?
因果图法
3. 条件判定覆盖定义是什么?
4. 按是否查看源代码划分,软件测试分为哪些种?
5. 测试方法的三维空间指的是什么?
测试目标、测试方法、测试阶段
6.软件缺陷由哪个方面的原因导致而成?
软件开发过程自身特点造成
软件项目管理的问题
团队工作的问题
7.软件的动态测试方法由哪三部分组成?
构造测试用例、执行程序、分析程序的输出结果
8. 条件组合覆盖的定义
判定条件覆盖是设计足够的测试用例,得使判断中每个条件的所有可能取值至少执行一次,同时每个判断本身所有可能结果也至少执行一次。缺点是忽略了条件的组合情况
10. 数据库测试一般包括哪些内 9、容?
数据库连接测试
数据库的健壮性。容错性和恢复能力测试
数据库的安全测试
数据库的性能测试
数据库的容量测试
数据库对象测试
11.修正条件判断覆盖的定义。
13. 确认测试又称什么?用于验证软件哪些内容?
有效性测试、
14. 回归测试的两个策略分别是什么?
完全重复测试和选择性重复测试
15. 软件过程的质量管理评估标准主要有几大体系?分别是什么?
三、判断题
1. 如果用等价类中的一个元素作为测试数据进行测试不能发现程序中的故障,那么使用集合中的其它元素进行测试能否发现程序故障? ✔
2. 边界值分析是作为等价类划分方法的补充吗?✔
3. 测试是为了 10、证明程序无错误吗?×
4. 性能测试和功能测试都属于白盒测试吗?×
5. 自底向上测试中要编写桩模块以模拟被测模块的下级模块?×
6. 如果紧急开发软件产品的话,可以跳过模块测试而直接进行集成测试吗?不能
7. 一个程序切片是指什么?
8. 单元测试是对何进行的测试?
9. 在动态白盒测试中,有几种覆盖?各自的特点是什么?
六种
10. 嵌入式系统能同时为软件提供执行环境和开发环境?不能
11. 吞吐量是指网络上传输数据量的总和吗?错
12. 回归测试是一种验证已变更系统的完整性与正确性的测试技术吗?
13. 性能测试和功能测试都属于黑盒测试?错
14. 第三方测试也称 11、独立测试,是由谁来进行的测试?
15. 测试用例的内容包括测哪些?
16. 集成测试又名组装测试,是根据什么进行的测试?
17. 确认测试是验证软件的功能和性能及其他特性是否与用户的要求一致吗?
18. 等价类划分为哪几种情况?
19. 软件测试设计规格说明文档用于描述什么内容?
20. 方法间测试是对类测试的第几个层次的测试,属于哪种测试?
21. 数据库完整测试指的是什么?
22. 点击率是指的什么?
23. 响应时间是指“对请求做出响应所需要的时间”,主要由网络传输时间所决定。对吗?
24. 程序的控制流图是对程序流程图的细化吗?
25. 程序插桩是指通过向被测 12、程序中插入一些语句,实现对程序语句的执行、变量的变化等情况进行测试。对吗?
26. 休眠时间又称为什么?值得什么含义?
27. 路径覆盖比语句覆盖、判定覆盖、条件覆盖和条件判定覆盖等几种逻辑覆盖方法覆盖率都怎样?有什么特点?
28. 压力测试也被看做是负载测试的一种特殊情况,是指的什么情况?
31. .什么是黑盒测试(Black-box testing)?什么是静态与动态黑盒测试?
32. 什么是白盒测试(White-box testing)?什么是静态与动态白盒测试?
33. 什么是桩模块?程序中哪些不是设置插桩的合适位置?
34. 在动态白盒测试中,最全面的代码覆盖是哪种 13、覆盖?
路径
四、简答题:
1. 软件测试工作可以分为哪几个方面?
测试计划、测试设计、测试执行、测试评估
2. 软件测试中的误区?
软件开发完成后才进行测试、软件开发完成后发现软件问题是测试人员的责任、软件测试人员不需要具备很高的技能、测试是测试人员的工作和开发人员无关、由项目进度决定测试工作量。
3. 麦凯布的计算程序独立路径数公式是怎么回事?
控制流图的圈复杂度V(G)=E-N+2,E是流图中边的数量,N是流图中节点的数量,圈复杂度的数量等于独立路径条数。
4. 简述CMM模型有哪些等级?
初始级、可重复级、已定义级、已管理级、优化级
5. 网站测试都包括哪些领域 14、至少列出4个)?
用户界面测试、链表测试、表单测试、兼容性测试、网络配置测试、负载测试、安全测试
6. 软件测试的生命周期是如何定义的?
1. “识别需求”阶段
2. “方案设计”阶段
3. “项目执行”阶段
4. “项目收尾”阶段
7. 对程序代码进行静态白盒测试时,要注意检查那些类错误(至少列出4个)?
数据引用错误、数据声明错误、计算错误、比较错误、控制流程错误、子程序参数错误、输入/输出错误
8. 面向对象分析测试分为哪些方面?
9.简述文档测试的灵活性是如何表现的?
10.黑盒测试中,使用判定表设计测试用例的具体步骤是怎样的?
11. 软件测试 15、是按照哪些阶段划分的?
12.因果图中约束是指输入输出状态之间存在的依赖关系,具体包括有哪些?
(1) E约束(Exclusive,异):a和b中至多有一个可能为1,即a和b不能同时为1。
(2) I约束(Inclusive,或):a、b和c中至少有一个是1,即a、b和c不能同时为0。
(3) O约束(One and Only,唯一):a和b必须有一个,且仅有一个为1。
(4) R约束(Require,要求):a是1时,结果b是1。
(5) M约束(Masks,强制):a是1时,结果b是0。
13.软件缺陷的来源有哪些?
软件开发过程自身的特点造成
(2)软件项目管理的 16、问题
(3)团队工作的问题
15.集成测试中的自底向上增量式测试方法的具体实现步骤是什么?
16.用决策表设计测试用例适合于哪些条件?
17.软件测试按照执行状态划分为哪些种类?按照测试技术划分为哪些种类?
执行状态:
测试技术:静态、动态
18.回归测试的流程包括有哪些步骤?
20. 测试桩和测试驱动有何差别?
测试桩用于自顶向下的测试,测试驱动用于自底向上的测试。
五、分析设计题:
1.针对给定程序段,指出错误原因并根据边界条件把出错的语句改写为正确的程序语句(参考课件例子4-6)。
根据上述分析改正代码:
for(int i=0;i<10;i++){
17、
data[i]=-1;
}
2.把给定的简单程序流程图转化成控制流图,计算出其环形复杂度,并由此导出其基本路径集(即其包含了哪几条独立路径,参考例子5-3)。
3. 根据给定网站数据,写出计算访问该网站的平均并发用户数和并发用户数的峰值的公式,解释公式中每个变量的含义,并计算出访问该网站的平均并发用户数和并发用户数的峰值(参考例子6-1)。
C = nL / T (6.1) 或简化为 C ≈ C + 3√C (6.2)
式6.1中,C是平均的并发用户数,n是登录会话的数量,L是登录会话的平均长度,T是考查的时间段长度。式6.2给出了并发用户数峰值。
4.用于数 18、据流异常检测的程序插装(参考例子5-5)。
5.对给定程序段,采用切片技术分别得到某个变量的切片代码(参考课件5.5.2节)。
本例为一个BASIC程序,根据输入的变量x和y值,确定是否输入变量z的值,并分别计算sum和total的值,输出结果。现在要做关于变量z的值在语句12的切片,影响z值的语句有2和5,因此得到切片s1如下图:
1. begin 1 begin
2. read (x, y); 2 read (x, y);
3. to 19、tal :=0.0; 3 if x<=1
4. sum :=0.0; 4 then
5. if x<=1 5 else begin
6. then sum :=y 6 read (z);
7. else begin 7 end;
8. read (z); 20、 8 end.
9. total :=x*y;
10. end;
11. write (total, sum);
12. end.
同样,要得到total值在语句12的切片s2,则只需考虑如下程序:
1 begin
2 read (x, y);
3 total :=0.0;
5 if x<=1
6 then
7 else begin
9 total :=x*y;
10 end;
12 end.






