习 题
一、选择题
(1)为了提高测试的效率,应该( )。
A.随机地选取测试数据
B.取一切可能的输入数据作为测试数据
C.在完成编码以后制定软件的测试计划
D.选择发现错误的可能性大的数据作为测试数据
(2)软件测试的目的是( )。
A.评价软件的质量
B.发现软件的错误
C.找出软件中的所有错误
D.证明软件是正确的
(3)单元测试一般以白盒为主,测试的依据是( )。
A.模块功能规格说明
B.系统模块结构图
C.系统需求规格说明D.A
BC都可以
(4)软件的集成测试工作最好由( )承担,以提高集成测试的效果。
A.该软件的设计人员
B.该软件开发组的负责人
C.不属于该软件开发组的软件设计人员
D.该软件的编程人员
(5)下列关于α、β测试的描述中正确的是( )。
A.α测试不需要用户代表参加
B.β测试不是验收测试的一种
C.α测试需要用户代表参加
D.β测试是系统测试的一种
(6)软件测试用例主要由输入数据和( )两部分组成。
A.测试计划
B.测试规则
C.预期输出结果
D.以往测试记录分析
(7)在黑盒测试中,着重检查输入条件组合的方法是( )。
A.等价类划分法
B.边界值分析法
C.错误推测法
D.因果图法
(8)黑盒测试是从( )观点的测试,白盒测试是从( )观点的测试。
A.开发人员、管理人员
B.用户、管理人员(https://www.daowen.com)
C.用户、开发人员
D.开发人员、用户
(9)白盒测试法又称为逻辑覆盖法,主要用于( )。
A.验收测试
B.系统测试
C.α测试
D.单元测试
(10)以下哪种测试方法不属于白盒测试技术( )。
A.基本路径测试
B.边界值分析测试
C.循环覆盖测试
D.条件测试
(11)白盒测试法是根据程序的( )来设计测试用例的方法。
A.输出数据
B.内部逻辑
C.功能
D.输入数据
(12)软件调试的目的是( )。
A.找出错误所在并改正之
B.排除存在错误的可能性
C.对错误性质进行分类
D.统计出错的次数
二、简答题
(1)软件测试应该划分为几个阶段?各个阶段应重点测试的内容是什么?
(2)在软件测试中,应遵循哪些原则?
(3)什么是黑盒测试?有哪些常用的黑盒测试方法?
(4)什么是白盒测试?有哪些常用的白盒测试方法?
(5)请对比白盒测试和黑盒测试。
(6)请简述静态测试和动态测试的区别。
(7)什么是集成测试?非增量集成测试与增量集成测试有什么区别?
(8)什么是调试?什么是测试?二者有何区别?
三、应用题
(1)如图6.21所示,Nextdate函数包含3个变量:month、day和year,函数的输出为输入日期后一天的日期。例如,输入为2000年3月3日,则函数的输出为2000年3月4日。要求输入变量month、day和year均为整数值,并且满足条件:1≤month≤12,1≤day≤31,1920≤year≤2050。请运用等价类划分法设计测试用例。

图6.21 Nextdate示意图
(2)用因果图法测试以下程序。程序的规格说明要求:输入的第一个字符必须是A成B,第二个字符必须是一个数字,此情况下进行文件的修改;如果第一个字符不是A或B,则给出信息L,如果第二个字符不是数字,则给出信息M。请运用因果图法设计测试用例。
(3)请把图6.22中的程序流程图转换成控制流图。

图6.22 示例程序流程图