【问题标题】:How to simulate client PC environment as a VM for bug replication and QA testing如何将客户端 PC 环境模拟为 VM 以进行错误复制和 QA 测试
【发布时间】:2017-08-04 18:10:10
【问题描述】:

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

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

  1. 获取远程 PC 环境的快照/映像
  2. 将远程 PC 环境的快照/映像加载为 VM
  3. 在远程 PC 环境中测试不可重现的错误/问题

我遇到了客户报告错误而我们无法在任何测试环境中重新创建它们的问题。

【问题讨论】:

    标签: debugging testing virtual-machine qa


    【解决方案1】:

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

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

    1. 下载 Disk2vhd 实用程序。转到 Windows Sysinternals 页面并下载该实用程序。
    2. 在您要转换的物理服务器上运行 Disk2vhd。
    3. 将磁盘转换为 VHDX 格式并将其复制到 Hyper-V 主机。
    4. 在 Hyper-V 主机上创建新 VM。
    5. 插入创建的磁盘。
    6. 运行虚拟机。

    话虽如此。如果您正在解决无法在本地重新创建的崩溃或挂起问题,请查看收集违规进程的崩溃或挂起转储。在 Windows 上,工具 adplus 随 Windows 调试工具一起分发,可以直接收集转储。收集转储后,您可以使用同一工具分发中的 WinDbg 对其进行分析。转储文件比传输整个 VM 映像要小,并且经常显示问题。

    【讨论】:

      【解决方案2】:

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

      1. 这取决于您的客户使用的操作系统
      2. 整个用户状态的快照是一件非常重要的事情。将快照交付给您可能需要很长时间并消耗大量流量
      3. 制作客户端计算机的快照意味着访问可能是机密的数据。您不太可能被允许访问此类数据。
      4. 即使您进行快照,也不太可能获得 100% 相同的环境,因为存在可能影响应用行为的不同外部因素(例如用户在域中的权限)
      5. 正如this 文章中所述,当安装 Windows 操作系统时,安装与您拥有的特定硬件相关(但我相信任何操作系统安装都是如此),因此打开一个备份从测试的角度来看,硬件与其他一些硬件的对比可能会使您的状态不可靠。

      我建议您考虑以下替代方案:

      1. 如果没有安全限制,您可以从 客户,如果你可能会没事的

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-03-27
        • 2018-09-07
        • 1970-01-01
        • 2016-11-06
        • 1970-01-01
        • 1970-01-01
        • 2021-10-06
        相关资源
        最近更新 更多