- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
继承关系中子类测试方法
继承关系中子类测试方法 摘要:针对测试过程中对子类方法测试不充分的问题,结合面向对象开发技术的继承特性,提出了一种新的测试模型。在父类已被充分测试的前提下,分析子类在父类的基础上新增加的方法、修改继承于父类的方法。对于新增加的方法,按定义的规则生成测试用例;对于修改继承于父类的方法,获取以XML格式存储的父类测试用例集,根据测试模型提出的方法确定可重用的测试用例。这样,子类的测试用例集已确定,执行测试用例集,即完成对子类的测试。通过实例验证,该测试方法是有效的,极大地提高了子类的测试效率问题
关键词:继承;测试用例集;测试模型;XML格式;复用测试用例
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2017)07-0236-04
1概述
1.1课题研究背景
从计算机问世以来,程序的编制与测试就同时摆在人们面前,但测试在软件开发中的作用并没有受到应有的重视。但是,就目前软件工程发展的现状而言,软件测试仍然是较为薄弱的一方面。不仅测试理论,已有的测试方法也不能满足当前软件开发的实际需求
软件测试是保证系统质量的重要手段,软件测试中一般包括单元测试,集成测试,系统测试等阶段。以面向对象技术开发的系统其测试过程也包括这些阶段,但是由于面向对象技术本身的特点,如继承、封装、多态等,使得在对面向对象技术开发的系统进行测试时提出了新的要求,尤其是面向对象的单元测试。在面向对象的单元测试中由于存在继承(可能有多重继承)关系,在将类看成单元的情况下,对类进行单元测试提出了挑战。假设,不考虑类的继承关系而将每个类分别看成一个独立的单元和传统的单元一样单独的进行测试,将耗费大量的时间,同时也不能保证继承了父类的属性及方法在子类中的正确性
传统的单元测试是针对程序的函数、过程或完成某一特定功能的程序块。面向对象开发的特性使得其单元测试不完全等同于传统的单元测试。尤其是继承特性,虽然在编程阶段使得子类的编写效率有所提高,但在对子类进行测试时所出现的问题是在传统测试中从未遇见的。因此,在对面向对象程序进行单元测试时,除了继承传统的技术之外,还必须研究相适应的新的测试方法
1.2问题的提出
当子类继承父类时,子类在父类的基础上进行了扩充,即增加方法和修改方法。所以对子类进行测试时,可以在其父类充分测试的基础上,利用父类的测试用例集,分析子类继承父类的关系,进行对子类的测试
针对继承特性带来的影响,在父类已经进行了充分的测试的前提下,若要对其子类进行测试,应考虑如下问题:
1)子类中添加的方法该如何测试
2)子类中隐式继承父类的方法是否不再重新测试
3)子类中对继承父类的方法进行修改后该如何测试
只有充分覆盖了以上可能出现的三种情况,对子类的测试才能在一定程度上满足要求,确保子类功能的实现,从而保证整个系统的软件质量
2子类测试模型思想
在问题提出中已经提到对子类的测试是在父类的基础之上,也就是实际上子类的测试分为两步,先分析子类与父类的继承关系,再对子类进行测试。其实这两步就是两个子步骤,下面将对测试过程中用到的一些定义进行说明,其中主要包括类继承关系的定义和测试用例集的定义
2.1测试过程相?P定义
定义1:根基类集合
假设系统中存在一系列类,这一系列类的共同特性是:该类不存在父类,则称具有这一特性的类为系统的根基类。根基类抽象出了系统中某些共同的功能,利用面向对象的继承特性,使其子类根据不同的需求实现具体的细节。记系统的根基类为Pi,系统中所有的根基类只组成一个根基类集合Root={Pi},其中i0
定义2:非根基类元素
系统中的类除了根基类,剩下的是非根基类。即非根基类是通过继承根基类或其他非根基类而得到的一系列类。非根基类一定有其对应的父类,可以有其对应的子类。记系统的非根基类为Si
定义3:方法间调用关系
假设任意一个类Pi,其方法列表PM中有方法mi和mj,并且i≠j。若方法mi在执行过程中用到方法%的执行结果,则称方法mi调用了方法mj,记mi→mj。那么任意一个类Pi的方法间调用关系可用二维数组PMCi表示为:
二维数组元素mij取(0,1)其中的一个值。若mik=0表示mi没有调用mj;若mij=1表示mi调用了mi,即mi→mj。二维数组中的非零元素的个数定义了调用关系的数量
定义4:XML格式的类结构
XML(Extensible Markup Language),可扩展标记语言,是一种允许用户对自己的标记语言进行定义的源语言,具有快速存储和读取的特性。本文结合XML设计和结构的优势,利用其定义类的结构,定义结构如下:
其中,具体标签含义分别定义如下:
1.标签
您可能关注的文档
最近下载
- 科室全成本核算.ppt VIP
- (完整版)幼儿园五年发展规划【可编辑版】.docx VIP
- 福克纳 A Rose for Emily 献给艾米丽的玫瑰 (英文原文+译文).pdf VIP
- 高考数学总复习《函数性质》专项测试卷及答案.pdf VIP
- 课题申报书:核心素养引领下的小学数学课堂教学方式的转变研究.docx VIP
- 人教版数学五年级上册第七单元教案(含单元备课).pdf VIP
- 湖北省武汉2025届高三上学期10月月考物理试题含答案.docx VIP
- 2025年秋期部编人教版六年级上册语文全册核心素养教案(教学反思有内容+二次备课版).docx
- 初中整本书阅读系列之《红星照耀中国》第8-9篇 同红军在一起PPT课件.pptx VIP
- 2024年初级会计职称《经济法基础》精讲课件.pptx VIP
文档评论(0)