代码之家  ›  专栏  ›  技术社区  ›  punkouter

测试与ASP.NET MVC/WEBFORMS Silverlight MVVM的关系

  •  0
  • punkouter  · 技术社区  · 15 年前

    NET MVC2-可以使用单元测试来测试整个网站

    NET Webforms—如果程序员在创建Webforms站点时没有考虑到测试,那么单元测试几乎是不可能的。因此,Asp.NET web性能测试是最接近现实的测试。编码的UI测试太琐碎,对于ASP.NET验证程序之类的东西来说并不是真正有用的。

    Silverlight-无测试。可能是编码的UI测试。

    Silverlight MEF-MEF对测试场景有何影响?

    这准确吗?我有什么遗漏吗?

    2 回复  |  直到 12 年前
        1
  •  1
  •   James O'Sullivan    15 年前

    我不想详细说明为什么应该使用MVC而不是Webforms,而是退一步向管理团队介绍为什么应该使用单元测试。在那之后,你有一个案例说MVC可以让你比webforms更有效地完成这个任务。

    你是打算走完整的TDD路线,还是仅仅在测试之后创建测试?我强烈建议你走TDD的道路,尽管它确实有一个更陡峭的学习曲线,会降低你的工作效率,而你正在学习它。

    更少的缺陷通过QA。

    可以为QA和客户发现的问题创建测试。

    为测试而设计会创建一个更松散耦合的应用程序,它更易于维护。

    随着应用程序代码库的成熟,在进行更改以实现持续的生产效率时,增强了开发人员的信心。

    注意:修复一个已经进入生产的缺陷的成本可能是在开发和QA过程中发现和修复它的成本的80倍(我会努力找到这个数字的来源)。

    对于现有的Webforms项目,您可能还需要查看Web客户机软件工厂。我发现它对于长期迁移遗留webforms应用程序非常有用,尽管它比MVC2复杂一些。

        2
  •  0
  •   P.K    15 年前

    我不知道其他的技术,但是我可以谈谈使用Silverlight和MVVM模式。使用MVVM模式和命令模式,我们能够对所有的C代码进行单元测试。我的意思是,除了xaml代码,我们的C代码的代码覆盖率非常高。我们实际上使用了MVVM的一个修改版本,其中我们还使用了一个控制器。如果确保代码隐藏文件中没有代码,则可以模拟按钮单击/其他此类UI事件。这对于集成测试非常有用。我们发现MVVM模式以及控制器和使用命令模式有助于单元测试。