《数据流测试》PPT课件.ppt

上传人:小飞机 文档编号:5519610 上传时间:2023-07-16 格式:PPT 页数:35 大小:309.49KB
返回 下载 相关 举报
《数据流测试》PPT课件.ppt_第1页
第1页 / 共35页
《数据流测试》PPT课件.ppt_第2页
第2页 / 共35页
《数据流测试》PPT课件.ppt_第3页
第3页 / 共35页
《数据流测试》PPT课件.ppt_第4页
第4页 / 共35页
《数据流测试》PPT课件.ppt_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《《数据流测试》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《数据流测试》PPT课件.ppt(35页珍藏版)》请在三一办公上搜索。

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,

4、25,20,26,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的一个使用的定义清除路径。,T是拥有

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

6、v,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、。赋值定义 通过赋值定义。,计算机软件测试,先假设片S(V,n)是一个变量上的片,即集合V由单一变量v组成。如果语句片断n是v的一个定义节点,则n包含在该片中。如果语句片断n是v的使用节点,则n不包含在该片中。其它变量的谓词使用和计算使用(不是片集合V中的v),要包含其执行会影响变量v取值的扩展。作为一种指导方针,如果不管是否包含语句片断,v的值都保持不变,那么排除该语句片断一般把输出使用节点、定位使用节点和迭代使用节点,不包含在片中。,计算机软件测试,变量locks上的片,S1:S(locks,13)=13)S2:S(locks,14)=13,19,20S3:S(locks,16)=13,1

9、4,19,20)S4:S(locks,19)=19,计算机软件测试,变量stocks和barrels上的片,S5:S(stocks,15)=13,14,15,19,20S6:S(stocks,17)=13,14,15,19,20S7:S(barrels,15)=13,14,15,19,20S8:S(barrels,18)=13,14,15,19,20,计算机软件测试,totalLocks、totalStocks和totalBarrels的片,S9:S(totalLocks,10)=10S10:S(totalLocks,16)=10,13,14,16,19,20S11:S(totalLocks,

10、21)=10,13,14,16,19,20 S12:S(totalStocks,11)=11S13:S(totalStocks,17)=11,13,14,15,17,19,20S14:S(totalStocks,22)=11,13,14,15,17,19,20S15:S(totalBarrels,12)=12S16:S(totalBarrels,18)=12,13,14,15,18,19,20S17:S(totalBarrels,23)=12,13,14,15,18,19,20,计算机软件测试,赋值定义,S18:S(lockPrice,24)=7S19:S(stockPrice,25)=8S2

11、0:S(barrelPrice,26)=9S21:S(lockSales,24)=7,10,13,14,16,19,20,24S22:S(stockSales,25)=8,11,13,14,15,17,19,20,25S23:S(barrelSales,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,27S25:S(sales,28)=7,8,9,10,11,12,13,14,15,16,17,18,19,20,24,25

12、,26,27S26:S(sales,29)=7,8,9,10,11,12,13,14,15,16,17,18,19,20,24,25,26,27S27:S(sales,33)=7,8,9,10,11,12,13,14,15,16,17,18,19,20,24,25,26,27S28:S(sales,34)=7,8,9,10,11,12,13,14,15,16,17,18,19,20,24,25,26,27S29:S(sales,37)=7,8,9,10,11,12,13,14,15,16,17,18,19,20,24,25,26,27S30:S(sales,38)=7,8,9,10,11,12

13、,13,14,15,16,17,18,19,20,24,25,26,27,S24=27 S21 S22 S23,计算机软件测试,Commission上的片,S31:S(commission,31)=31S32:S(commission,32)=31,32S33: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,33S34:S(commission,36)=36S35:S(commission,37)=7,8,9,10,11,12,13,14,15,16,17,18,19,20,24,2

14、5,26,27,29,34,35,36,37S36:S(commission,38)=7,8,9,10,11,12,13,14,15,16,17,18,19,20,24,25,26,27,29,34,38S37: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片格会永远在一个根节点上终止。,计算机软件测试,总结,定义-使用路径测试 基于程序片的测试,计算机软件测试,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号