面向代理的测试是指通过处理复杂的测试任务并使其自动化,将软件或智能或多代理系统等代理应用于软件测试问题。这种测试被认为是面向对象测试过程的延伸。人们越来越需要面向代理的系统来解决复杂的问题。代理可定义为一种软件程序,用于为用户执行某些特定任务,同时还具有一定程度的智能,可用于以有用的方式自主执行部分任务。
面向对象测试是一种软件测试过程,使用面向对象范例(如封装、继承、多态性等)对软件进行测试。软件通常要经过从单元测试到系统或验收测试等多个层次的测试。通常,在单元测试中,软件的小 “单元 ”或模块会被单独测试,重点是测试该模块的代码。在高阶测试(如验收测试)中,对整个系统(或子系统)进行测试,重点是测试系统的功能或外部行为。这种测试方法是一种以数据为中心的技术,而不是算法。
注:面向代理的测试是面向对象测试的延伸,对象和代理的属性不同。代理被称为智能对象,因为它具有一些独特的属性,如反应性、社交能力、可学习性等,但代理的这些智能因素增加了测试的难度,因此,吸收面向对象测试的技术来进行面向代理的测试是非常复杂的。
面向对象测试和面向代理测试的区别
/ | 面向对象的测试 | 面向代理的测试 |
---|---|---|
1 | 在面向对象测试中,其单元是对象。 | 在面向代理测试中,其单元是代理。 |
2 | 面向对象的测试是结构编程范式的扩展。 | 面向代理的测试是面向对象编程的扩展。 |
3 | 面向对象的测试由方法和函数定义。 | 由它们的行为定义。 |
4 | 面向对象的测试是静态的,因为对象一旦由类创建,就不能改变其类。 | 面向代理的测试是动态的,因为创建的代理可根据情况改变其行为,以实现其目标。 |
5 | 面向对象的测试按照用户的定义开展工作。 | 面向代理的测试首先了解问题,然后根据问题开展工作。 |
6 | 面向对象的测试对失败的抵抗力较弱,无法找到任何合适的解决方案。 | 鲁棒性强,因此能从失败中走出来。 |
7 | 面向对象的测试有一些独特的属性,如继承、多态、封装等。 | 面向代理的测试具有一些独特的属性,如主动性、反应性、流动性、社交能力等。 |
8 | 与基于代理的测试相比,这种测试更简单。 | 与面向对象测试相比,面向代理的测试比较复杂。 |
9 | 测试过程不依赖任何工具。 | 面向代理的测试依赖于面向对象测试的工具或技术。 |