Welcome

首页 / 软件开发 / 数据结构与算法 / 测试运行:使用Virtual Server执行配置测试,第2部分

测试运行:使用Virtual Server执行配置测试,第2部分2012-01-09 MSDN James McCaffrey、 Paul Despe执行软件配置测试的方法有很多种。对于一些情形,一种有效的方法是使用 Microsoft Virtual Server 创建虚拟机库。由于 Virtual Server 基于一组 COM 模块构建,因此您可以使创建和执行虚拟机的过程完全自动化。

虽然各个 Virtual Server 自动化任务都有详细的说明,但在与执行测试的同事讨论的过程中,我们了解到需要一个完整的端到端示例,将用于自动化 Virtual Server 的所有部分集中在一起,以便进行软件配置测试。此外,几乎所有当前的 Virtual Server 自动化参考都使用以前的 VBScript 语言,而不是更为强大的 Windows PowerShell。

在本月的专栏中,我们将介绍使用 Virtual Server 和 Windows PowerShell 自动化软件配置测试的过程。我们假定您对这些技术有基本的了解,即使您刚开始接触这些技术,也应该能够按照我们的示例执行操作。

<strong>图 1</strong> 中的屏幕快照可使您很好地了解本专栏将要讲述的内容。我们的物理主机运行的是 Windows Server 2008,但是,本专栏介绍的所有技术也适用于 Windows Server 2003。此外,该主机还安装了 Virtual Server 2005 R2 SP1。<strong>图 1</strong> 中的屏幕快照显示的是一个名为 VitualMachine-Test 的来宾虚拟机,它运行 Windows XP SP2。有一点从屏幕快照中不太容易看出来,那就是该虚拟机是使用 Windows PowerShell 1.0 脚本创建的。在屏幕快照的背景中,您可以看到另一 Windows PowerShell 脚本已经在虚拟机上设置了一项“计划任务”。此任务是测试自动化,在虚拟机前台的 cmd.exe shell 中运行。

图 1 配置测试示例

在本专栏的下列部分中,我们将详细说明用以创建图 1 所示虚拟机的脚本,以及用以设置和执行测试自动化的脚本。我们相信您会发现,我们在此介绍的技术是对您的软件测试、开发和管理综合技能的有用补充。

使用 Windows PowerShell 实现 Virtual Server 自动化

Virtual Server 基于一组使用典型 DCOM 技术的对象构建。您可以使用任何可识别 COM 的语言(包括 VBScript、JavaScript、C#、Visual Basic .NET 和 Windows PowerShell)实现 Virtual Server 的自动化。我们的首选方法是使用 Windows PowerShell。它的优点包括可直接调用 Microsoft .NET Framework 以及命令行功能,这可以实现以交互方式开发脚本。由于 VBScript 和 JavaScript 是本机 Win32 脚本语言,所以可以直接创建和使用 Virtual Server 自动化对象。但是由于 Windows PowerShell 是与 .NET 兼容的语言,因此,要通过 Windows PowerShell 使用 Virtual Server 自动化远程对象,必须在每个对象上启用模拟。

您可以使用多种方法来实现此目的。最简单的方法是使用 Visual Studio 和 C# 创建自定义 DLL,其中包含允许您对本机 Win32 对象设置模拟级别的方法,然后从 Windows PowerShell 调用该自定义方法。我们使用另外一种方法,即使用 Windows PowerShell 动态编写和编译自定义 DLL,这有些出人意料。