4-2结构性测试-数据流测4-2结构性测试-数据流测试4-2结构性测试-数据流测试4-2结构性测试-数据流测试.ppt

4-2结构性测试-数据流测4-2结构性测试-数据流测试4-2结构性测试-数据流测试4-2结构性测试-数据流测试.ppt

  1. 1、本文档共49页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4-2结构性测试-数据流测4-2结构性测试-数据流测试4-2结构性测试-数据流测试4-2结构性测试-数据流测试

* * * * * * * * * * * * * * * * * 集合T满足程序P的全使用(all use)准则,当且仅当 对于所有变量v∈V,T包含从v的每个定义结点到v的所有使用的定义清除路径 * * * * * 全使用覆盖示例 全谓词使用/部分计算使用覆盖准则 集合T满足程序P的全谓词使用(all predicate use)/部分计算使用(some calculation use)准则,当且仅当所有变量v∈V,T包含从v的每个定义结点到v的所有谓词使用的定义清除路径,并且如果v的一个定义没有谓词使用,则到至少一个计算使用有一条定义清除路径 全计算使用/部分谓词使用覆盖准则 集合T满足程序P的全计算使用(all C-use)/部分谓词使用(some P-use)准则,当且仅当所有变量v∈V,T包含从v的每个定义结点到v的所有计算使用的定义清除路径,并且如果v的一个定义没有计算使用,则到至少一个谓词使用有一条定义清除路径 全定义-使用路径覆盖准则 集合T满足程序P的全定义-使用路径(all definition-use-paths, all-du-paths)准则,当且仅当所有变量v∈V,T包含从v的每个定义结点到v的所有使用的定义清除路径,并且这些路径要么有一次环经过,要么没有环路 全使用覆盖与全定义-使用覆盖的区别 结点b定义y,结点c和d使用b所定义的y 全使用覆盖虽然要求检查每个定义的所有可传递到的使用,但对如何从一个定义传递到一个使用不作要求 全定义-使用覆盖要求检查所有可能的路径,但为了避免有环路时的无穷多条路径,限制只检查无环路的或只包含一条环路的路径 朱鸿、金凌紫. 软件质量保障与测试. 北京:科学出版社,1997. 第113页 各种覆盖准则之间的包含关系 练习 写出a变量的定义-使用路径,并判断是否定义清除路径。 1 a=5; 2 While(C1) { 3 if (C2){ 4 b=a*a; 5 a=a-1; 6 } 7 print(a); } 1 2 3 4 5 6 7 程序图 Du-path dc-path 1234 y 12345 y 1234567 n 567234 y 567 y 基于程序片的测试 定义 给定一个程序P和P中的一个变量集合V,变量集合V在语句n上的一个片,记做S(V,n),是P中对V中的变量值作出贡献的所有语句集合。 定义 给定一个程序P和一个给出语句及语句片段编号的程序图G(P),以及P中的一个变量集合V,变量集合V在语句片段n上的一个片,记做S(V,n),是P中在n以前对V中的变量值作出贡献的所有语句片段编号的集合。 使用节点和定义节点 USE关系适合五种形式的使用: 谓词使用 用在谓词(判断)中。 计算使用 用在计算中。 输出使用 用于输出。 定位使用 用于定位(指针、下标)。 迭代使用 迭代(内部计数器、循环指示)。 标识两种定义节点: 输入定义 通过输入定义。 赋值定义 通过赋值定义。 变量locks上的片 S1:S(locks,13)={13) S2:S(locks,14)={13,14,19,20} S3:S(locks,16)={13,14,16,19,20) S4:S(locks,19)={19} 变量stocks和barrels上的片 S5:S(stocks,15) = {13,14,15,19,20} S6:S(stocks,17) = {13,14,15,17,19,20} S7:S(barrels,15) = {13,14,15,19,20} S8:S(barrels,18) = {13,14,15,18,19,20} totalLocks、totalStocks和totalBarrels的片 S9: S(totalLocks,10) = {10} S10:S(totalLocks,16) = {10,13,14,16,19,20} S11:S(totalLocks,21) = {10,13,14,16,19,20} S12:S(totalStocks,11) = {11} S13:S(totalStocks,17) = {11,13,14,15,17,19,20} S14:S(totalStocks,22) = {11,13,14,15,17,19,20} S15:S(totalBarre

您可能关注的文档

文档评论(0)

cxiongxchunj + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档