在生产之前如何在可能的sql server死锁上测试你的软件?

时间:2012-03-06 06:10:40

标签: sql sql-server deadlock

想象一下,您开发了一个在SQL Server数据库中读取/写入/更新/删除数据的应用程序。

在将其投入生产之前,您运行了哪些测试来查看所有可能的sql死锁?

1 个答案:

答案 0 :(得分:0)

您需要遵循测试的基础知识。 单元测试

  • 正面测试用例,简单的测试用例,可以帮助您入门
  • 负面测试用例,添加验证失败的错误数据,并检查是否已写入
  • 边界(不要将其与否定混淆),检查所有限制,验证,0,maxint,minint。对于gps,检查+90度,-90度,-180度......基本上测试并不像你想象的那么容易。正确行事比编码更痛苦。

所有上述测试都应该关注代码COVERAGE(路径覆盖,如果你有胆量:)。)。

是的,您需要测试系统中的添加,更新,删除异常。每个表,每个关系每个连接执行此操作。

尺度能力

  • 每个表,您需要添加来自不同客户端的数据,增加客户端数量,直到您中断。它必须突破。这就是你可以扩展到最大。

性能

  • 性质比较。您无法单独测试性能。它必须介于构建之间,竞争产品之间(完全相同的数据,完全相同的硬件,完全相同的情况)

应力

  • 同时添加来自各方的大量数据(不要在这里使用scale-ability max,意图是“NOT”打破,但要找出它是否可以处理大量数据,用户,并发。 / LI>

可靠性

  • 此处使用正常数据,即客户正在寻找的正常情景。并运行48/72小时。 gc应该疯狂,内存泄漏不应该继续增长,性能应该是“一致的”(不一定是最好的)。但是不应该随着时间的推移“掉落”。寻找“随时间变坏的事情”。