7

我有一个在(经典)ASP 和 SQL Server 2000 中实现的非常古老的项目。由于质量问题,我一直在考虑实现某种形式的自动化质量测试的可能性。虽然,网页是 ASP 项目,但实际上 85% 是 SQL Server 存储过程、函数、视图和 DTS。(大量依赖于 DTS)SQL Server 生成大量代码。

关于 DTS,我们希望有可能将数据库升级到 SQL Server 2005——所以如果不能在 DTS 上设置单元测试,那么 SSIS 呢?

我找到了 ASPUnit,但它似乎不再被维护......

至于我的问题,这确实是一个多部分的问题。

  1. 对 ASP 进行单元测试是否可行且可行?
  2. 对 SQL Server 对象进行单元测试是否可行且可行?(我在这方面看到了一些成功,但也有些沮丧
  3. 是否有当前支持的可用于 ASP 和 SQL Server 的测试框架?
  4. 是否有任何替代软件质量控制方法来对这种类型的代码库进行单元测试?(任何一般性建议也会有所帮助。谢谢。)
  5. 另外,我一直在考虑在这样的项目中实施自动化测试的投资回报率。项目很大。我不知道有多少代码,但有数百个文件,数千(如果不是数百万)行代码。鉴于此,让我们回到 1 和 3。

我对这个项目的处境真的很糟糕;任何一般的质量控制建议将不胜感激......

4

4 回答 4

5

WATiN 会很好用。它操纵浏览器,因此它不关心代码是用什么语言编写的,也不关心代码是好是坏,或者是否为可测试性而设计。这是回归测试,而不是单元测试。但这是一个很好的起点。

您可以使用您选择的单元测试工具:nUnit、mbUnit、MSTest 等。

于 2009-08-07T01:19:00.117 回答
3

听起来您的问题实际上比单元测试更高。我认为您的主要问题最好在集成测试级别解决。

由于您的页面主要由 SQL 生成,因此 asp 单元测试仅涵盖一小部分问题,因此通过使用诸如watinieunit/之类的自动化工具测试结束页面,您将获得更好的覆盖率。

您可以从单元测试的角度来考虑这些,但它们实际上是在测试集成后的最终结果,而不是测试较小功能的结果。尽管您可能会错过一些较低级别的更改,但您正在绕过底层设计问题。

只要您的最终结果保持不变,您的测试就不会关心该区域的内容是来自 asp 还是来自 SQL。

于 2009-08-06T18:34:55.237 回答
1

您可能会查看ajaxed 单元测试。(图书馆仍在维护)

于 2009-08-07T00:59:58.483 回答
0

对于 sql 升级本身(以及对 sql 代码的任何其他更改),我将查看 Sql Unit(尚未使用它)或类似的东西以仅在数据库上实现单元测试。

您可以与您选择的任何其他测试策略一起执行此操作。

请注意通过 UI 进行测试的缺点:http: //blog.objectmentor.com/articles/2010/01/04/ui-test-automation-tools-are-snake-oil。了解当设计师想要做出对他们来说应该可以做出的改变时,通过 UI 进行的测试通常是脆弱的。但是,对于严格升级 SQL 版本,您应该没问题。

于 2010-11-10T19:27:21.943 回答