【问题标题】:References on how to create webtests for ASP.NET关于如何为 ASP.NET 创建 webtests 的参考资料
【发布时间】:2009-08-04 17:33:11
【问题描述】:

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

它可以是关于使用 VS2008 工具进行测试的参考资料,也可以是使用文本编辑器编写测试代码的参考资料。

【问题讨论】:

  • 您可以在MSDN查看这篇文章
  • 恕我直言,用户控件不是独立存在的,您必须将它们放在一个页面中才能看到它们并测试它们的功能,请查看我发布的 MSDN 文章,或者您可以构建一些测试页面,您可以在其中以多种方式使用用户控件 - 所有用例场景和测试用例。

标签: .net asp.net ascx webtest


【解决方案1】:

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

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

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

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

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

查看有关 ASP.NET MVC2 框架的文档click here

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

【讨论】:

    【解决方案2】:

    我建议不要测试“ascx 和 ascx.cs”,而是测试显示给用户的 UI 并测试服务/存储库/模块(如果您使用一些良好的模块化架构并且没有在代码隐藏中编写所有代码页)。要测试 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

    【讨论】:

      【解决方案3】:

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

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

      将您的网络测试转化为编码的网络测试,并在微软搜索以获取网络测试使用的每个对象的详细信息以获得额外积分。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-14
        • 2011-02-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多