如何将客户端PC环境模拟为VM进行错误复制和QA测试

时间:2017-08-04 18:10:10

标签: debugging testing virtual-machine qa

是否有任何资源或工具允许我将客户端计算机复制/映像为VM环境,以尝试复制在我们的测试环境中无法重现的错误。

理想情况下,工作流程如下:

  1. 获取远程PC环境的快照/图像
  2. 将远程PC环境的快照/映像加载为VM
  3. 在远程PC环境中测试不可重现的错误/问题
  4. 我遇到了客户端报告错误的问题,我们无法在任何测试环境中重新创建错误。

2 个答案:

答案 0 :(得分:0)

从物理机到虚拟机有很多选择。

其中一个选择是使用Disk2vhd。以下步骤来自hyperv.veeam.com/

  1. 下载Disk2vhd实用程序。转到Windows Sysinternals页面并下载该实用程序。
  2. 在要转换的物理服务器上运行Disk2vhd。
  3. 将磁盘转换为VHDX格式并将其复制到Hyper-V主机。
  4. 在Hyper-V主机上创建新VM。
  5. 插入创建的磁盘。
  6. 运行VM。
  7. 话虽如此。如果您正在解决无法在本地重新创建的崩溃或挂起问题,请查看收集崩溃或挂起违规进程的转储。在Windows上,工具adplus与Windows调试工具一起分发,并直接收集转储。收集转储后,您可以使用相同工具分发中的WinDbg进行分析。转储文件小于传输整个VM映像,并且经常显示问题。

答案 1 :(得分:0)

嗯,实际上有可能你很难在现实生活中引入这种做法,因为:

  1. 它取决于您的客户拥有的操作系​​统
  2. 整个用户状态的快照是一件非常重要的事情。可能需要很长时间才能拿一个并消耗大量的流量来将快捷方式交付给你
  3. 制作客户端计算机的快照意味着访问可能是机密的数据。您不太可能被允许访问此类数据。
  4. 即使您拍摄快照,也不太可能获得100%相同的环境,因为有不同的外部因素会影响应用行为(例如用户在域中拥有的权限)
  5. 正如this文章中所述,当安装了Windows操作系统时,安装与特定硬件相关(不过我认为它适用于任何操作系统安装),因此需要解开备份从测试的角度来看,在一个硬件上对抗其他硬件可能会使你的状态不可靠。
  6. 我建议你考虑以下备选方案:

    1. 如果没有安全限制,您可以从中获取快照 客户端,如果你

      ,它可能会没事的
      • 远程连接到客户端的计算机。这将大大减少传输数据的资源。这样您就可以执行一些测试并收集日志了
      • 为您的应用引入远程调试功能。这样您就可以使用IDE调试器连接到客户端的应用程序sintance并观察状态。
    2. 如果存在,您可以考虑可能影响行为并记录它们的风险最大的客户端状态属性。实际上,尽可能多地记录,并且客户端允许您记录。这就是说,android devs会从应用程序中收到错误。您永远不会将手机操作系统的快照发送给应用开发者。

    3. 如果您仍想使用虚拟化方法,那么您应该考虑不同操作系统的选项。最可靠的选择是,如果您的客户端在虚拟化环境中工作,那么他们可以在他们的网络中为您分配类似的实例,或者如果您使用相同的虚拟化软件,则为您提供快照