软件测试简述与展望[4] 软件测试
4.2面向对象测试方法
在面向对象的开发中,将现实问题空间的实例抽象为类和对象,用类和对象的结构来反映现实问题空间的复杂关系,用类的属性和服务表示实例的特性和行为。所以对一个设计系统而言,行为是相对稳定的,而结构是相对不稳定的。
所以对面向对象的测试是从类和对象的测试开始的,测试的方法不再是传统的输入输出模型,更加关心的是有效的动作(操作)序列,不同的动作(操作)序列会产生不同的结果。测试用例的选择则是针对使用的一组组操作序列。对系统的图形用户界面(GUI)的测试充分反映出面向对象测试的特点。
面向对象测试的整体目标,是以最小的工作量发现最多的错误,它和传统软件测试的目标是一致的,但是面向对象测试的策略和技术有很大不同。测试的视角扩大到包括复审分析和设计模型,测试的焦点从模块转向了类。类是面向对象方法中最重要的概念,是构成面向对象程序的基本成分。
面向对象程序中的类的概念是在抽象数据类型的基础上加上继承性。抽象数据类型的测试技术部分地适用于类的测试,同时又因为未考虑类的继承性而存在不足。再者,因为面向对象程序中的类缺乏像过程那样明确定义的输入/输出行为,因而传统的测试过程的方法只适用于类中方法的测试,而不适用于类的整体测试。
此外,分别对类中的方法进行单独测试并不等同于类的测试,即孤立地检查类中方法的正确性不足以保证类在整体上是正确的。因此,我们需要研究专门面向类的测试技术。
4.3基于模型的软件测试
随着面向对象软件开发技术的广泛应用和软件测试自动化的要求,基于模型的软件测试(Model-BasedSoftware Testing)逐渐得到重视。基于模型的软件测试属于基于规范的软件测试范畴,其特点是:在产生测试例和进行测试结果评价时,
都是根据被测试应用程序的模型及其派生模型(一般称作测试模型)进行的。基于模型的测试最初应用于硬件测试,广泛应用于电信交换系统测试,目前在软件测试中得到了一定应用,并在学术界和工业界得到了越来越多的重视。
文章来源于领测软件测试网 https://www.ltesting.net/