面向代理的测试是指通过处理复杂的测试任务并使其自动化,将软件或智能或多代理系统等代理应用于软件测试问题。这种测试被认为是面向对象测试过程的延伸。人们越来越需要面向代理的系统来解决复杂的问题。代理可定义为一种软件程序,用于为用户执行某些特定任务,同时还具有一定程度的智能,可用于以有用的方式自主执行部分任务。

面向对象测试是一种软件测试过程,使用面向对象范例(如封装、继承、多态性等)对软件进行测试。软件通常要经过从单元测试到系统或验收测试等多个层次的测试。通常,在单元测试中,软件的小 “单元 ”或模块会被单独测试,重点是测试该模块的代码。在高阶测试(如验收测试)中,对整个系统(或子系统)进行测试,重点是测试系统的功能或外部行为。这种测试方法是一种以数据为中心的技术,而不是算法。

注:面向代理的测试是面向对象测试的延伸,对象和代理的属性不同。代理被称为智能对象,因为它具有一些独特的属性,如反应性、社交能力、可学习性等,但代理的这些智能因素增加了测试的难度,因此,吸收面向对象测试的技术来进行面向代理的测试是非常复杂的。

面向对象测试和面向代理测试的区别

/ 面向对象的测试 面向代理的测试
1 在面向对象测试中,其单元是对象。 在面向代理测试中,其单元是代理。
2 面向对象的测试是结构编程范式的扩展。 面向代理的测试是面向对象编程的扩展。
3 面向对象的测试由方法和函数定义。 由它们的行为定义。
4 面向对象的测试是静态的,因为对象一旦由类创建,就不能改变其类。 面向代理的测试是动态的,因为创建的代理可根据情况改变其行为,以实现其目标。
5 面向对象的测试按照用户的定义开展工作。 面向代理的测试首先了解问题,然后根据问题开展工作。
6 面向对象的测试对失败的抵抗力较弱,无法找到任何合适的解决方案。 鲁棒性强,因此能从失败中走出来。
7 面向对象的测试有一些独特的属性,如继承、多态、封装等。 面向代理的测试具有一些独特的属性,如主动性、反应性、流动性、社交能力等。
8 与基于代理的测试相比,这种测试更简单。 与面向对象测试相比,面向代理的测试比较复杂。
9 测试过程不依赖任何工具。 面向代理的测试依赖于面向对象测试的工具或技术。