您的位置:网站首页 > app开发 > 郑州小程序开发 > 正文

软件开发之面向对象的测试策略(二)

作者:知网科技 日期:2020/6/17 人气:
标签:


 

       2.在面向对象语境中的集成测试

 

       郑州软件公司认为因为面向对象软件没有层次的控制结构,传统的自顶向下和自底向上集成策略就没有意义,此外,一次集成一个操作到类中(传统的增量集成方法)经常是不可能的,这是由于“构成类的成分的直接和间接的交互”。传统的集成测试,一般可以在部分程序编译完成的情况下进行。而对于面向对象程序,相互调用的功能是散布在程序的不同类中,类通过消息相互作用申请和提供服务。类的行为与它的状态密切相关,状态不仅仅体现在类数据成员的值上,也许还包括其他类中的状态信息。由此可见,类相互依赖极其紧密,根本无法在编译不完全的程序上对类进行测试。所以,面向对象的集成测试通常需要在整个程序编译完成后进行。此外,面向对象程序具有动态特性,程序的控制流往往无法确定,因此也只能对整个编译后的程序做基于黑盒子的集成测试。

 

       对面向对象软件的集成测试有两种不同策略,第一种称为基于线程的测试,集成对回应系统的一个输人或事件所需的一组类,每个线程被集成并分别测试,应用回归测试以保证没有产生副作用。第二种称为基于使用的测试,通过测试那些几乎不使用服务器类的类(称为独立类)而开始构造系统,在独立类测试完成后,下一层的使用独立类的类(称为依赖类)被测试。这个依赖类层次的测试序列一直持续到构造完整个系统。序列和传统集成不同,使用驱动器和桩作为替代操作是要尽可能避免的。

 

       集群测试是面向对象软件集成测试的一步,这里一群协作类(通过检查CRC和对象一关系模型而确定的)通过设计试图发现协作中的错误的测试用例而被测试。

 

       郑州苹果软件开发认为面向对象的集成测试能够检测出相对独立的单元测试无法检测出的那些类相互作用时才会产生的错误。基于单元测试对成员函数行为正确性的保证,集成测试只关注于系统的结构和内部的相互作用。面向对象的集成测试可以分成两步进行:先进行静态测试,再进行动态测试。

 

       静态测试主要针对程序的结构进行,检测程序结构是否符合设计要求。现在流行的一些测试软件都能提供一种称为“可逆性工程”的功能,即通过原程序得到类关系图和函数功能调用关系图,例如 International Software Automation公司的 Panorama—2 for Win-dows95、Rational公司的 Rose C++Analyzer等,将“可逆性工程”得到的结果与 OOD的结果相比较,检测程序结构和实现上是否有缺陷。换句话说,通过这种方法检测OOP是否达到了设计要求。

 

       郑州android开发认为动态测试设计测试用例时,通常需要上述的功能调用结构图、类关系图或者实体关系图为参考,确定不需要被重复测试的部分,从而优化测试用例,减少测试工作量,使得进行的测试能够达到一定覆盖标准。测试所要达到的覆盖标准可以是:达到类所有的服务要求或服务提供的一定覆盖率;依据类间传递的消息,达到对所有执行线程的一定覆盖率;达到类的所有状态的一定覆盖率等。同时也可以考虑使用现有的一些测试工具来得到程序代码执行的覆盖率。

 

       具体设计测试用例,可参考下列步骤。

 

       (1)先选定检测的类,参考OOD分析结果,仔细找出类的状态和相应的行为,类或成员函数间传递的消息,输人或输出的界定等。

 

       (2)确定覆盖标准。

 

       (3)利用结构关系图确定待测类的所有关联。

 

       (4)根据程序中类的对象构造测试用例,确认使用什么输人激发类的状态、使用类的服务和期望产生什么行为等。

 

       值得注意的是,设计测试用例时,不但要设计确认类功能满足的输人,还应该有意识地设计一些被禁止的例子,确认类是否有不合法的行为产生,如发送与类状态不相适应的消息,要求不相适应的服务等。根据具体情况,动态的集成测试,有时也可以通过系统测试完成。

 

       3.在面向对象语境中的有效性测试

 

       郑州安卓软件开发认为在有效性或系统层次,类连接的细节消失了。和传统有效性一样,面向对象软件的有效性集中在用户可见的动作和用户可识别的系统输出。为了协助有效性测试的导出,测试人员应该利用作为分析模型一部分的用例,用例提供了在用户交互需求中很可能发现错误的一个场景。

 

       传统的黑盒测试方法可被用于驱动有效性测试,此外,测试用例可以从对象一行为模型和作为OOA的一部分的事件流图中导出。

       转载请注明出处:郑州知网软件  http://www.nwisdom.com


(())
顶一下
参与讨论
姓名: 验证码:看不清楚,换一个
最新评论

联系我们

软件开发: 15838307519(司经理)

网络营销: 13676968269(王经理)

网络建设: 13073737771(郭经理)

24小时服务电话: 0371-56683330

了解更多APP开发

+好友