十一、 简答题(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. 程序数据流分析