关闭

自动化测试是不是能达到90%甚至100%的覆盖率?

1261人阅读 评论(0) 收藏 举报
    自动化测试是不是能达到90%的覆盖率?
    简单的说,理论上可以。实际上不可能。
    在网上看了不少关于测试自动化的文章, 大多是“高屋建瓴”,或者是互相转述。就像写程序,写的越抽象的顶层父类越不容易出错,都是指导性方向性的话,轻易是找不出什么破绽的,也不容易被驳倒。
    本人喜欢钻研技术,奉行实用主义,对于遇到的问题常常持否定态度,不会从战略性高度看问题,因为往往技术上的一个小小细节可以否定一整套方案。在考量一个方案是否可行时,首先就是相关的技术细节是否走得通。如果逻辑上都走不通,那也不必费力气去搞下一步了。
    对于自动化测试是不是能达到90%的问题想说说自己的体会。
    按照实用主义的逻辑我列举几个实践中遇到的困难。
    1。眼下的开源工具层出不穷,测web,gui的,unit test的。几乎覆盖了测试的所有方面。那是不是这些工具加在一起,就等于是一个完整解决方案了呢?   
    拿web测试工具来说,selenium,httpunit,htmlunit,watij。这几个工具,有的是依赖浏览器,有的是不依赖浏览器的,各有长处。
  • 困难一,难识别。IE的容错性太好了,对不规范的HTML代码一样可以正确解析,被测试的产品肉眼看上去没有问题,看看HTML代码真是糟糕。设计再好的工具,对这方面还是要有些要求的。虽然有Xpath,那样的代码真是难以读懂。
  • 困难二,页面上元素属性经常被随意改动。开发随心所欲,因为只要在浏览器里看起来正常,最终用户是不会在乎某个字段实际的名称是什么的。这样写好的测试代码受到的影响非常大,要花额外的功夫去维护。这个成本在项目开始之初是需要考虑进去的。
  • 困难三,难写。这是专门指除selenium外的几个工具,都要求有基本的java基础。这其中htmlunit为最甚,每次点击输入都要指定返回的类型,每次去抓不规范的URL,都要从数组里搜一遍。不熟悉的话,五个页面的操作,估计要写上一天时间。这一点watij相对较好,java包装的IE的api,抓页面上的对象,语法都比较简单,但不能跨平台。
    2。许多人觉得什么人都能搞测试自动化,更要全民皆自动化。全面自动化等于不等于高自动化率?不是,国情不同,也许国外的QA人员素质比开发人员的水平高,对于开发语言,各种工具,理论都很熟悉。这样的的QA人员可能一个顶几个,不过人力成本也大。国内的情况是,QA水平低于开发很多,低到写简单的自动化脚本都觉得困难。再好的工具也会被说成不好用,不放心,还不如手工测试。当然,也有好学上进的,努力学习各方面知识,自动化工具用的也很好,结果怎么样? 去做开发了。一句话,几亩薄田种不出好庄稼。
   
   
    3。有人说我们拿自动化测试工具去发现bug。
    这句话要分两面看,如果是用来做回归测试的话,去发现原有功能不应该出现的问题,这是自动化测试工具擅长的,可以为产品提供信心保证。工具只会做人们告诉它要做的事情,要它主动去找bug,这个说不通。

    这样说来,测试自动化的前景并不是很乐观。未必,只要认清误区,降低期望值,缩小并专注于一定范围,自动化还是会起到应有的作用。 
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:71980次
    • 积分:1139
    • 等级:
    • 排名:千里之外
    • 原创:36篇
    • 转载:7篇
    • 译文:2篇
    • 评论:14条
    文章分类
    最新评论