网站大量收购闲置独家精品文档,联系QQ:2885784924

面向对象软件测试.pptVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

8.2类测试yangsh@对父类的测试是否能照搬到子类?援用上面的假设,Base::Redefined()和Derived::Redefined()已经是不同的成员函数,它们有不同的服务说明和执行。对此,照理应该对Derived::Redefined()重新测试分析,设计测试用例。但由于面向对象的继承使得两个函数有相似,故只需在Base::Redefined()的测试要求和测试用例上添加对Derived::Redfined()新的测试要求和增补相应的测试用例。01028.2类测试yangsh@例如:

Base::Redefined()含有如下语句

If(value0)message(less);

elseif(value==0)message(equal);

elsemessage(more);

Derived::Redfined()中定义为

If(value0)message(less);

elseif(value==0)message(Itisequal);

else

{message(more);

if(value==88)message(luck);}

在原有的测试上,对Derived::Redfined()的测试只需做如下改动:将value==0的测试结果期望改动;增加value==88的测试。8.2类测试yangsh@优点:同行走查,往往能查出50-60%以上的比较明显的错误不足:代码检查易受人为因素影响,代码检查在回归测试方面明显需要更多的工作量,常常和原始测试差不多代码检查具体说类测试的方法有两种代码检查执行测试用例基于执行测试用例的方法8.2类测试yangsh@优点:克服了代码检查的不足缺点:确定测试用例和开发测试驱动程序也需要很大的工作量。在某些情况下,构造一个测试驱动程序的工作量比开发这个类的还多,此时就应该评估在使用了这个类的系统之外测试测试这个类所花的代价和带来的收益。8.2类测试yangsh@构建测试用例:要对类进行测试,就必须先确定和构建类的测试用例。类的描述方法有OCL,自然语言,和状态图等方法,可以根据类说明的描述方法构件类的测试用例。根据类说明(用OCL表示)确定测试用例根据类的状态转换图来构建类的测试用例8.2类测试yangsh@根据类的说明确定测试用例用OCL表示的类的说明中描述了类的每一个限定条件条件。在OCL条件下分析每个逻辑关系,从而得到由这个条件的结构所对应的测试用例。这种确定类的测试用例的方法叫做根据前置条件和后置条件构建测试用例。其总体思想是:为所有可能出现的组合情况确定测试用例需求。在这些可能出现的组合情况下,可满足前置条件,也能够到达后置条件。根据这些需求,创建测试用例;创建拥有特定输入值(常见值和特殊值)的测试用例;确定它们的正确输出——预期输出值。8.2类测试yangsh@例如A、B、C代表用OCL表示的组件,前置条件和后置条件列表如下(下页):8.2类测试yangsh@8.2类测试yangsh@根据前置条件和后置条件创建测试用例的基本步骤如下:8.2类测试yangsh@1定在表1中与前置条件形成相匹配的各个项目所指定的一系列前置条件的影响。2定在表2中与后置条件形成相匹配的各个项目所指定的一系列前置条件的影响。3据影响到列表中各个项目的所有可能的组合情况从而构造测试用例需求。一种简单的方法就是:用第一个列表中的每一个输入约束来代替第二个列表中每一个前置条件。4除表中生成的所有无意义的条件。8.2类测试yangsh@根据状态转换图构建测试用例状态转换图以图例的形式说明了与一个类的实例相关联的行为。状态转换图可用来补充编写的类说明或者构成完整的类说明。状态图中的每一个转换都描述了一个或多个测试用例需求。因而,可以通过在转换的每一端选择有代表性的值和边界来满足这些需求。如果转换是受保护的,那么也应该为这些保护条件选择边界。状态的边界值取决于状态相关属性值的范围,可以根据属性值来定义每一个状态。两种构建测试用例方法的比较8.2类测试yangsh@和根据前置条件和后置条件创建类的测试用例相比,根据状态转换图创建类的测试用例有非常大的优势。在类的状态图中,类相关联的行为非常的明显和直观,测试用例的需求直接来自于状态转换,因而很容易确定测试用例的需求。不过基于状态图的方法也有其不利的方面。如要完全理解怎样根据属性值来定义状态;事件是如何在一个给定的状态内影响特定值等。这都很难仅从简单的状态图中确定。因此,在使用基于状态转换图进行测试时,务

文档评论(0)

zhang1745 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档