我最近无意中发现了这篇(过时的)文章:
http://imranontech.com/2007/01/04/unit-testing-the-final-frontier-legacy-code/
据说作者编写了一个perl脚本来自动生成测试用例。 他的策略是这样的(引用):
然后它创建了一个dbx (Solaris调试器)脚本,每次 已调用所选函数,保存传递给 然后继续,直到函数返回该点为止 将保存返回值。
在dbx下运行可执行文件 脚本,以及我将应用程序用作 我想很多正常的案子 仔细阅读有问题的代码,尤其是我认为 它会击中我想要创建单元测试的函数中的边缘情况 因为。
然后perl脚本执行所有的示例运行,并将其剥离 复制,然后自动生成包含单元测试的C文件 对于每个示例(即传入输入数据并验证 返回值与示例run中相同)Compiled/Linked/Ran 单元测试和丢弃失败的单元测试(即 导致函数非确定性行为的输入)
我有很多Python和Fortran语言的各种遗留代码。这篇文章来自2007年。在当前的单元测试框架中是否有类似的实现?在
我该怎么写这样的剧本呢?在
很像C。另外,我认为,依赖于操作系统(Solaris调试器)?我认为你应该看看“录制/捕获和回放”工具,尽管不知何故我认为“生成”部分从未真正发挥过作用。在
Python's testing tools taxonomy将是一个很好的起点。我认为您要么使用Selenium或Dogtail来记录应用程序。这个链接将带您进入Web测试工具这一部分,但也可以查看其他部分:模糊测试是一种类似于Golden Master的技术,它有时可能有助于遗留应用程序,是一种“记录/回放”技术。Feathers称这种测试为“特征化”测试,因为它们描述了遗留系统的行为。在
你引用的文章中有一个很好的观点:
这是我真正开始的地方。你把这些零件弄清楚了吗?分类法中的简单Git/SVB日志使用脚本和覆盖工具一节可以很方便地使用它。在
不幸的是,不仅如此,我也帮不了你——我的Python经验有限,而且Fortran也不存在。在
相关问题 更多 >
编程相关推荐