在本系列关于Visual Studio 2010测试功能介绍中,花了很多的篇幅介绍了其新功能Coded UI Test(以下简称CUIT),也欣喜地看到很多朋友对CUIT非常感兴趣。但是前一段时间,在一个邮件讨论组,有个朋友提出了这样一个问题:他的应用程序有上百个表单,用来显示和操作从数据源读取的不同信息,他希望能够用CUIT来实现对这个应用程序的自动化测试。听起来似乎是合情理的,但仔细推敲一下有点儿问题 : 这上百个表单都要用CUIT这样的基于UI的测试用例覆盖吗? 没有单元测试等非UI的测试用例吗? 得到的回答是:是,没有!我......晕倒……
上面这个小插曲反映了实际工程中对UI自动化的过度执着和过度使用(over-use)的一种情况,自动化测试的实质是为了快速、高效地发现和预防回归缺陷,它不是为了发现新缺陷的(Test Monkey那样的自动化工具除外)。请记住:自动化测试(特别是基于UI的自动化测试)不是万能的,也不是测试的全部,更不是