对于某个特定程序,为其开发自动化功能测试解决方案的过程,与创建该程序的过程,二者相较并没有很悬殊的差别。自动化测试是一个非常年轻的领域,它正在不断经历大量的进步、提升和标准化进程。在这个领域中,涌现了许多与“被测系统”(SUT,SystemUnderTest)互动的新工具。现在,软件开发方面有大量可供选择的方法论和途径,例如:面向对象编程、函数式编程、领域驱动设计、测试驱动设计、行为驱动设计等等。它们拥有明确的声明性概念和理论,并简化了对初始系统架构的定义过程、对系统的理解以及开发者之间的知识交换等方面的工作。本文将主要针对GUI(图形用户界面)应用的测试自动化进行讨论——从自动化开发人员的角