一种新的面向对象软件集成测试序列生成方法
摘 要:集成测试是面向对象软件测试中的重要环节。uml不仅在软件分析领域具有重要作用,同时是软件测试的有力依据。在本文中,提出了一种以uml类图为基础的面向对象软件集成测试的测试序列生成方法。从uml类图中提取类的所有信息。然后依据提取的信息计算每个类的内聚度和类间耦合度,将计算结果存入数据库中。最后根据计算的类间耦合度与类的内聚度从高到低对类进行遍历。最后生成集成测试时的类测试序列。经证明该方法对于软件有较好效果。
关键词:uml类图,测试序列,面向对象软件测试
【abstract】integrated testing is an important part of oo software testing. uml is useful not only in software design but also in software testing. in this paper, an testing scenarios approach based on uml class diagram is presented, which is in terms of oo software’s integrated testing features. firstly, class’s massages are taken out from uml class diagram. secondly, the class cohesion and degree of coupling between classes are computed according to definitions in paper and saved in database. thirdly, select the class info from database standing on the degree of coupling between classes from big to small. finally, the oo integrate testing scenarios
are created and put out .the experiments show that the method is effective.
【key words】uml class diagram; testing scenarios; oo integrate testing 0 引 言
面向对象软件的封装性、继承性、多态性和动态绑定等特性提高了软件的可重用性,使软件开发质量更高,而且软件易于维护,通过组装可复用子系统而产生更大的系统。但是面向对象软件的这些特性对软件测试产生了深刻的影响。集成测试的一个主要目标是确保某个类或组件对象的消息以正确的顺序发送和接收并确保接收消息的外部对象的状态获得预期影响。即便单独测试通过的类,其对象在参与协作时依然可能产生若干错误,如接口错误、功能冲突、功能遗漏等。只有对协作类的直接与间接交互进行测试才能尽可能地避免类集成给软件带来的错误[1-2]。
基于uml开发的模型图包含大量的软件分析设计信息,这些信息不仅是软件实现的依据,也是软件测试的重要依据。本文在uml类图信息的基础上,添加新的有助于测试的重要信息,然后将类图信息和添加信息存储到数据库中,最后对类的关键信息进行遍历,生成集成测试的测试序列。
uml的可视模型总共有九种图。例如,用例图从用户角度描述系统功能并指出各功能的操作者,包括活动者、用例和关系,类图属于
静态视图部分,包括了类、接口及其之间的联系和关系[3-4]。其余的图有对象图,协作图,顺序图,状态图等。类图是面向对象设计中最重要的描述,其中包含的丰富的信息,为软件集成级测试提供了强有力的依据。为了解决测试场景中的问题,提出如下假定: (1)类图描述的信息与uml中其余几种图中的相关信息描述的规约是一致的。
(2)系统中的所有模型中的信息内容均可以从uml文件中利用其接口获取。
(3)假定uml类图已经通过了一致性检查并且关于类图的一切均是正确的。
1 uml类图度量
一个好的类结构应该符合软件工程的定义,也就是要求类间的耦合度尽量小,类的内聚度尽可能大。这样才有助于系统的开发、测试、维护工作。 1.1 类内聚度计算
类的内聚度反映了一个类的内部各成分联系的紧密程度[5]。在uml类图中,类由类名、属性和方法三部分组成。属性又可以分为公有属性、私有属性和受保护属性。同样的,方法也可以分为公有方法、私有方法和受保护方法。
定义1:uml 中的一个类可以用一个三元组表示,类=,其中:c_id表示类的编号,c_na
3 结论和展望
本文根据面向对象软件分析中的uml模型图,充分利用了uml的类图信息,提出的测试序列的生成算法简单有效,不仅为集成测试的渐增集成次序提供依据,而且类的内聚度也是类级测试中定义优先级的一个重要指标。为更进一步完善文中提出的方法,下一步的工作的重点是对类内聚度和类间耦合度的计算更为科学化,测试序列的生成算法的进一步优化。 参考文献
[1] perry,d and kaiser.adequate testing and objectoriented programming journal of object-oriented programming,1990,2[5],13-19
[2] 李强,曾一.一种基于uml的集成测试线索的生成方法[j].计算机工程与科学,2009,03
[3] 李自强.基于arm的移动图书导航系统[j].软件,2011,33(9):26-30.
[4] 宋建华,谭瑛.基于场景和uml图的cbsd软件集成测试方法研究[j].太原科技大学学报,2009:04.
[5] 周燕.宋敬华面向对象的集成测试顺序的研究[j].计算机测量与控制,2010.09
因篇幅问题不能全部显示,请点此查看更多更全内容