面对对象软件测试技术发展

2017-12-07 10:55王川杭佳祺殷静
数字技术与应用 2017年9期
关键词:发展研究面向对象软件测试

王川+杭佳祺+殷静

摘要:如今,面向对象软件测试是计算机编程开发领域中的重要方面,对整个行业发展有着重要的促进作用。具体而言,在软件开发过程中,面向对象软件测试技术也是保证软件质量的重要环节。对于面向对象的软件测试技术,我国的发展比较缓慢。但在国际上针对面向对象测试技术,已经取得一定的发展。基于此,本文将对面向对象技术进行简单介绍,重点研究测试技术的模型和测试方法。

关键词:面向对象;软件测试;技术;发展研究

中图分类号:TP311.53 文献标识码:A 文章编号:1007-9416(2017)09-0209-02

以計算机技术为平台的软件技术得到不断发展,为人们的提供了特有的互联网式方便。然而,近年来关于软件的使用出现一定的质量问题,这无疑对用户造成严重的影响。为提高软件质量与性能,通过加强对软件测试,可以发现其中的问题并采取一定的措施及时解决,从而避免问题扩大化。其中,面向对象软件测试技术在实际应用中不断发挥重要作用,对其发展进行研究具有重要的现实意义。

1 面向对象技术概述

1.1 面向对象技术的内涵和特点

对象概念、类概念、继承概念以及通信概念是面向对象软件的几个主要概念。面向对象技术主要指的是对类进行抽象的定义,将直观无法呈现的变量以及作用于变量的操作综合形成一个对象系统。并通过对象语言对变量以及变量操作的变化进行了解。面向对象技术的主要特点体现在以下几个方面:应该对面向对象开发所有阶段进行统一考虑;保证开发过程中环节之间的连续性;整个开发过程包括分析、设计、编程以及测试四个环节。各个环节之间相互独立又相互联系,有机形成一个整体。

1.2 面向对象技术的功能模块

(1)模块组成。面向对象系统的功能模块组成摆脱了单一完成任务特定功能模式的束缚,而是将数据、对象以及方法的类进行封装的综合功能模型。在整个功能模型中,每一个对象都具有独立的数据反映自身的状态和生存期。可以通过对消息的掌控,了解对象状态以及对象与对象之间的联系。通常情况下,对象功能需要借助消息的作用完成与关联对象的功能演化,并不能自身发生作用。使用面向对象技术进行软件测试时,除了要核查测试结果与预期结果的一致性以外,还应该对对象的状态进行测试。这是因为对象在工作过程中易发生状态的转移,从而形成新的状态,影响整体的结构质量。

(2)模块实现。通过不同对象之间的请示和协作可以完成对象系统的功能。本质上来讲,面向对象程序的运行是使用消息的处理过程。消息的连接和处理方式不同,反应的对象状态也不同。消息与对象状态总而言之是一种相互联系、相互影响的关系。面向对象系统在实现某种功能时,除了要对直接相关的对象进行激活外,还应该对系统中不同性质对象的成员函数进行全面激活,在成员函数之间形成一个能够启动的链接。

1.3 面向对象技术存在的问题

封装障碍。封装问题是面向对象技术存在的一种问题。本意上封装代表的是一种控制机制,功能体现在词法单位的名字可见性方面。这种控制机制可以将信息隐蔽或者对信息进行模糊化处理,而不会直接造成面向对象系统的错误。这种控制机制会对软件测试造成一定的影响,主要通过对对象状态的影响,阻碍测试进度。

多态影响。多态性体现的是一种能力,具体指的是独立引用与对象进行捆绑作用的能力。多态性的应用可以将多个对象进行捆绑,从而将不同的对象综合成一个整体。这种效应会引起代码超标问题,对象相互之间的联系变得更加复杂。并且多态性也会对测试的进行造成影响,影响信息的传递作用。

继承风险。继承是面向对象系统中的重要组成结构。继承的作用通常体现在快速完成编码任务上,并且继承适用于一般关系和特殊关系。只是在使用过程中,继承本身会出现一种错误风险,对语言的完整性造成影响。具体而言,继承风险体现在将单一函数封装在不同的类中,对测试结果造成不同程度的影响。

2 面向对象软件测试模型

本部分主要分析面向对象软件测试模型的构建,为后期分析奠定基础。

2.1 面向对象分析(OOA)的测试

