- 1、本文档共18页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
软件测试技术--11程序片测试
程序片这是一个与数据流分析(定义-使用路径)相似的定义,其内容是查看与某些变量相关的程序片,然后追踪程序片中的语句。追踪程序语句,在程序的某些点上,会影响相关变量的值;{e.g.(v,node)}所有那些包含改变某变量的语句,就是该变量的程序片。指定的程序片就是一条路径,我们可以对它进行测试。
例子Pseudocodeexample1.intlimit=10;2.inty=0;3.intx=0;4.for(inti=0;ilimit;i++)5.{x=x+i;6.y=y+i2;}7.print(“x=“,x,“y=“,y);-Considerthatourvariableofinterestisyatstatement7.-But,onsecondlook,wewouldpickupstatements:764(becausetheloopinfluencesstatement6)21(becauselimitinfluencesstatement4)Statements1,2,4,6,7formaprogramslicerelatedtovariable,y-Wewouldincludethissliceasatestcase
基于程序片的测试定义给定一个程序P和P中的一个变量集合V,变量集合V在语句n上的一个片,记做S(V,n),是P中对V中的变量值做出贡献的所有语句集合。
基于程序片的测试定义给定一个程序P和一个给出语句及语句片段编号的程序图G(P),以及P中的一个变量集合V,变量集合V在语句片段n上的一个片,记做S(V,n),是P中在n以前对V中的变量值作出贡献的所有语句片段编号的集合。
基于程序片的测试五种形式的使用使用关系有如下3种:谓词使用(P-use):用在谓词(判断)中计算使用(C-use):用在计算中输出使用(O-use):用于输出定义关系有2种:输入定义(I-def):通过输入定义赋值定义(A-def):通过赋值定义
基于程序片的测试标识两种定义节点:输入定义通过输入定义赋值定义通过赋值定义
例子Pseudocodeexample1.intlimit=10;2.inty=0;3.intx=0;4.for(inti=0;ilimit;i++)5.{x=x+i+y;6.y=y+i2;}7.print(“x=“,x,“y=“,y);ModifiedtoincludeyNotethatwehavemodifiedstatement5ofthepreviousexampletoincludey.NowshouldS(y,7)includestatement5?EventhoughthereisC-useofy,statement5doesnot“contribute”tothevalueofyinstatement7.Sowedonotinclude5intheslice,S(y,7).Also,p-useofothervariablenotinthesetV(inthiscaseV=y)mayneedtobeincludedbecauseitinfluencesthevalueofy.Inthiscase,thevariable,“limit,”inthe“for”statement.So,statement4isincludedinS(y.7)asbefore.AndlimitisplacedintothesetV,Variableofinterest.
练习begininput(x,y);total=0;sum=0;ifx=1thensum=yelsebeginread(z);total=x*y
文档评论(0)