gpt4 book ai didi

python - 如何自动执行 Windows 驱动程序和二进制文件的防病毒/WSUS 补丁测试?

转载 作者:太空狗 更新时间:2023-10-30 01:35:17 24 4
gpt4 key购买 nike

我的(相当小的)公司开发了一个流行的 Windows 应用程序,但我们一直在努力解决的一件事是测试 - 它通常只由开发人员在与他们开发它的系统相似的系统上进行测试,并且当更新已推送给客户,由于 Windows 补丁的一些奇怪功能,或者某些偏执的防病毒应用程序(我正在看着你,Comodo 和 Kaspersky!),我们基地的一部分遇到了问题,他们会在我们的应用程序上误报。

我们对 70% 的用户使用的产品进行手动测试,但速度缓慢且痛苦,有时还没有达到应有的程度。管理层一直坚持认为我们需要做得更好,但他们在发布时一直在赌这个问题(测试需要多长时间?只要推出它,我们就会向遇到问题的客户发布补丁!)。

我想使用 VM 设计一个更好的自动化测试系统,但可以使用一些关于如何实现它的想法,或者如果有 COTS 产品,任何建议都会很好。我正在一起破解一个 Python 脚本来“运行”我们产品的每个功能,但我不确定如果我们遇到 Windows 崩溃如何进行测试(除了检查它是否仍在进程列表中),或者更糟的是,如果 Comodo 出于某些愚蠢的原因标记了它。

为了最好地模拟测试环境,我尽量让 VM 保持“纯净”,而不是在操作系统和防病毒软件以及一些常用应用程序(Acrobat Reader、Firefox等)。

任何想法将不胜感激!

最佳答案

有趣的问题。要避免的一件事是使用防病毒 API 来检查您的应用程序是否触发了它们。您希望在预期的操作系统上真正实时部署您的应用程序,并使用实时实时 AV 安装监控它。这样,您将触发启发式监视以及 API 使用的简单“此代码是否匹配该校验和”。

您还没有告诉我们您的应用程序是用什么编写的,但是如果您的应用程序测试套件实际运行了应用程序的某些部分,而不是测试单个代码路径,那么这可能是一个好的开始。理想情况下,您的集成测试套件与您用来检查部署目标问题的测试套件相同。您的集成测试应该在实时环境中验证每个测试的输入和输出,这应该捕获崩溃等。另外,不要忘记检查花费的时间比它们应该花费的时间长得多的事情,不幸的是,这是一种常见的故障模式。最重要的是,您的测试套件需要足够容易编写、更改和改进,以便它实际上与产品保持同步。不测试一切的测试是无用的,不运行的测试更糟。如果我们有更多关于您的程序如何工作的信息,我们可以就如何自动化它提供更好的建议。

您可能需要一套跨预期部署目标的 VM 镜像,处于各种补丁(和未补丁)状态。对于某些应用程序,您需要为 IE 的每个变体使用单独的 VM,因为这会改变系统的其他方面。非常注意每个 VM 中的组合。一次不要测试多个 AV。在运行测试之前更新快照中的 AV。如果您的镜像中有足够大的组合软件,您可能需要自动创建镜像 - 获取基本系统构建、更新到最新的补丁级别,然后编写 AV 和其他应用程序组合的安装脚本。

是的,维护这个 VM 农场会很痛苦,但如果您编写应用程序部署脚本,并且有良好的快照和修补和更新快照的计划,那么实际的测试套件本身不应该承担所有这些长时间运行给定适当的硬件。您需要研究 VM 解决方案,但我可能会从 VMWare 开始。

关于python - 如何自动执行 Windows 驱动程序和二进制文件的防病毒/WSUS 补丁测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6208385/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com