如果您处于我的位置,那么您将拥有一个大型WebForms应用程序,这些应用程序已经升级到这个不可维护的东西。当您添加新功能时,事情就会中断,您需要一种廉价的可维护方式来进行某种自动化测试。
现在,根据我的理解,正确的做法是尝试构建ASP.NET WebForms中存在的页面和用户控件模型的抽象布局,但是,因为它需要对现有应用程序进行重大投资不是一种选择。
我正在努力并尽可能地推动类似REST的开发,因为它有一些不错的属性。在这样做的过程中,我编写了一个简单的蜘蛛机器人,可以抓取它可以找到并尝试的所有URL,只需获取它们即可。 这使我能够快速找到导致问题的错误数据并避免让我的最终用户点击破碎的东西,但是,这当然是不够的。
我继续处理我的抓取工具,它被开发成一个简单的REST客户端,尝试不同的输入组合,寻找可能的错误或崩溃。它更加智能,只是一次详尽的搜索(因为它了解ASP.NET WebForms应用程序层),我的目标是基本上探索Web应用程序的状态,希望能够在我们的用户面前查看所有的案例。
有没有人有做类似事情的经验?
另外,你在那里测试大师。这是完全浪费时间,还是我能够在这里真正说出质量问题?从我的角度来看,它似乎达到了一个最佳点,因为它将尝试潜在的最终用户通过浏览器。
正如我之前所说,我们陷入了困境。我们现在需要一种简单的方法。
我们已经尝试过像Selenium这样的东西,但它要求进行大量的额外工作,我们一直在改变事物,不可能为50种不同的应用程序维护多个硒测试套装。
答案 0 :(得分:5)
在所有要实现的测试类型中,就更少的错误和更易维护的代码而言,单元测试既是最简单也最有可能产生结果。在处理自动化集成测试之前解决问题
请记住,你不会在一夜之间解决这个问题,你没有时间。只要不断提高测试覆盖率,您就会看到长期的好处。
答案 1 :(得分:1)
您申请的哪一部分正在破坏?用户界面或业务逻辑?
业务逻辑应与用户界面完全分离,并应单独测试。特别是,对分离的业务逻辑使用自动化单元测试工具比对UI更容易。
答案 2 :(得分:0)
如果我很严格,那么您需要一个大型Web表单,并希望每次执行新版本时都运行一些标准的最终用户测试。
我可以推荐Selenium IDE adon for firefox。
它将允许您记录您的用户操作,例如填写表单,并允许您随时重播这些操作。在具有不同数据的表单上运行某些测试的简单方法。
对于内部代码测试,使用NUnit
编写一些单元测试