数据流测试-东大软件学院内部课件资料教程

上传人:小** 文档编号:88220072 上传时间:2019-04-21 格式:PPT 页数:33 大小:184.01KB
返回 下载 相关 举报
数据流测试-东大软件学院内部课件资料教程_第1页
第1页 / 共33页
数据流测试-东大软件学院内部课件资料教程_第2页
第2页 / 共33页
数据流测试-东大软件学院内部课件资料教程_第3页
第3页 / 共33页
数据流测试-东大软件学院内部课件资料教程_第4页
第4页 / 共33页
数据流测试-东大软件学院内部课件资料教程_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《数据流测试-东大软件学院内部课件资料教程》由会员分享,可在线阅读,更多相关《数据流测试-东大软件学院内部课件资料教程(33页珍藏版)》请在金锄头文库上搜索。

1、什么是数据流测试?,东北大学软件学院,数据流测试指关注变量接收值的点和使用(或引用)这些值的点的结构性测试形式。,数据流测试指关注可以用作路径测试的“真实性检查”。,数据流测试两种基本方法: 一组基本定义和一种统一的测试覆盖指标结构测试; 基于“程序片”的概念的测试。,定义/使用测试,东北大学软件学院,定义引用拥有程序图G(P)的程序P和一组程序变量v。 P中的所有路径集合是PATHS(P)。,定义节点,东北大学软件学院,定义 节点n G(P)是变量v V的定义节点,记做DEF(v,n),当且仅当变量v的值由对应节点n的语句片段处定义。,输入语句、赋值语句、循环控制语句和过程调用,都是定义节点

2、语句的例子。如果执行对应这种语句的节点,那么与该变量关联的存储单元的内容就会改变。,使用节点,东北大学软件学院,定义 节点n G(P)是变量v V的使用节点,记做USE(v,n),当且仅当变量v的值在对应节点n的语句片段处使用。,语句、赋值语句、条件语句、循环控制语句和过程调用,都是使用节点语句的例子。如果执行对应这种语句的节点,那么与该变量关联的存储单元的内容会保持不变。,谓词使用和计算使用,东北大学软件学院,定义 使用节点USE(v,n)是一个谓词使用(记做P-use),当且仅当语句n是谓词语句;否则,USE(v,n)是计算使用(记做C-use)。,对应于谓词使用的节点永远有外度=2,对应

3、于计算使用的节点永远有外度=1。,定义-使用路径,东北大学软件学院,定义 关于变量v的定义一使用路径(记做du-path)是PATHS(P)中的路径,使得对某个vV,存在定义和使用节点DEF(v,m)和USE(v,n),使得m和n是该路径的最初和最终节点。,定义-清除路径,东北大学软件学院,定义 关于变量v的定义清除路径(记做dc-path),是具有最初和最终节点DEF(v,m)和USE(v,n)的PATHS(P)中的路径,使得该路径中没有其他节点是v的定义节点。,佣金问题的程序图,8,9,10,11,12,7,13,14,15,16,17,18,19,21,22,23,24,25,20,26

4、,27,28,29,30,34,31,32,33,35,38,36,37,39,40,41,42,佣金问题变量的定义/使用节点,东北大学软件学院,lockPrice、stockPrice和barrelPrice定义/使用路径,东北大学软件学院,locks、stocks和barrels的定义/使用路径,东北大学软件学院,totalLocks的定义/使用路径,东北大学软件学院,sales的定义/使用路径,东北大学软件学院,commission的定义/使用路径,全定义准则,东北大学软件学院,定义 集合T满足程序P的全定义准则,当且仅当所有变量vV,T包含从v的每个定义节点到v的一个使用的定义清除路径

5、。,T是拥有变量集合V的程序p的程序图G(p)中的一个路径集合 。,全使用准则,东北大学软件学院,定义 集合T满足程序p的全使用准则,当且仅当所有变量vV,T 包含从v的每个定义节点到v的所有使用,以及到所有USE(v,n)后续节点的定义清除路径。,全谓词使用部分计算使用准则,东北大学软件学院,定义 集合T满足程序p的全谓词使用部分计算使用准则,当且仅当所有变量v V,T包含从v的每个定义节点到v的所有谓词使用的定义清除路径,并且如X-v的一个定义没有谓词使用,则定义清除路径导致至少一个计算使用。,全计算使用部分谓词使用准则,东北大学软件学院,定义 集合T满足程序P的全计算使用部分谓词使用准则