面向对象分析的测试具有基础性作用,在后续阶段类的选定与实现工作中,需要对基础测试结果进行分析。OOA的分析具体指的是对问题空间的分析,这种基础性分析不到位,会引起软件功能无法完全实现,进而为开发后期增加不必要的工作量。面向对象分析的测试工作是一项系统的工作,相关环节之间有一定的联系,因此不可以分割进行。进行OOA阶段测试时,主要以Coad方法为基础,通过以下几个步骤完成测试工作。第一,认定对象的测试工作,在OOA测试中,需要对认定对象的结构、被记忆的事件进行分析,并确定测试对象是否具有全面性、属性方面的特征。第二,认定结构的测试工作,认定结构具体指的是不同对象之间经过一定的组织形成的结构。其中对象之间的复杂关系以及复杂实例会通过测试反应出来。第三,认定主题的测试工作。通过主题的作用,OOA结构具备了可视性的特征,具体的测试工作需要通过对主体数量的确定完成测试。第四,进行定义属性和实例关联的测试工作。第五,对定义服务和消息关联的测试工作。

2.2 面向对象设计(OOD)的测试

OOD测试工作应该以OOA测试工作为基础,具体的测试工作需要从三个方面进行。第一,认定类的测试工作。被测试的类中,既可以是OOA中认定的对象,也可以是服务的抽象,主要测试内容涵盖类的完整性、OOA的定义属性的体现情况。第二,对构造的类进行层次结构的测试工作。由于在OOA测试过程中形成了一定的层次机构,因此进行OOD测试时应该以先前的层次结构为基础,重点对涵盖的类的全面性进行测试。第三,类库支持的测试工作。类库支持的测试可以单独进行,主要是对再次软件开发的重用。

2.3 面向对象编程(OOP)的测试

面向对象程序在实现功能时,通过类的作用体现。因此在程序出现错误时,可以将问题定位到某一具体的类中。在面向对象编程的测试工作中,重点的测试内容在类功能的实现上,同时还还应该对程序写作的具体情况进行考虑。endprint

3 面向对象软件测试方法

面向对象软件测试方法主要有正交试验设计法、前置条件测试方法以及面向对象类的测试方法。

3.1 正交试验设计法

作为黑盒测试方法的一种,正交试验设计法对于面向对象的软件测试具有较好的适用性。使用正交试验方式测试时,具体需要测试的用例较少。因此使用正交试验测试法的效率较高。正交试验测试法具体而言就是一种软件测试中的设计方法。由于在研究工作中,因素和水平较多,因此在全面测试中,按照正交性为依据,选择部分区域进行测试。正交试验设计过程主要包括三个步骤:第一,确定影响结果的因素和水平。第二,选用合适的正交表。第三,将正交表进行转化,形成测试具体使用的方案。

3.2 前置条件测试方法

在面向对象的软件测试技术中,前置条件测试方法也是一种重要的测试方式。使用前置条件测试方式进行工作时,主要是对所有可能出现的组合结果进行分析。并通过创建测试用例的方式对可能存在的结果进行实现。通过合理的输入和输出完成测试工作。测试用例的数量跟组合的结果有很大关联,因此还要对每个逻辑关系进行分析,最终完成面向对象的软件测试。

3.3 面向对象类的测试方法

類是面向对象中的基础构件,可见面向对象类的测试也是基础的测试手段。目前针对类的测试方式比较完善的有六种:基于状态的类测试、基于方法序列的类测试、基于UML的类测试、基于数流的测试、变异测试以及基于使用的测试,这六种方式由于在技术上已经比较成熟,因此无论那种方式都可取得较好的测试效果。

4 结语

总而言之,面向对象软件测试技术的发展会对整个计算机技术的发展起到重要的推动作用。当前面向对象软件测试技术还在不断完善和发展中。使用的模型和测试技术也在不断优化。为改善我国在计算机领域中的发展状况,应该不断增加在面向对象软件测试技术研发中的投入,不断掌握核心技术,提高竞争力。

参考文献

[1]蔡立志.大数据背景下软件测试的挑战与展望[J].计算机应用与软件,2014,(02):45.

[2]赵荣利.面向对象软件测试技术的研究与应用[J].计算机技术与发展,2013,(01):72.

[3]吴蕾.面向对象的软件测试技术研究[J].电脑知识与技术(学术交流),2015,(02):92.

[4]罗娜.面向对象软件测试的方法研究[J].东北师大学报(自然科学版),2014,(01):54.

[5]龚红仿.面向对象的软件测试技术[J].长沙理工大学学报(自然科学版),2014,(02):92.endprint

猜你喜欢
发展研究面向对象软件测试
基于OBE的软件测试课程教学改革探索
面向对象的计算机网络设计软件系统的开发
EXCEL和VBA实现软件测试记录管理
面向对象的数据交换协议研究与应用
关于软件测试技术应用与发展趋势研究
软件测试工程化模型及应用研究
面向对象Web开发编程语言的的评估方法
面向对象信息提取中影像分割参数的选择