有关如何为ASP.NET创建Web测试的参考资料

时间:2009-08-04 17:33:11

标签: .net asp.net ascx webtest

我已经使用.net单元测试工作了一段时间。现在我需要为 ascx和ascx.cs 页面创建测试(但是aspx和aspx.cs引用也可能有帮助)。我对网络测试不是很熟悉。任何人都可以提供可能有用的提示或参考资料(教程,关于最佳实践的博客文章等)吗?

它可以是关于使用VS2008工具的测试或使用文本编辑器对测试进行编码的参考。

3 个答案:

答案 0 :(得分:2)

首先,让我们退后一步,通过测试UI页面和控件来了解您要完成的任务。您是否只是想看到您的应用程序数据可以在页面/控件中呈现?

根据我的经验,测试Web UI层所需的工作量要比测试分离良好的业务和数据层要多一些。如果您按照可靠的MVC模式设计应用程序,则可以轻松地自动测试Controller和模型层,其中包括所有数据访问和业务规则。这应该使用MSTest,NUnit或XUnit等来完成。

您的网络表示层(即网页.ASPX页面和.ASCX用户控件)应该通过控制器连接到同一个业务逻辑......这些控制器已经过测试。

如果您相信80/20规则,在这种情况下,它意味着80%的应用程序将以20%的努力进行测试。对于大多数项目来说,更加努力地自动化测试单个页面和控件是不合适的;相反,我建议只在Visual Studio中创建一个负载测试,记录基本用例,例如登录,加载几个页面以及与几个页面控件交互。

运行此负载测试以验证应用程序在开发和测试环境中是否正常运行,并且一旦投入生产,您将需要实际用户验证一切正常工作。

要查看有关ASP.NET MVC2框架click here

的文档

查看MVC模式的一般描述click here

答案 1 :(得分:1)

我建议不要测试“ascx和ascx.cs”,而是测试向用户显示的UI并测试服务/存储库/模块(如果你使用的是一些好的模块化架构,并且没有在代码隐藏中编写所有代码页)。要测试用户界面,您可以使用Selenium RC。它有很多用法样本:
http://www.lostechies.com/blogs/agilecruz/archive/2009/02/10/how-to-configure-selenium-rc-for-use-in-c-nunit-tests.aspx
http://thetestingblog.com/2009/09/10/selenium-rc-in-c-using-nunit-an-end-to-end-example/
http://www.stevetrefethen.com/blog/AutomatedtestingofASPNETwebapplicationsusingSelenium.aspx
http://codebetter.com/blogs/jeremy.miller/archive/2006/05/14/144666.aspx
而且还有一个special .net toolkit

答案 2 :(得分:0)

抓取Fiddler2的副本。运行时,它将“记录”您与ASP.NET服务器的会话(请求和响应 - 当“记录”新的Web测试时,也由Visual Studio完成)。然后,您可以选择请求并将其保存为可视化的网络测试。

其余的是了解ASP.NET如何创建和使用请求和响应来控制应用程序。

将您的网络测试转换为编码网络测试并搜索微软,以获取有关网络测试用于获取额外信用的每个对象的详细信息。