软件工程——编码与测试习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、填空
二、选择题
1.下例说法中正确的是( A )
A. 测试用例应由输入数据和预期的输出数据两部分组成
B. 测试用例只需选用合理的输入数据
C. 每个程序员最好测试自己的程序
D. 测试用例只需检查程序是否做了应该做的事
2.被测试程序不在机器上运行,而是采用人工检测和计算机辅助静态分析的手段对程序进
行检测,这种测试称为( C )。
A、白盒测试
B、黑盒测试
C、静态测试系统分析员
D、动态测试客户
3.检查软件产品是否符合需求定义的过程称为( A )。
A.确认测试
B. 集成测试
C. 验收测试
D. 验证测试
4.白盒测试属于以下哪种测试?( A )
A. 单元测试
B. 系统测试
C. 集成测试
D. 确认测试
5.独立测试组(ITG)为何比公司内部员工更适合来做一些测试?( D )
A. 他们的水平更高
B. 他们靠找出错误来拿工资
C. 他们很懂得黑盒测试
D. 他们不参与项目的整个过程
6.Beta测试是在以下哪个场所进行的?( A )
A.客户的单位
B. 野外
C. 网络中心
D. 开发者的场所
7.关于软件测试的目的,下面观点错误的是( C )
A. 为了发现错误而执行程序的过程
B. 一个好的测试用例能够发现至今尚未发现的错误
C. 证明程序是正确、没有错误的
D. 一个成功的测试用例是发现了至今尚未发现的错误的测试
8.单元测试的测试对象是()。
A.系统
B. 程序模块
C. 模块接口
D.系统功能
9.系统测试是将软件系统与硬件、外设和网络等其他因素结合,对整个软件系统进行测试。
( A )不是系统测试的内容。
A.路径测试B.可靠性测试C.安装测试D.安全测试
10. 应该在(A )阶段制定系统测试计划。
A. 需求分析
B. 概要设计
C. 详细设计
D. 系统测试
三、分析设计题
1.使用基本路径测试法,测试下列伪码程序的测试用例:
要求1、根据过程画出程序流图 2、计算流图的环形复杂度 3、确定独立路径 4、设计测试用例
INTERFACE RETURNS X,Y;
INTERFACE ACCEPTS A,B,C,D;
1: START
INPUT(A,B,C,D)
2: IF (A>0)
3: AND (B>0)
4: THEN X=A+B
5: ELSE X=A-B
6: END
7: IF (C>A)
8: OR (D
9: THEN Y=C-D
10: ELSE Y=C+D
11: END
12: PRINT(X,Y)
STOP
2. 使用基本路径测试法,测试下列伪码程序的测试用例:
要求1、根据过程画出程序流图 2、计算流图的环形复杂度 3、确定独立路径 4、设计测试用例
2.计算得到的控制流图G的环路复杂性V(G):
V(G)=P+1=3(判定结点数)+1=4
V(G)=E-N+2=10-8+2=4
V(G)=4(区域数)
这里的环路复杂性“4”也代表了构成基本路径集的独立路径,V(G)=4恰好为程序中的独立路径条数。
3.确定线性无关的路径的基本集。由该程序的环路复杂性为4,可确定该图有4条线性无关的基本路径集,分别是:
Path1:4—15
Path2:4—6—7—15
Path3:4—6—9—10—14—4—15
Path4:4—6—9—12—14—4—15
4.生成测试用例,确保基本路径集中每条路径的执行。根据判定结点给出的条件选择适当的数据以保证某一条路径可以被测试到。满足上面基本路径集的测试用例是:
(1)测试用例1——Path1(4—15)
输入数据:iRecordNum=0,或任取iRecordNum<0的某一个值
期望输出结果:x=0
(2)测试用例2——Path2(4—6—7—15)
输入数据:iRecordNum=1,itype=0
期望输出结果:x=2
(3)测试用例3——Path3(4—6—9—10—14—4—15)
输入数据:iRecordNum=1,itype=1
期望输出结果:x=10
(4)测试用例4——Path4(4—6—9—12—14—4—15)
输入数据:iRecordNum=1,itype=2
期望输出结果:x=20
3.有下列伪码程序: 设计该程序的语句覆盖和路径覆盖测试用例。
START
INPUT (M,N)
IF M>=10
THEN X=10
ELSE X=l
ENDIF
IF N>=20
THEN Y=20
ELSE Y=2
ENDIF
PRINT(X,Y)
STOP
方案二
4.有下列伪码程序设计该程序的分支覆盖和条件组合覆盖测试用例。
START
INPUT (A,B,C)
IF A>5
THEN X=10
ELSE X=1
END IF
IF B>10
THEN Y=20
ELSE Y=2
END IF
IF C>15
THEN Z=30
ELSE Z=3
END IF
PRINT (X,Y,Z)
STOP
答:(1) 语句覆盖的测试用例
因为每个判定表达式为真或为假时均有赋值语句,为了使每个语句都至少执行一次,总共需要两组测试数据,以便使得每个判定表达式取值为真或为假各一次。下面是实现语句覆盖的典型测试用例:
①使3 个判定表达式之值全为假输入:A=1,B=1,C=1
预期的输出:X=1,Y=2,Z=3
②使3 个判定表达式之值全为真输入:A=20,B=40,C=60
预期的输出:X=10,Y=20,Z=30
(2)路径覆盖的测试用例
本程序共有8 条可能的执行通路,为做到路径覆盖总共需要8 组测试数据。下面是实现路径覆盖的典型测试用例: