测试软件的最佳方法不只一种。除手动测试外,根据您的具体开发环境,您可使用商业测试自动化框架、开放源代码和内部测试自动化框架,以及自定义测试自动化脚本。所有这些方法都各有优缺点。
自定义测试自动化脚本的优势是编写快捷且最为灵活。但是,可管理性是自定义测试自动化的瓶颈。超大批量的测试脚本、测试案例数据和测试结果使得测试不堪重负。幸运的是,您可使用 Visual Studio 2005 Team System 管理自定义测试自动化。我将使用一些屏幕快照对此进行解释。首先,请考虑图 1 中所示的执行测试自动化脚本。
图 1 典型自定义测试自动化脚本
测试自动化是非常短的 JavaScript 脚本,对名为 TriMax 的方法(只返回三个整数中的最大一个)执行模块测试。TriMax 方法驻留在典型的 COM DLL 文件中。尽管简单且有效,但使用此类型方法的测试自动化还是有几个缺点。测试结果将存储在何处?此测试运行是根据 DLL 的哪个版本的执行?如何才能与开发团队的其他成员共享这些测试结果?这些结果是否与任何公开错误有关?Visual Studio Team System 专门处理此类问题,如图 2 所示。
图 2 使用 Team System 管理自定义测试自动化
Visual Studio 2005 Team System 由 Team Foundation Server (TFS) 和 Visual Studio 的一个客户端版本组成。您可将 TFS 视为智能后端数据仓库,该仓库用于存储和管理与软件开发项目关联的所有数据,包括源代码、错误、测试结果、规范文档以及其他内容。
我在本专栏中介绍的自定义测试自动化功能在面向测试人员的 Visual Studio Team Edition 中提供。您可从 microsoft.com/downloads 下载 Visual Studio 2005 Team Suite 的 180 天评估版本(其中包括所有版本的功能)以及 Team Foundation Server。
我将在本专栏中向您展示三个示例。第一个示例显示测试人员如何使用 VSTE 来提取一段非常简单的自定义测试自动化,并将其封装到可由 Team System 管理的测试中。第二个示例更进一步,向您显示如何修改自定义测试自动化以便您可以创建测试案例结果(具有更加详细的信息,而不是仅仅通告通过或失败)。我的第三个示例显示如何使用 Team Foundation Server 来存储和管理测试运行结果数据。