软件测试时的清洁空间

时间:2009-11-20 12:21:15

标签: testing code-analysis stress-testing

我想仔细检查我的代码在使用我没有代码的其他库时的操作方式。虽然我可以在线进行此操作(即使用来自SysInternals的FileMon,RegMon和TCPView),但我想知道是否有一个好的离线方法可以让我在虚拟机中运行我的代码,关闭虚拟机并使整个差异化虚拟机映像?

2 个答案:

答案 0 :(得分:5)

所有集成测试肯定会使用您没有源代码的代码,框架库,数据库驱动程序,数据库,通信库。其中一些甚至可能不在您的代码所在的同一台机器上。我不清楚你希望实现什么。你打电话给排队系统,它会做各种秘密松鼠的事情。你之前和之后的差异,现在你能说什么?您知道应该代表您的请求的数据格式吗?

我认为测试是根据我正在使用的库和系统的已发布行为来定义的。数据库的示例:我执行一些应该创建订单的业务操作。我知道我定义的订单,它们是否出现在数据库中?在定义我的测试时,我可以根据数据库中的记录来指定明确的预期结果。然后我甚至可以自动化测试 - 将数据库中的提取与预期结果进行比较。

答案 1 :(得分:5)

由于对系统的持久修改要么在注册表中的文件系统中,您可以使用一个小程序列出硬盘驱动器上的所有文件并转储注册表。
然后你也可以在程序运行后执行它并做一个简单的文件差异。 如果您使用的是虚拟机,我认为您可以脱机安装磁盘映像(即虚拟机未运行)。但是,从脱机文件转储注册表可能会更难。 请参阅Google上的“装载vdi”。