首页 今日热点 好文分享 生活资讯 科技资讯

虚拟化如何改变软件测试技术

时间:2019-12-20 17:19 来源:网络 整理:紫沐兜 浏览:259

在软件开发中,在软件测试上投入的时间与成品的成功直接相关。话虽这么说,当优先考虑将产品推向市场时,没有人能够无休止地测试产品。诸如单元测试之类的技术已帮助简化了软件开发人员对他们的创作的评论,但这并不是一个完整的解决方案。

软件测试

测试人员仍然难以创建合适的测试环境,而虚拟化正是这种环境。

虚拟化涉及创建具有特定参数的虚拟计算环境,测试人员可以使用这些参数来试验在特定条件下运行的软件。从历史上看,创建这些环境会从过程的真正重要的部分上浪费时间和其他资源:运行实际测试。但是,现在,可以在一台计算机上启动多个虚拟环境,因此优先进行测试。

虚拟化的其他好处包括更好的资源分配,节省的硬件成本以及改进的网络安全支持。好处深远-但前提是虚拟测试环境能够准确模拟现实环境并提供可靠的安全性。为此,开发人员正在求助于Microsoft和Amazon等第三方,   以基于虚拟化来测试软件。

越来越多,这不仅仅是一种选择,而是  最佳  选择。

虚拟化向前发展

虚拟化可能会解决两个核心挑战:安全性和特异性,因此很可能成为软件测试的标准。虚拟机比物理硬件更不容易受到攻击,从而使虚拟机对于测试敏感软件的安全性更高,否则这些软件可能会  落入黑客的手中。

虚拟化还支持Docker和Kubernetes等容器化解决方案,这些解决方案允许开发人员仅重新创建操作系统的一部分而不是整个操作系统。通过更好的安全性和更大的灵活性,测试可以高效进行。

我们在公司做了类似的事情:我们创建了两个额外的虚拟机,它们是原始计算机的精确副本。所有过程都在这些虚拟机上进行,因此我们不必担心崩溃或黑客入侵。这种方法还使我们能够避免在安全测试期间使用主机,并且在发生故障的情况下,我们还可以将虚拟机的备份存储在主机上。

本质上,虚拟化可以提高测试过程的深度和质量。

开发人员可能花费较少的时间进行  测试,但是由于虚拟环境具有模仿真实计算条件的无限潜力,因此他们可以学到更多。现在,任何开发团队都可以测试兼容性的优势或尝试使用不同的用户配置文件,这些东西曾经被认为是极其困难的。

考虑假设的测试人员如何利用虚拟化。当他们发现软件中的错误时,便会创建快照,从本质上保存所有重要细节。然后将该快照发送给另一位开发人员,该开发人员处理原始虚拟环境的克隆副本,以进行进一步研究。因为虚拟环境中的错误不会损害该环境所在的物理机,所以测试人员可以自由地探索该错误。

实际上,虚拟化可以使测试快速但谨慎地进行,但是虚拟化并不是完美的。

虚拟机不能完全模拟所有计算环境。另外,可能会出现技术问题,并且最终测试必须始终在真实机器上进行。但是,即使存在缺陷,虚拟化也比所有替代方案都具有明显的优势。

虚拟化入门

尽管虚拟化可能会很有帮助,但必须使用具有多个关键功能的模拟环境。高度可配置(这意味着用户可以在测试环境中精确定义操作系统版本,RAM大小,通道容量或CPU时钟)至关重要。

实际的计算环境非常复杂,因此需要动态的虚拟环境来重新创建所有作用力和变量。虚拟环境也应该备份并且易于恢复。存在虚拟化在某种程度上将软件推向了极限。失败是目标,但测试人员必须能够在事后快速重新启动方案,这需要可访问的备份。

最后,测试人员必须对何时选择虚拟化 以及何时选择虚拟化 不切实际。例如,虚拟化对于性能测试或软件大量占用物理计算机资源的场景而言并不理想。

每个软件都是唯一的,没有一种测试方法适用于所有情况。

根据我使用虚拟化的经验,我建议测试人员保持谨慎的乐观态度。在许多情况下,它会带来测试人员希望的理想化体验:快速,高效和彻底。但是,在某些情况下,使用物理测试机更容易。

在所有情况下,这是不太你如何测试,更多的是  多少,你的测试。无论采用哪种方法,都应始终对软件进行测试,直到开发人员知道它可以达到标准为止。

顶: 0 踩: 0