- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2. 如果一个程序有两个输入数据,每个输入都是一个32位的二进制整数,那么这个程序有多少个可能的输入?如果每微秒可进行一次测试,那么对所有可能的输入进行测试需要多长时间?
答:每个32位的二进制整数具有232个可能的值,因此,具有两个整数输入的程序应该具有264个可能的输入。
每微秒可进行一次测试,即每秒可进行106个测试,因此,每天可进行的测试数为:
60×60×24×106=8.64×1010
这等于每年大约可进行3.139×1013个测试。
因为210=1024≈103,所以264=(210)6.4≈1019.2。
,所以做完全部测试将至少需要105年(即10万年)。
4.设计下列伪码程序的语句覆盖和路径覆盖测试用例:
START
INPUT(A,B,C)
IF A5
THEN X=10
ELSE X=1
END IF
IF B10
THEN Y=20
ELSE Y=2
END IF
IF C15
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 组测试数据。下面是实现路径覆盖的典型测试用例:
① 3 个判定表达式之值全为假
输入:A=1,B=1,C=1
预期的输出:X=1,Y=2,Z=3
② 3 个判定表达式依次为假、假、真
输入:A=1,B=1,C=60
预期的输出:X=1,Y=2,Z=30
③ 3 个判定表达式依次为假、真、假
输入:A=1,B=40,C=1
预期的输出:X=1,Y=20,Z=3
④ 3 个判定表达式依次为假、真、真
输入:A=1,B=40,C=60
预期的输出:X=1,Y=20,Z=30
⑤ 3 个判定表达式依次为真、假、假
输入:A=20,B=1,C=1
预期的输出:X=10,Y=2,Z=3
⑥ 3 个判定表达式依次为真、假、真
输入:A=20,B=1,C=60
预期的输出:X=10,Y=2,Z=30
⑦ 3 个判定表达式依次为真、真、假
输入:A=20,B=40,C=1
预期的输出:X=10,Y=20,Z=3
⑧ 3 个判定表达式全为真
输入:A=20,B=40,C=60
预期的输出:X=10,Y=20,Z=30
6. 使用基本路径测试方法,设计测试下面列出的伪码程序的测试用例:
1: START
INPUT(A,B,C,D)
2: IF(A0)
3: AND(B0)
4: THEN X=A+B
5: ELSE X=A-B
6: END
7: IF(CA)
8: OR(DB)
9: THEN Y=C-D
10: ELSE Y=C+D
11: END
12: PRINT(X,Y)
STOP
答:用基本路径测试方法设计测试用例的过程,有下述4个步骤:
根据过程设计的结果画出流图
与本题给出的伪码程序相对应的流图如图4.1所示。
图4.1 与第6 题伪码程序对应的流图
(2)计算流图的环形复杂度
使用下述3 种方法中的任一种都可以算出图4.1所示流图的环形复杂度为5。
该流图共有15条边,12个结点,所以环形复杂度为
15-12+2=5
② 该流图共有5个区域,因此环形复杂度为5。
③ 该流图中共有4个判定结点,因此环形复杂度为
4+1=5
(3)确定线性独立的路径的基本集合
所谓线性独立路径是指至少引入程序的一个新语句集合或一个新条件的路径,用流图术语来描述,独立路径至少包含一条在定义该路径之前不曾用过的边。
使用基本路径测试法设计测试用例时,程序的环形复杂度决定了程序中独立路径的数量,而且这个数值是确保程序中所有语句至少被执行一次所需的测试数量的上界。
对于图4.1 所示流图来说,由于它的环形复杂度为5,因此共有5长独立路径。下面列出了5条独立路径:
路径1:1—2—3—4—6—7—9—11—12
路径2:1—2—5—6
文档评论(0)