6、,当且仅当所有变量vv,T包含从v的每个定义节点到v的所有计算使用的定义清除路径,并且如果v的一个定义没有计算使用,则定义清除路径导致至少一个谓词使用。,全定义-使用路径准则,东北大学软件学院,定义 集合T满足程序p的全定义一使用路径准则,当且仅当所有变量v V,T包含从v的每个定义节点到v的所有使用,以及到所有USE(v,n)后续节点的定义清除路径,并且这些路径要么有一次的环经过,要么没有环路。,数据流覆盖指标Rapps/Weyuker层次结构,东北大学软件学院,全路径,全定义-使用路径,全使用,全计算使用/部分谓词使用,全谓词使用/部分计算使用,全定义,全谓词使用,全边,全节点,基于程序片

7、的测试,东北大学软件学院,定义 给定一个程序P和P中的一个变量集合V,变量集合V在语句n上的一个片,记做S(V,n),是P中对V中的变量值作出贡献的所有语句集合。,定义 给定一个程序P和一个给出语句及语句片段编号的程序图G(P),以及P中的一个变量集合V,变量集合V在语句片段n上的一个片,记做S(V,n),是P中在n以前对V中的变量值作出贡献的所有语句片段编号的集合。,使用节点和定义节点,东北大学软件学院,USE关系适合五种形式的使用: 谓词使用 用在谓词(判断)中。 计算使用 用在计算中。 输出使用 用于输出。 定位使用 用于定位(指针、下标)。 迭代使用 迭代(内部计数器、循环指示)。,标

8、识两种定义节点: 输入定义 通过输入定义。 赋值定义 通过赋值定义。,变量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) =

9、 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(tot

10、alBarrels,12) = 12 S16:S(totalBarrels,18) = 12,13,14,15,18,19,20 S17:S(totalBarrels,23) = 12,13,14,15,18,19,20,赋值定义,东北大学软件学院,S18:S(lockPrice,24) = 7 S19:S(stockPrice,25) = 8 S20:S(barrelPrice,26) = 9 S21:S(lockSales,24)=7,10,13,14,16,19,20,24 S22:S(stockSales,25)=8,11,13,14,15,17,19,20,25 S23:S(barr

11、elSales,26)=9,12,13,14,15,18,19,20,26,Sales上的片,东北大学软件学院,S24:S(sales,27) = 7,8,9,10,11,12,13,14,15,16,17,18,19,20,24,25, 26, 27 S25:S(sales,28) = 7,8,9,10,11,12,13,14,15,16,17,18,19,20,24,25, 26, 27 S26:S(sales,29) = 7,8,9,10,11,12,13,14,15,16,17,18,19,20,24,25, 26, 27 S27:S(sales,33) = 7,8,9,10,11,1

12、2,13,14,15,16,17,18,19,20,24,25, 26, 27 S28:S(sales,34) = 7,8,9,10,11,12,13,14,15,16,17,18,19,20,24,25, 26, 27 S29:S(sales,37) = 7,8,9,10,11,12,13,14,15,16,17,18,19,20,24,25, 26, 27 S30:S(sales,38) = 7,8,9,10,11,12,13,14,15,16,17,18,19,20,24,25, 26, 27,S30 = S10 S13 S16 S21 S22 S23,Commission上的片,东北大

13、学软件学院,S31:S(commission,31) = 31 S32:S(commission,32) = 31,32 S33:S(commission,33) = 7,8,9,10,11,12,13,14,15,16,17,18,19,20, 24, 25, 26, 27, 29, 30, 31, 32, 33 S34:S(commission,36) = 36 S35:S(commission,37) = 7,8,9,10,11,12,13,14,15,16,17,18,19,20,24, 25, 26, 27, 36, 37 S36:S(commission,38) = 7,8,9,1

14、0,11,12,13,14,15,16,17,18,19,20,24, 25, 26, 27, 29, 34, 38 S37:S(commission,41) = 7,8,9,10,11,12,13,14,15,16,17,18,19,20, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,commission上的片格,东北大学软件学院,sales和commission上的格,东北大学软件学院,风格与技术,东北大学软件学院,1永远不要在不出现在语句片段n里的V的变量v上建立片S(V,n)。 2在一个变量上建立片。片S(V,n)中的集合V可以包含多个变量,有时这样的片也是有用的。 3对所有赋值定义节点都建立片。 4对谓词使用节点建立片。 5考虑使片可编译。,指导方针与观察,东北大学软件学院,1片不能很好地映射到测试用例上。 2片的相对补可提供诊断能力。 3片格会永远在一个根节点上终止。,总结,东北大学软件学院,定义-使用路径测试 基于程序片的测试,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号