在真实硬件上进行自动化软件测试

在真实硬件上进行自动化软件测试

我目前在一家小型测试农场工作,测试运行后重置机器的部分尤其让我头疼。
在我们决定购买几台具有不同硬件配置的专用测试机之前,计划是使用 Hyper-V 在一台机器上运行测试,因此事后清理只需删除实际的 VM 即可。
不幸的是,重置整台机器在时间方面会更昂贵一些,而且我猜如果你经常这样做,多年来硬件磨损也会更严重。

我认为,仅仅卸载已安装的软件是不够的,因为系统上可能还残留着一些文件/可再发行文件,这会使后续测试运行变得不那么有用。
我还认为,在测试机器上运行 Hyper-V VM 会对测试结果产生不利影响,尤其是在较弱的硬件配置上。

我真的很想知道是否有一些现有的解决方案可以解决这个问题,以及最明智的方法是什么。

答案1

您完全可以使用一组基于某些“黄金映像”+ 差异的虚拟机,并且可以在需要时随时间推移丢弃这些虚拟机。这是可编写 PowerShell 脚本的(关闭虚拟机、丢弃差异等),您也可以使用 Chef / Ansible 实现更高级别的自动化。另一种方法是使用 Veeam Community Edition,即使没有操作系统快照,它也可以执行相同的操作。当然,它是可编写 PowerShell 脚本的,因此自动化也很容易实现。

答案2

另一个选项是从 VHD 启动,创建一个 OS 基础安装,其中包含您需要配置和安装的所有内容。复制 VHDX。然后运行测试,用备份副本替换“脏”VHD,然后重新开始。您也可以自动执行其中的一些操作。

答案3

我最近了解到克隆Zilla拥有这个:

Clonezilla SE 支持多播,适合大规模克隆。如果您的客户端支持 PXE 和局域网唤醒,您还可以远程使用它来保存或恢复一组计算机。

答案4

不幸的是,重置整台机器在时间方面会更昂贵一些,而且我想如果经常这样做的话,多年来硬件也会磨损。

不。没有理由您的机器不通过 ISCSI 从网络启动,然后您又回到 Hyper-V 样式的行为(重置映像)。完成,结案。

相关内容