当一个软件开发的各种类型的测试单元、一体化的、功能性的手册。在我的前项目(它与sql服务器),其中有的遗产代码(没有测试),我们做了很多错误。我们正在尝试移除它们结合使用的手册+测试(多数是集)

但是,仍然有一些错误可以逃脱。

例如(a假设情景)-如果客户已经购买一些值得的货物的最后6个月,他应该给予一定的折扣购买他做一次6个月已经失效。他的状态应该被更新的特权。

但是,由于某些原因(在错误代码)的系统是不这样做。我们应该如何处理这种情况?我们应该有一个脚本上运行数据库,它看起来用于方案,例如描述的?另一个扩展方案可能是,客户必须发送一个礼物,一旦他是特权,但是系统缺少这样做。

想法?

有帮助吗?

解决方案

"我们应该有一个脚本上运行数据库,它看起来用于方案,例如描述的?"

你的意思是"把脚本数据库中的正确的问题",然后 没有.

没有。从来没有。在任何情况。周围工作的一个错误通过增加特殊的特殊情况的逻辑是真的一个非常糟糕的主意。

  1. 当这奇特的特殊情况下的逻辑都有它自己的错误,你已经加入马车代码尝试和正确的车码。一种净损失。

  2. 当你尝试,以增强该系统,你有这个特殊的特殊情况下的逻辑,并没有任何意义。

    a.如果你是幸运的,你的错误,它本来是要解决,这将是多余的。现在怎么办?这副本,以删除?

    b.否则,就会自相矛盾的其他代码。现在怎么办?这是正确的?

如果你的意思是"把脚本在数据库,以帮助找到和调试的问题",然后是。时间很短,使用每一工具在你的处置,以发现和解决错误。一旦发现和固定的,这个脚本是那么没用 必须 被删除。

如果你的意思是"编写脚本数据库中测试的应用程序",然后是。那是什么单元的测试脚本。使用它们。

它远远更好的创建单元的测试,而不是创建脚本,你把该数据库。 单元试验是最好的办法。

其他提示

您应该有一个自动化测试套件在适当位置。该测试套件将实现所有规范所要求的方案。既然不能等待6个月的测试贴现作品,实际执行是通过的模拟实现(的例子是在Java中,但同样的原则在其他语言的应用),即如‘模拟’有6个月过去了。人们可以用断言测试自动化。

一旦你拥有了整个测试套件的准备,如果经过所有测试(像以前一样)一个重构/代码的改变,一个可以肯定的是没有功能已经由于在重构打破。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top