如果自动化测试框架能管理测试项目、安排任务,将产品用户需求和测试需求很好地结合起来,那么测试目标更明确,测试的效率会得到进一步提高。测试结果的分析也是很重要的,一般也要求在自动化测试框架中得到解决。重要的是易用,将各个工具集成起来,并能很好地使用这些工具。例如,openqa.org社区提供了一个工具Bromine,它集成了Selenium Core/RC,非常容易跟踪和管理测试项目、需求、测试计划、测试用例和缺陷,可以监控缺陷的提交和将缺陷分派给相应的开发人员,浏览和分析测试结果。

  一个理想的自动化测试框架能解决上述问题,提供一个分布式的通讯平台、友好的人机交互界面和开放式架构,将自动化测试中所需要的各个关键部分有机地集成起来,形成一个为自动化测试服务的、完整的、层次清楚的开发平台和运行环境,包括:

1)  综合管理平台,可以将自动化测试中所有的工作内容管理起来,相当于一个统一的入口(Portal),可以浏览每部分的内容;

2) 基于业务驱动的脚本集成开发环境,这样比较容易构造关键字驱动的脚本,为此要建立软件系统的对象库,并将这些对象映射为脚本中的逻辑对象,以减少软件需求变化对脚本的影响。这个集成开发环境还包括脚本录制、编辑等功能,并能和CVS、Ant等工具集成。其中库函数可以看作是关键字列表和关键字实现,而对象映射可以看作对象库和映射关系构成的。

3)  安排(schedule)测试任务,使任务可以定时启动,自带执行测试任务;

4)  在测试过程中,能够监控测试资源,并及时发现问题,发出警告,并保留(记录)相关数据;

5)  控制中心(控制器),驱动测试工具,可以调用测试任务,并能将测试任务、测试脚本等分发给远程机器;

6)   远程机器执行测试任务,通过代理实现,而代理由控制中心来控制。