论文部分内容阅读
【摘要】 在软件项目的开发利用进程中对设计出的软件做应用的测试工作至关重要,其不仅有利于将软件所需运用的开发时间缩短,而且还能在减小成本投入的基础上将软件的应用质量做有效的提高,因此进行这样的工作十分重要。在文中主要对软件面向对象测试的有关内容做简介。
【关键词】 面向对象 软件测试 技术研究
一、前言
上世纪的80年代对软件测试的定义有,应用人工运行方式、软件自动工作方式或者对固定系统运作过程来对软件进行测试,而检测的主要内容就是为了查看其是否能够达到规定的要求,软件实际应用的结果和预测的结果是否有较大差距。由此可见软件在开发和生产的过程中必须要伴随着软件的测试来进行才能顺利的完成。
软件测试被广泛的应用是因为软件在开发和生产中存在很多的危机性。而目前的软件测试早已不是软件开发进程里的一个伴随者,而是转变成软件开发全程中的重要过程,被看做是产品质量监控的主要执行者。因此软件测试从伴随者的地位上升至软件产品质量监管的执行者时,此项技术的要求也越来越高,测试过程中所需要面对的难点也越来越多,所以加强软件测试的技术研究非常紧迫[1]。
二、面向对象技术和软件测试的内容
具有新型开发方式的面向对象拥有一些独特的内容。比如:要将软件在开发全程中的各个时期整合思考;注意到整个时期中软件开展阶段都具有持续性;软件的开发可以划分为面向对象的分析程序、面向对象的设计程序、面向对象的编辑程序、面向对象的测试程序。
在软件系统被定义为是面向对象时,首先应该是由对象、类、继承、通信来组合完成。在所有程序里的组成成分都应该是对象,而软件的计算需要应用到对象和对象的相互通信来实现[2]。类抽象性的定义是面向对象技术的本质要求,从而才能把变量和作用在其身上的运作安置在一起。而对象系统的组成需要通过不一样的类及方法来完成。在相对传统的软件基础上把极具复杂的过程或方法改变成对象相互间的交换就是面向对象软件。面向对象语言自身的特性在软件测试中的作用有以下内容:
(1)封装给测试造成的作用。能够在词法单位上对既定名字的可见性控制访问体系是封装的定义。对信息的模块化和隐藏性都能起相应的支持作用,对全程的访问变量可产生有效的控制。但另一方便会对软件的测试引来一些麻烦。在对象的内在形态中,封装是起隐藏的作用,存取的函数在表达相应的对象时,不能满足其内部状态的的存在方式就会对类的数据隐藏体系造成测试的困扰[3]。
(2)继承对测试造成的作用。继承机制的应用是可以完成提升和分享主要程序的重要通道。由于函数在被封装的过程中不是在一个固定的子类中,又因为子类还能够把继承的本质做重新的制定,因此被重新定义的继承就需要再做一次检测,且新应用的语境也要做新的检测。如果子类对继承的方法做新的定义后也要将其放在新的语境中做新的检测。如果是处在多继承的环境中,不能只对父类的方法做新的定义,还需要对相关联的其他子类、应用类做新的检测。
(3)动态或者多态的绑定形式会给测试造成的作用。面向对象方法的重要特性是由动态和多态性的绑定来组成,因此当同一个信息在传送的过程中可以应用不同的方式发送到应用的对象。多态性的运作方式是指按照已有的指示来操作信息的传送,而且在信息传输的过程中系统可以自行对没有进行定义的信息挑选适合的代码,如此就为程序员带来一定的方便。但其又存在一些不确定的因子,就造成在相对落后的检测中做静态的分析时没办法按要求完成,系统在运行时的运作途径被增多,而且检测的数量和数量也被增大。
能够将一个引用链接绑定到多个对象的功用就是多态性的表达。动态绑定方式的实现和代码规模及复杂性的减弱是多态性的一种能力。如果将动态的绑定工作执行到不规则的类层次中时,将会出现一些意想不到的可能。但并非是能够正确工作的绑定就可以确保全部的绑定也可以按规定的程序来运行。被执行绑定的对象在发送信息的过程中也可能转送到别的类上,并且完成不正确的作用,以此祸及到相应的信息状态和序列的安排上[4]。
(4)状态信息给测试造成的作用。面向系统的基础结构是由被封装起来的数据和方法的类及对象来组成,并非是可以完成既定作用的结构。不同的对象都会有不同状态和生存期,不同对象之间的合作和请示由信息来完成,同时也是他处获悉对象状态和方法的一个途径。在信息的作用下对象的功用需要被定义的方法和相应的对象一起进行,而且在不一样的情况中信息的反映也会不一样。软件测试时,一定要把对象的方法和数据看做是整体,在顾虑到对象的变化形态时也要查看数据生成的结果和预期的是否一致。所以在做软件的测试时应该要将状态和方法一起进行。
三、面向对象软件测试的类型检测方法
(1)封装测试方法。此种测试和单元模块的测试相呼应,是比较成熟的单元测试。如果数据和方法被同时封装到一个类时,再由对象传输信息,就会把运作的进程和对象的状态联系在一起,给对象造成一定的影响。所以在测试时一定要掌握好对象的初始状态,才能保证信息能被传送到划定的目的地中。
(2)类的测试方法。将状态和对象联系起来的测试就是类的测试,而这里的对象状态行为的测试可以被分成根植于响应状态的测试类型和根植于状态的测试类型。根植于响应状态的测试类型。站在对象和类的角度上,从外界传送既定的信息到对象之后再执行对象的测试。根植于程序和规约的测试是比较有影响力的测试。站在规约的基石上,测试在进行时就能够半自动或者全自动产生测试,而能否生成十足的代码覆盖就没法预测。站在程序的基石上,测试在进行时是站在传统的技术上做推广,虽然拥有一些实际意义的应用能力,但是因为方法比较复杂,因而测试的效率并不高[5]。
根植于状态的测试类型。此方法的运用能够将较为成熟状态的自动理论进行有效的借鉴,但在运作时还存在一定的困难。原因是状态的空间性比较大,因此较难既定出相应的类的状态框架,在状态的转化和对象识别上也不具规范性,从而检测对象的观察和控制也不能完备。
(3)系统检测方法。将系统中全部的程序和类做测试就是系统的测试,不仅能够检查软件的性能和系统运作的正确性,其检测的内容还要囊括功能、性能测试,与传统的系统测试同出一路。
四、面向对象软件测试的覆盖原则
软件的测试是否能充分的进行是以测试的覆盖率为基准,只有站在一定的标准上才能对测试的成果做既定的工作。在面向对象的软件测试中代码的覆盖功能只会作用到方法级的测试,设定新的覆盖目标就是为了避免面向对象程序的运作体系所引发的风险性。继承就是需要满足全程的覆盖,而多态性的覆盖是为了满足任何一切有可能的信息进行绑定工作。系统的检测就必须满足全部状态和转换的覆盖。
五、结语
面向对象软件测试在和传统测试做对比时,前者的技术和方法具有不一样的方式,而测试的内容囊括有方法的测试和类的测试。面向对象测试的重点也从模块进入到类的测试中,因此类层的测试就被当做最基本的单元来进行检测。
参 考 文 献
[1] 郭滔. 面向对象软件测试技术研究[J]. 科技信息,2011,4(1):76-77.
[2] 徐舒. 面向对象软件测试技术研究[J]. 今日科苑,2010,50(1):301-303.
[3] 宋春秀. 面向对象软件测试技术的研究[J]. 信息安全与技术,2010,31(11):59-63.
[4] 王海燕,吴晓燕. 面向对象软件测试在气象数据采集系统中的应用[J]. 网络安全技术与应用,2009,41(9):223-224.
[5] 周娟,钱稷,刘扬. 基于面向对象的软件测试技术研究[J]. 微计算机信息,2009.15(7):46-49.
【关键词】 面向对象 软件测试 技术研究
一、前言
上世纪的80年代对软件测试的定义有,应用人工运行方式、软件自动工作方式或者对固定系统运作过程来对软件进行测试,而检测的主要内容就是为了查看其是否能够达到规定的要求,软件实际应用的结果和预测的结果是否有较大差距。由此可见软件在开发和生产的过程中必须要伴随着软件的测试来进行才能顺利的完成。
软件测试被广泛的应用是因为软件在开发和生产中存在很多的危机性。而目前的软件测试早已不是软件开发进程里的一个伴随者,而是转变成软件开发全程中的重要过程,被看做是产品质量监控的主要执行者。因此软件测试从伴随者的地位上升至软件产品质量监管的执行者时,此项技术的要求也越来越高,测试过程中所需要面对的难点也越来越多,所以加强软件测试的技术研究非常紧迫[1]。
二、面向对象技术和软件测试的内容
具有新型开发方式的面向对象拥有一些独特的内容。比如:要将软件在开发全程中的各个时期整合思考;注意到整个时期中软件开展阶段都具有持续性;软件的开发可以划分为面向对象的分析程序、面向对象的设计程序、面向对象的编辑程序、面向对象的测试程序。
在软件系统被定义为是面向对象时,首先应该是由对象、类、继承、通信来组合完成。在所有程序里的组成成分都应该是对象,而软件的计算需要应用到对象和对象的相互通信来实现[2]。类抽象性的定义是面向对象技术的本质要求,从而才能把变量和作用在其身上的运作安置在一起。而对象系统的组成需要通过不一样的类及方法来完成。在相对传统的软件基础上把极具复杂的过程或方法改变成对象相互间的交换就是面向对象软件。面向对象语言自身的特性在软件测试中的作用有以下内容:
(1)封装给测试造成的作用。能够在词法单位上对既定名字的可见性控制访问体系是封装的定义。对信息的模块化和隐藏性都能起相应的支持作用,对全程的访问变量可产生有效的控制。但另一方便会对软件的测试引来一些麻烦。在对象的内在形态中,封装是起隐藏的作用,存取的函数在表达相应的对象时,不能满足其内部状态的的存在方式就会对类的数据隐藏体系造成测试的困扰[3]。
(2)继承对测试造成的作用。继承机制的应用是可以完成提升和分享主要程序的重要通道。由于函数在被封装的过程中不是在一个固定的子类中,又因为子类还能够把继承的本质做重新的制定,因此被重新定义的继承就需要再做一次检测,且新应用的语境也要做新的检测。如果子类对继承的方法做新的定义后也要将其放在新的语境中做新的检测。如果是处在多继承的环境中,不能只对父类的方法做新的定义,还需要对相关联的其他子类、应用类做新的检测。
(3)动态或者多态的绑定形式会给测试造成的作用。面向对象方法的重要特性是由动态和多态性的绑定来组成,因此当同一个信息在传送的过程中可以应用不同的方式发送到应用的对象。多态性的运作方式是指按照已有的指示来操作信息的传送,而且在信息传输的过程中系统可以自行对没有进行定义的信息挑选适合的代码,如此就为程序员带来一定的方便。但其又存在一些不确定的因子,就造成在相对落后的检测中做静态的分析时没办法按要求完成,系统在运行时的运作途径被增多,而且检测的数量和数量也被增大。
能够将一个引用链接绑定到多个对象的功用就是多态性的表达。动态绑定方式的实现和代码规模及复杂性的减弱是多态性的一种能力。如果将动态的绑定工作执行到不规则的类层次中时,将会出现一些意想不到的可能。但并非是能够正确工作的绑定就可以确保全部的绑定也可以按规定的程序来运行。被执行绑定的对象在发送信息的过程中也可能转送到别的类上,并且完成不正确的作用,以此祸及到相应的信息状态和序列的安排上[4]。
(4)状态信息给测试造成的作用。面向系统的基础结构是由被封装起来的数据和方法的类及对象来组成,并非是可以完成既定作用的结构。不同的对象都会有不同状态和生存期,不同对象之间的合作和请示由信息来完成,同时也是他处获悉对象状态和方法的一个途径。在信息的作用下对象的功用需要被定义的方法和相应的对象一起进行,而且在不一样的情况中信息的反映也会不一样。软件测试时,一定要把对象的方法和数据看做是整体,在顾虑到对象的变化形态时也要查看数据生成的结果和预期的是否一致。所以在做软件的测试时应该要将状态和方法一起进行。
三、面向对象软件测试的类型检测方法
(1)封装测试方法。此种测试和单元模块的测试相呼应,是比较成熟的单元测试。如果数据和方法被同时封装到一个类时,再由对象传输信息,就会把运作的进程和对象的状态联系在一起,给对象造成一定的影响。所以在测试时一定要掌握好对象的初始状态,才能保证信息能被传送到划定的目的地中。
(2)类的测试方法。将状态和对象联系起来的测试就是类的测试,而这里的对象状态行为的测试可以被分成根植于响应状态的测试类型和根植于状态的测试类型。根植于响应状态的测试类型。站在对象和类的角度上,从外界传送既定的信息到对象之后再执行对象的测试。根植于程序和规约的测试是比较有影响力的测试。站在规约的基石上,测试在进行时就能够半自动或者全自动产生测试,而能否生成十足的代码覆盖就没法预测。站在程序的基石上,测试在进行时是站在传统的技术上做推广,虽然拥有一些实际意义的应用能力,但是因为方法比较复杂,因而测试的效率并不高[5]。
根植于状态的测试类型。此方法的运用能够将较为成熟状态的自动理论进行有效的借鉴,但在运作时还存在一定的困难。原因是状态的空间性比较大,因此较难既定出相应的类的状态框架,在状态的转化和对象识别上也不具规范性,从而检测对象的观察和控制也不能完备。
(3)系统检测方法。将系统中全部的程序和类做测试就是系统的测试,不仅能够检查软件的性能和系统运作的正确性,其检测的内容还要囊括功能、性能测试,与传统的系统测试同出一路。
四、面向对象软件测试的覆盖原则
软件的测试是否能充分的进行是以测试的覆盖率为基准,只有站在一定的标准上才能对测试的成果做既定的工作。在面向对象的软件测试中代码的覆盖功能只会作用到方法级的测试,设定新的覆盖目标就是为了避免面向对象程序的运作体系所引发的风险性。继承就是需要满足全程的覆盖,而多态性的覆盖是为了满足任何一切有可能的信息进行绑定工作。系统的检测就必须满足全部状态和转换的覆盖。
五、结语
面向对象软件测试在和传统测试做对比时,前者的技术和方法具有不一样的方式,而测试的内容囊括有方法的测试和类的测试。面向对象测试的重点也从模块进入到类的测试中,因此类层的测试就被当做最基本的单元来进行检测。
参 考 文 献
[1] 郭滔. 面向对象软件测试技术研究[J]. 科技信息,2011,4(1):76-77.
[2] 徐舒. 面向对象软件测试技术研究[J]. 今日科苑,2010,50(1):301-303.
[3] 宋春秀. 面向对象软件测试技术的研究[J]. 信息安全与技术,2010,31(11):59-63.
[4] 王海燕,吴晓燕. 面向对象软件测试在气象数据采集系统中的应用[J]. 网络安全技术与应用,2009,41(9):223-224.
[5] 周娟,钱稷,刘扬. 基于面向对象的软件测试技术研究[J]. 微计算机信息,2009.15(7):46-49.