pie*_*lli 5 .net unit-testing winforms
我有一个会计和工资单客户端/服务器应用程序,其中有几个带有复杂数据验证规则的输入表单.我正在寻找一种有效的方法来执行用户界面的单元测试.
对于复杂的验证规则我的意思是
我发现的最有希望的模式是由M. Fowler(http://martinfowler.com/eaaDev/ModelViewPresenter.html)提出的.
您对用户界面的单元测试有什么经验吗?作为我正在使用的技术堆栈:.NET 3.5和Windows Forms Widget Library.
我不会完全称之为"单元测试",但是我在使用WatiN的Web UI中运行针对WinForms UI的自动化测试取得了一定程度的成功.
假设您可以获得要测试的应用程序窗口的句柄,您应该能够编写大量C#代码来测试用户界面的功能.
许多人谴责尝试针对UI运行自动化测试的想法,因为有太多的东西你无法以这种方式进行测试.例如,没有自动化测试会注意到字体是丑陋的,或者某些文字令人困惑,或者按钮略微偏离中心.毫无疑问,对于这些类型的东西,你肯定需要一个聪明的人在看屏幕.
然而,除了这种类型的测试之外,肯定有大量的重复测试可以自动化并定期执行.大多数大型应用程序都有一整套回归测试脚本,必须在新版本发布时手动执行.这些测试通常是你可以训练猴子做的事情,只需点击此链接的说明列表,输入一些文本,点击此按钮,检查结果消息等.这些都是你QA测试人员的时间浪费,让他们痛苦,所以如果他们可以自动化,很棒.这些类型的测试应该能够每天由构建服务器自动运行,并且可以比任何手动测试更加彻底.
同样,它不会发现奇怪的未预料到的事情,但它会给你一定程度的信心,你的小改变不会破坏你在应用程序另一端从未听过的其他屏幕.
当然,这会为开发人员带来更多持续的工作,因为对应用程序的微小更改可能会因为任何自动化测试而愚蠢地破坏测试,但它应该为您节省大量的测试和调试时间.这对你来说是否值得你决定,但我认为这是一个不应该像平时那样迅速被解雇的考虑因素.
| 归档时间: |
|
| 查看次数: |
591 次 |
| 最近记录: |