Jam*_*mes 5 c# sql testing unit-testing regression-testing
我们当前在工作中采用的系统是编写一些极其复杂的查询,这些查询执行多个计算并具有多个连接/子查询。我认为我没有足够的经验来判断这是否正确,所以我同意并尝试使用这个系统,因为它有明显的好处。
我们目前遇到的问题是编写查询的人犯了很多错误并假设一切都是正确的。我们现在已经指派了一名测试人员来分析所有查询,但这仍然证明非常耗时且压力很大。
我想知道我们如何创建一个自动化程序(如果可能的话,无需专门用代码编写它,因为我可以弄清楚如何做到这一点)来验证一组 10 多个不同的输入,验证输出数据并说如果计算正确。
我知道我可以使用数据库中的特定数据编写一个脚本,并使用 c# 创建一个脚本(数据库是 SQL Server)并验证所有出来的值,但我想知道官方的“标准”是什么,因为我的经验是我在这方面有所欠缺,希望能够改进。
如果需要,我很乐意添加更多信息,如果需要,请添加评论。谢谢。
编辑:我正在使用 c#
测试运行 SQL 查询的代码的标准方法是对其进行单元测试。(有比单元测试更高级别的测试,但听起来您的问题出在应用程序的一小部分特定部分,因此暂时不用担心更高级别的测试。)不要尝试测试查询直接,但测试查询的结果。也就是说,为运行查询的每个 C# 方法编写单元测试。每个单元测试都应该将已知数据插入数据库,调用该方法,并断言它返回预期结果。
C# 中单元测试的两种最常见方法是使用Visual Studio 单元测试工具或NUnit。如何编写单元测试是一个很大的话题。Roy Osherove 的“单元测试的艺术”应该是一个很好的起点。
| 归档时间: |
|
| 查看次数: |
11637 次 |
| 最近记录: |