我不能对代码的某些部分使用单元测试,所以我回退到回归测试。我想检查一些修改后我的程序是否以相同的方式运行。我所说的行为主要是指数据结构的状态。到目前为止,我正在将它们序列化为人类可读的文本格式,并在第一次运行时转储到一些文件中。然后在接下来的转储中,我可以比较状态是否发生了变化。如果更改来自新功能而不是错误,则更新它。
我可以使用库 (C++) 来组织所有这些。你知道任何?与转储文件一起,它将提供廉价、大规模的单元测试。
最麻烦的是序列化程序。有时我只是转储内存状态,但是当它不同时,很难进行逆向工程。所以我转向了另一种方法。现在,在比较阶段,我将内存转储读入“幻像”对象并运行专门的 diff 方法(操作符 == 具有丰富的错误报告),这有时比序列化为人类可读的文本格式更容易编写。
基本上我想重新发明轮子,所以我的问题很笼统:
你如何进行回归测试(如果你这样做的话)?
您使用任何库/工具包吗?
您是否曾经根据自己的需要实施过一个?
只是出于好奇:
你有没有想过做回归测试,但有什么事情阻止了你?