测试自动化需三思而后行
3,226 Views『作者:RickyZhu 转载务必注明出处和作者』
Tag:automation
最近几个朋友都在聊,他们公司打算进行自动化测试了,头让他们负责来弄这个东西. 貌似这两年测试自动化比早三年前收到重视的程度大有提高,好像大家不提自动化测试跟不上潮流似的,测试没有做好,质量没有改善就是没有做测试自动化一样. 其实很多公司是真心想把测试最好,他们进行了一些探讨,做了一些研究之后才得出的结论. 有些人做测试自动化完全是另外的目的的.其实我在这里并不关心他要引入测试自动化的动机,只是想说,大家都意识到测试自动化的重要性了,而且觉得这是一个提高测试覆盖,改善产品质量的途径. 其实国外早在20年前就已经在研究测试自动化了. 并不是所有的公司都适合做测试自动化,也并不是所有的产品都适合,不同的行业,不同规模的公司做测试自动化,也不能照搬别人的经验,而是要根据自己公司的实际情况,实际的测试流程进行规划.否则失败的可能性很大.
Double Think Before Action. 三思而后行, 测试自动化是一个系统的工程,根据我以前的经验,我们在进行测试自动化之前,要自己问一些问题给自己,如果能很好的回答,或者能做一些风险评估,有充分的思想准备:
1.我们公司的测试流程完备吗?不要指望测试自动化能改善你的测试流程,如果没有很好的手工测试流程,测试自动化一定会失败.
2.我们公司的产品都是稳定的版本吗?不稳定的版本进行测试自动化必然带来很高的维护代价,尽管你可能进行很好的设计,产品变化之后总会带来你想象不到的测试脚本的维护.而且不稳定的产品可能存在bug的机会远远大于稳定的产品,而且通常来说,自动化测试不能发现比手工测试更多的bug,如果你想多发现一些bug,把产品做稳定,还是多进行一些手工测试吧.
3.我们公司的产品都经过可测性设计吗?换句话说,我们产品的设计和开发给测试预留了一定的接口了吗,如果没有,还是慎重的为好.如果你的产品都没有经过可测性测试,你的测试自动化进展一定很缓慢,很多地方可能会让你举步维艰.
4.我们公司的测试自动化框架打算怎么做?在进行自动化之前,你一定要考虑这个问题,注意,不是测试工具,而是自动化框架,也就是平台,如果没有一个很好的平台,你的测试自动化base可能比较混乱,而且测试脚本的维护也是一个大的问题,版本问题你考虑了吗,测试的执行和测试的管理你考虑了吗,好好想想这个问题吧.
5.我们公司需要什么样的测试工具?这里才是测试工具,我们打算自己购买吗,有多少预算?购买工具的评估怎么进行.很多工具是按照license费用计算的,而且售价相当高.如果你预算不够,自己开发吗?另外,有些测试工具可能是你有钱也买不到的,市场没有相应的工具,或者及时有,也不满足你的特殊要求, 那么怎么办,自己开发.
6.我们测试脚本是谁来开发?测试脚本的开发对测试人员有很高的要求,不仅仅要熟悉开发,而且对测试业务很熟悉,无忧测试论坛上有很多这方面的讨论,对业务和编程的要求分别是多少,我的想法是50%对50%,好的测试专家一定是好的业务专家,好的业务专家不一定是好的测试专家.^_^ , 特别现在开发大多不愿意做测试,测试人员的素质能不能达到要求?是专门成立一个自动化的团队来进行测试开发,还是用现有的测试工程师 抽出时间进行测试开发? 要知道测试的进度很紧,测试工程师可能忙于测试用例的编写,测试用例的执行,测试的评审,产品的学习.整个要想清楚了.
7. 测试脚本谁来执行,谁来维护? 测试脚本开发完成了,只有执行才能带来收益和投资回报,谁来执行,测试人员吗? 没有从不变化的软件产品,软件产品版本升级发生了变化,相应的测试脚本可能需要维护,谁来进行维护?自己开发自己维护,时间长了,开发的模块越多,负担越重,最终可能会被拖的无法腾出时间进行开发新的模块. 如果是谁来执行,谁来维护,那么测试脚本的交接如何进行?
8.测试环境是共享还是独立?一般来说,自动化测试对环境的积累比手工测试要强很多,我们可以充分利用晚上的时间和休息时间进行测试,那么测试环境的独立性就需要很好的保证,对测试资源的要求也很高,我们的测试环境具备这样的要求吗?
暂时想到这么多,而且每个主题都可以拿出来单独进行讨论.后续想到我再补充,欢迎你也给出你的想法和意见. 我的comments太少了,大家都是看贴不回贴啊. 郁闷啊~~

很荣幸看到ricky兄的这篇著作…说到自动化测试,不由得想起了今天在某个QQ群里的见闻. 很多人来不来就说我并发多少多少人该怎样做.首先,他考虑过自己公司有做性能测试的条件吗?(非常赞同ricky上面提到的那几点).其次,他理解到了什么是性能测试吗?再次,他对性能测试的一些基本方法掌握了吗?我们暂不谈性能分析和性能优化,毕竟,这对于中国大部分的测试人员来说还显得非常遥远…我只希望我们的测试人员能好好的沉下心来,多读读前辈们的文章,多学习学习.
是的,不过质量才是根本,当前的国内气候大家好像管不了那么多了,变成拿到客户才是根本了.
说实话,这样的铁叫原创,除了文采比古龙、金庸的稍稍稍差点之外,其经验之谈毫不顺色古大侠笔下的“惊鸿一刀””灵犀一指”;即使金哥的“降龙十八掌””乾坤大挪移”也不见得能顶得住。无奈我等小弟,初出茅庐,任督二脉尚未打通,虽有高深武学,也难尽习精华。但有缘窥其一二,已是无上机缘。
好铁!
linuqq兄过奖了. 多总结,多分享.
ricky 好文章顶一个!~~~~~
谢谢Eagle兄,大家一起努力,把自动化做好.
谢谢您的指导,我发现我自己开发的qtp脚本只有我来维护,还有一个人也参与过部分的开发,我半年之内就要走了,这些脚本谁来维护还得由我们测试组长来安排
今天重读大半年前自己写的这篇文章,还是很有感触,顶一下,现在很多公司还是没有搞清楚自己需要什么,大干快上的思想依然存在。
还贴,仔细学习学习
读前辈的文章总能让我对自动化测试有更深层次的理解,非常感谢!坚决地支持一下!