基于UML的OOAD测试技术中几点问题的分析与研究

来源 :中国新通信 | 被引量 : 0次 | 上传用户:xiaoshuishe
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【摘要】 面向对象的开发技术有力的推进了软件产业的迅速发展。面向对象软件的独有特性,如抽象、继承、封装、多态等,使得传统的软件测试技术不能直接应用于面向对象的软件测试,从而形成一种新兴的软件测试技术——面向对象的测试技术。本文主要分析了面向对象软件测试中存在的几点问题及应对策略。
  【关键词】 面向对象 软件测试 单元测试 集成测试 封装测试 多态测试
  一、引言
  现代软件工程学中,软件测试作为软件开发的重要环节越来越受到人们的重视。随着软件开发规模的增大、复杂程度的增加,测试工作也显得更加困难。在测试中面临如下方面的问题:测试的基本单元应该是什么;继承的内在含义是什么;封装造成的困难是什么;多态性引起的附加困难是什么?本文就上述几个问题进行论述与分析。
  二、面向对象软件测试的概念
  面向对象软件测试是根据面向对象的软件开发过程结合面向对象的特点提出的。是新兴的软件测试技术,是专门针对使用面向对象技术开发的软件而提出的一种测试技术。其目的是为了解决传统的软件测试技术,面对面向对象技术开发的软件多少显得有些力不从心的现象。面向对象开发技术和传统的开发技术相比,新增了多态、继承、封装等特点。这些新特点使得开发出来的程序,具有更好的结构、更规范的编程风格, 极大地优化了数据使用的安全性,提高了代码的重用率。然而,另一方面也影响了软件测试的方法和内容,增加了软件测试的难度,带来了传统软件设计技术所不存在的错误;或者使得传统软件测试中的重点不再突出。
  三、面向对象单元测试的选择
  传统的单元测试的对象是软件设计的最小单位——模块。单元测试的依据是详细设计描述,单元测试应对模块内所有重要的控制路径设计测试用例,可以发现模块内部的错误。对于面向对象系统中的测试案例设计,类——而不是功能(面向对象中的方法),被作为测试的基本单元。
  四、继承测试问题的分析
  继承的功能是面向对象系统的主要优点之一。一个应用中正在被测试的类可能已经被完整地测试过后,有必要重新测试继承的方法吗?当然在大多数情况下,继承的功能要重新测试。因为当功能被继承时会产生新的使用上下文。另一个原因是,多繼承增加了要测试的上下文的数目。所以,在设计一个类的测试计划时必须考虑类所继承的所有功能。
  继承可以用来实现开发中的特殊化关系或仅为了编程的方便。实现特殊化作为继承的出发点必须对应于问题域的特殊化。这里,用于测试超类的测试案例可能在测试继承类时是可以复用的。如果继承的使用仅仅是为了编程的方便,那么这种子类不可能体现真正特殊化关系。因此我们把用于超类的测试案例直接复用于继承类存在一定的问题。继承类必须从新测试。所以,基于继承所使用的上下文对继承要重新测试。从上述讨论中我们可以得出的结论是:派生类必须被测试,即使其代码可能没有经过更改。我们需要对实施于基类的测试再补充一些测试案例来覆盖派生类中那些未被基类满足的需求区域。
  五、封装测试问题的分析
  封装是面向对象系统中添加的功能之一。封装本身不是错误的一个来源,但是许多开发人员认为它会妨碍测试,因为测试要求报告对象的具体和抽象状态。封装确实会使提供这类报告变得困难,继而影响到报告方法的可靠验证。但是,有几种方法可以解决这个问题。那么,通过什么方法可以在较高层解决该问题呢?可以尝试使用常规的“正确性证明”技术,因为一个已被证明的方法有理由免于测试。一个程序的常规正确性证明类似于证明一个理论是正确的。必须使用常规的数学方法来证明程序正确地执行了期望它实现的功能。常规的正确性证明就如同穷举测试,不仅难度大而且耗时。但状态报告方法趋向于小而简单,而且使用常规方法来证明相对比较容易。从上述讨论可以得出的结论是:封装加大了测试的难度,但这个问题是可以解决的。底层单侧或调试工具可以帮助查看对象,但不推荐使用。常规方法提供了最丰富的结果,但实现起来极其困难。
  六、多态测试问题的分析
  多态对象将有多个绑定,但是必须对多态对象的每个可能的绑定进行单独的测试。问题在于定位所有这种绑定可能很困难。无法定位到所有这些绑定将削弱代码覆盖的目标,因而是不理想的。有可能缺陷就潜伏在这种情况下。我们必须承认:单独测试多态对象的多个绑定的要求确实会产生问题。它还会使集成规划变得复杂,因为在一个客户类可以被测试之前,必须集成许多服务类。
  从上述讨论中,我们可以得出结论:必须测试多态对象的所有绑定以检查完整的代码覆盖,但是定位所有绑定却存在困难。
  参 考 文 献
  [1]余先荣 罗婷婷.关于面向对象软件测试技术的研究[J].中国新通信,2013,(8).
  [2]宋春秀.面向对象软件测试技术的研究[J].信息安全与技术,2010,(9).
其他文献
由欧盟8个成员国德国、英国、意大利、比利时、荷兰、葡萄牙、希腊和斯洛文尼亚的微纳米电子工业界联合科技界组成欧盟微纳米电子技术平台(O-RAMAETP),制定出战略科研议程(SRA)和
2013年,在市委、市政府的领导下,全市科技宣传与信息工作坚持以邓小平理论、“三个代表”重要思想和科学发展观为指导,全面贯彻落实党的十八大、十八届三中全会、省委九届七次全
我国的城市轨道交通需要良好的综合监控系统和集成信号进行保障,在对集成监控系统中的集成方案和相应的ATS相关问题进行研究后,可以得出基于集成信号ATS中的城市轨道交通信号
随着经济发展的不断加快与人民生活水平的提高,人们对于精神层面的需求也产生了新变化,而作为精神层面的新闻工作来讲,广大人民对于其要求更是在不断上升状态中。当前,在自媒
为数众多的劳动者恐怕都有过这样痛心的求职经历,用人单位把劳动合同期限压缩得很短,可是,专为劳动者设定的试用期却规定得相对很长,且试用期内的劳动报酬低得可怜。许多求职人兢
随着高新技术快速发展,人类社会已进入信息时代,高集成化电子设备如计算机、通信设备及工业自控系统已广泛应用。雷电具有高电压、大电流和瞬时性特点,强大的闪电产生静电场、电
餐具消毒监测是食品卫生监督的重要手段,是评价餐饮业食品卫生状况的重要方法。为了解我市学校食堂餐具消毒现状,防止因餐具不洁而引起食源性疾患的发生,保证学生的身体健康和学
优胜劣汰,适者生存。经历了大半个世纪的品牌征战,21世纪已经超越了“产品识别”,成了品牌至尊的年代。但品牌竞争的硝烟给人们留下了不少教训和启示,那就是有道义有责任的品牌,才
【正】12月10日上午,"体验科学"——中国流动科技馆祁门县巡展活动启动仪式在祁门县的安徽省示范高中祁门一中举行。黄山市科协副主席李静,祁门县委常委、组织部长王燕,县人
人在感冒或咳嗽时,临床医生除了采取用药输液,总要多一句:“多喝点热水”这是为什么呢?原来神奇的人体是这样防御疾病的:从打喷嚏到癌症要经历九个步骤,如果你能从前几个步骤就控制