第十章 数据流测试

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

什么是数据流测试?东北大学软件学院数据流测试指关注变量接收值的点和使用(或引用)这些值的点的结构性测试形式。数据流测试指关注可以用作路径测试的“真实性检查”。数据流测试两种基本方法:1.一组基本定义和一种统一的测试覆盖指标结构测试;2.基于“程序片”的概念的测试。定义/使用测试东北大学软件学院定义引用拥有程序图G(P)的程序P和一组程序变量v。P中的所有路径集合是PATHS(P)。定义节点东北大学软件学院定义节点n∈G(P)是变量v∈V的定义节点,记做DEF(v,n),当且仅当变量v的值由对应节点n的语句片段处定义。输入语句、赋值语句、循环控制语句和过程调用,都是定义节点语句的例子。如果执行对应这种语句的节点,那么与该变量关联的存储单元的内容就会改变。使用节点东北大学软件学院定义节点n∈G(P)是变量v∈V的使用节点,记做USE(v,n),当且仅当变量v的值在对应节点n的语句片段处使用。语句、赋值语句、条件语句、循环控制语句和过程调用,都是使用节点语句的例子。如果执行对应这种语句的节点,那么与该变量关联的存储单元的内容会保持不变。谓词使用和计算使用东北大学软件学院定义使用节点USE(v,n)是一个谓词使用(记做P-use),当且仅当语句n是谓词语句;否则,USE(v,n)是计算使用(记做C-use)。对应于谓词使用的节点永远有外度=2,对应于计算使用的节点永远有外度=1。定义-使用路径东北大学软件学院定义关于变量v的定义一使用路径(记做du-path)是PATHS(P)中的路径,使得对某个v∈V,存在定义和使用节点DEF(v,m)和USE(v,n),使得m和n是该路径的最初和最终节点。定义-清除路径东北大学软件学院定义关于变量v的定义清除路径(记做dc-path),是具有最初和最终节点DEF(v,m)和USE(v,n)的PATHS(P)中的路径,使得该路径中没有其他节点是v的定义节点。佣金问题的程序图891011127131415161718192122232425202627282930343132333538363739404142佣金问题变量的定义/使用节点东北大学软件学院变量定义节点使用节点lockPrice724stockPrice825barrelPrice926totalLocks10,1616,21,24totalStocks11,1717,22,25totalBarrels12,1818,23,26locks13,1914,16stocks1517barrels1518lockSales2427stockSales2527barrelSales2627sales2728,29,33,34,37,38commission31,32,33,36,37,3832,33,37,41lockPrice、stockPrice和barrelPrice定义/使用路径东北大学软件学院变量路径节点是定义清除嘛?lockPrice7,…,24是stockPrice8,…,25是barrelPrice9,…,26是locks、stocks和barrels的定义/使用路径东北大学软件学院变量路径节点是定义清除嘛?locks13,14是locks13,14,15,16是locks19,20,14是locks19,20,14,15,16是stocks15,…,17是barrels15,…,18是totalLocks的定义/使用路径东北大学软件学院变量路径节点是定义清除嘛?totalLocks10,16是totalLocks10,21否totalLocks10,24否totalLocks16,16totalLocks16,21是totalLocks16,24是sales的定义/使用路径东北大学软件学院变量路径节点是定义清除嘛?sales27,28是sales27,29是sales27,33是sales27,28,29,34是sales27,28,29,34,35,36,37是sales27,28,29,38是commission的定义/使用路径变量路径节点是否可行?是定义清除嘛?commission31,32是是commission31,33是否commission31,37否-commission31,41是否commission32,32是是commission32,33是是commission32,37否-commission32,41是否commission33,32否-commission33,33是是commission33,37否-commission33,41是是commission36,32否-commission36,33否-commission36,37是是commission36,41是否commission37,32否-commission37,33否-commission37,37是是commission37,41是是commission38,32否-commission38,33否-commission38,37否-commission38,41是是全定义准则东北大学软件学院定义集合T满足程序P的全定义准则,当且仅当所有变量v∈V,T包含从v的每个定义节点到v的一个使用的定义清除路径。T是拥有变量集合V的程序p的程序图G(p)中的一个路径集合。全使用准则东北大学软件学院定义集合T满足程序p的全使用准则,当且仅当所有变量v∈V,T包含从v的每个定义节点到v的所有使用,以及到所有USE(v,n)后续节点的定义清除路径。全谓词使用/部分计算使用准则东北大学软件学院定义集合T满足程序p的全谓词使用/部分计算使用准则,当且仅当所有变量v∈V,T包含从v的每个定义节点到v的所有谓词使用的定义清除路径,并且如X-v的一个定义没有谓词使用,则定义清除路径导致至少一个计算使用。全计算使用/部分谓词使用准则东北大学软件学院定义集合T满足程序P的全计算使用/部分谓词使用准则,当且仅当所有变量v∈v,T包含从v的每个定义节点到v的所有计算使用的定义清除路径,并且如果v的一个定义没有计算使用,则定义清除路径导致至少一个谓词使用。全定义-使用路径准则东北大学软件学院定义集合T满足程序p的全定义一使用路径准则,当且仅当所有变量v∈V,T包含从v的每个定义节点到v的所有使用,以及到所有USE(v,n)后续节点的定义清除路径,并且这些路径要么有一次的环经过,要么没有环路。数据流覆盖指标Rapps/Weyuker层次结构东北大学软件学院全路径全定义-使用路径全使用全计算使用/部分谓词使用全谓词使用/部分计算使用全定义全谓词使用全边全节点基于程序片的测试东北大学软件学院定义给定一个程序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(totalBarrels,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(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,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,12,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∪S23Commission上的片东北大学软件学院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,10,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上的片格东北大学软件学院S37S35S34S33S36S32S31sales和commission上的格东北大学软件学

1 / 33
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功