C++中的回归测试

Łuk*_*Lew 8 c++ testing regression-testing

我不能对代码的某些部分使用单元测试,所以我回到了回归测试.我想检查一下修改后我的程序是否以相同的方式运行.行为我的意思主要是数据结构状态.到目前为止,我将它们序列化为人类可读的文本格式,并在第一次运行时转储到某些文件中.然后在下一个转储中,我可以比较状态是否改变.如果更改来自新功能而不是来自错误,请更新它.

我可以使用库(C++)来组织所有这些.你知道任何?与转储文件一起,它将提供廉价,大规模的单元测试.

最麻烦的是序列化程序.有时我只是转储内存状态,但是当它不同时,很难进行逆向工程.所以我转向另一种方法.现在,在比较阶段,我将内存转储读入"幻像"对象,并运行专门的diff方法(operator ==,具有丰富的错误报告),有时比序列化为人类可读的文本格式更容易编写.

基本上我觉得要重新发明轮子,所以我的问题很普遍:
你如何进行回归测试(如果你这样做)?
你使用任何库/工具包吗?
你有没有为自己的需求实现一个?

只是出于好奇:
你有没有想过进行回归测试,但有些东西阻止了你?

小智 2

您可以查看Boost Test Library 。我从未使用过它,但它可能会满足你的愿望。

当我工作时,我通常在测试跟踪器中编写简单的测试用例,以使回归测试尽可能简单(特别是对于非我的人:)。