Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么';在多个Windows和Outlook版本上测试插件的好方法是什么?_Windows_Unit Testing_Visual Studio 2010_Testing_Outlook - Fatal编程技术网

什么';在多个Windows和Outlook版本上测试插件的好方法是什么?

什么';在多个Windows和Outlook版本上测试插件的好方法是什么?,windows,unit-testing,visual-studio-2010,testing,outlook,Windows,Unit Testing,Visual Studio 2010,Testing,Outlook,我们正在为Outlook构建一个插件,它可以在多个Windows版本(XP、Vista、7)上工作,也可以在不同的Outlook版本(2003、2007、2010)上工作 我现在面临的测试问题是,我无法找到一种好的/方便的/彻底的方法在多个Windows和Outlook版本上测试应用程序 目前,我有一个VirtualBox,它运行许多虚拟机,有不同的Windows版本和Outlook版本。因此,我将有一台使用Windows7测试Outlook2010的虚拟机,另一台使用Windows7测试Out

我们正在为Outlook构建一个插件,它可以在多个Windows版本(XP、Vista、7)上工作,也可以在不同的Outlook版本(2003、2007、2010)上工作

我现在面临的测试问题是,我无法找到一种好的/方便的/彻底的方法在多个Windows和Outlook版本上测试应用程序

目前,我有一个VirtualBox,它运行许多虚拟机,有不同的Windows版本和Outlook版本。因此,我将有一台使用Windows7测试Outlook2010的虚拟机,另一台使用Windows7测试Outlook2007,WindowsVista测试Outlook2010等等,并对一些可能的组合进行分析。它完成了一些工作,尽管它很麻烦并且需要很长时间来测试

应用程序中包含的一些测试是单元测试,但这也与我测试它的机器(带outlook 2010的windows 7)紧密相连。例如,我最近正在使用ManagementObject,它在我的系统上运行良好(因此通过了该方法的单元测试),但是,使用该对象会在另一个人的系统中引发异常,导致应用程序崩溃

我在VisualStudio2010Ultimate上工作

问题:是否有一种更优雅的方法使测试过程更精简、更高效?您还推荐其他测试方法吗?你将如何处理这个问题


谢谢!期待您的回复

我曾经在类似的情况下工作过(在我的例子中,是测试20种不同的Windows语言)。基本思想是一样的:每个虚拟机映射到您需要测试的特定条件

笨重的部分来自不恰当的工具使用。总之,有几种方法可以实现自动化(在一定程度上):

  • 使用支持漂亮脚本的VMWare ESX。不幸的是,它花了一点钱
  • 使用一些屏幕录制/重播工具来自动执行您现在手动执行的操作。市场上有很多,而且价差很大。只有你才能知道什么最适合你
  • VirtualBox可以通过命令行还原。因此,如果您可以设置一组托管VBox的计算机,每个计算机都配置为在重新启动期间还原VBox,并且每个来宾映像都编写了脚本以加载您的测试,那么问题是如何按照您的意愿重新启动这些计算机。这是一个更容易的问题,因为有很多方法可以远程重启机器
我想您必须使用相同的过程,因为不同版本的outlook、office dll不能在单个操作系统上运行。谢谢!我不太明白“通过命令行还原”是什么意思,您可以扩展一下。您可以创建一个运行VBoxManage命令行的启动程序,将VBox还原到其以前的快照,然后再次启动VBox。VBoxManage手册可在以下位置找到: