我不会称之为“单元测试”,但我在运行WinForms UI自动化测试以及使用WatiN的Web UI中取得了一定程度的成功。
假设您可以获取要测试的应用程序窗口的句柄,您应该能够编写大量C#代码来测试用户界面的功能。
很多人谴责尝试对用户界面运行自动化测试的想法,因为存在太多以至于无法以这种方式进行测试。例如,没有自动化测试会注意到字体很难看,或者某些文字很混乱,或者按钮稍微偏离中心。毫无疑问,对于这些类型的东西,你绝对需要一个聪明的人在看屏幕。
但是,除了那种类型的测试之外,肯定会有大量重复性测试可以自动化并定期执行。大多数大型应用程序都有一整套回归测试脚本,必须在新版本发布时手动执行。这些测试通常是你可以训练猴子做的事情,只是点击这个链接的指令列表,输入一些文本,点击这个按钮,检查产生的信息等等。这些东西对于质量保证测试人员来说是浪费时间,而且使他们感到痛苦,所以如果他们能够自动化,很好。这些类型的测试应该能够由您的构建服务器每天自动运行,并且可以制作得比任何手动测试都要透彻得多。
再一次,它不会发现奇怪的未知事物,但它会给你一定程度的自信,认为你的小改变并没有打破你在应用程序另一端从未听说过的其他屏幕。当然,这会导致开发人员进行更多的工作,因为应用程序的小改动可能会因为愚蠢的原因而中断测试,就像任何自动化测试一样,但它会为您节省大量时间进行测试和调试。这对你来说是否值得你去决定,但我认为这是一个不应该像你平常看到的那样快速被解雇的考虑。
同意您的考虑。我认为有一些测试总比没有好。所以我想找到一种快速编写批处理的方法,当有人执行小的更改时,这可以让我提高可信度。 – pierocampanelli 2010-05-17 16:46:37