Double Think Before Action。 三思而后行, 测试自动化是一个系统的工程,根据我以前的经验,我们在进行测试自动化之前,要自己问一些问题给自己,如果能很好的回答,或者能做一些风险评估,有充分的思想准备:
1。我们公司的测试流程完备吗?不要指望测试自动化能改善你的测试流程,如果没有很好的手工测试流程,测试自动化一定会失败。
2。我们公司的产品都是稳定的版本吗?不稳定的版本进行测试自动化必然带来很高的维护代价,尽管你可能进行很好的设计,产品变化之后总会带来你想象不到的测试脚本的维护。而且不稳定的产品可能存在bug的机会远远大于稳定的产品,而且通常来说,自动化测试不能发现比手工测试更多的bug,如果你想多发现一些bug,把产品做稳定,还是多进行一些手工测试吧。
3。我们公司的产品都经过可测性设计吗?换句话说,我们产品的设计和开发给测试预留了一定的接口了吗,如果没有,还是慎重的为好。如果你的产品都没有经过可测性测试,你的测试自动化进展一定很缓慢,很多地方可能会让你举步维艰。
4。我们公司的测试自动化框架打算怎么做?在进行自动化之前,你一定要考虑这个问题,注意,不是测试工具,而是自动化框架,也就是平台,如果没有一个很好的平台,你的测试自动化base可能比较混乱,而且测试脚本的维护也是一个大的问题,版本问题你考虑了吗,测试的执行和测试的管理你考虑了吗,好好想想这个问题吧。
5。我们公司需要什么样的测试工具?这里才是测试工具,我们打算自己购买吗,有多少预算?购买工具的评估怎么进行。很多工具是按照license费用计算的,而且售价相当高。如果你预算不够,自己开发吗?另外,有些测试工具可能是你有钱也买不到的,市场没有相应的工具,或者及时有,也不满足你的特殊要求, 那么怎么办,自己开发。
6。我们测试脚本是谁来开发?测试脚本的开发对测试人员有很高的要求,不仅仅要熟悉开发,而且对测试业务很熟悉,无忧测试论坛上有很多这方面的讨论,对业务和编程的要求分别是多少,我的想法是50%对50%,好的测试专家一定是好的业务专家,好的业务专家不一定是好的测试专家。^_^ , 特别现在开发大多不愿意做测试,测试人员的素质能不能达到要求?是专门成立一个自动化的团队来进行测试开发,还是用现有的测试工程师抽出时间进行测试开发? 要知道测试的进度很紧,测试工程师可能忙于测试用例的编写,测试用例的执行,测试的评审,产品的学习。整个要想清楚了。
7。 测试脚本谁来执行,谁来维护? 测试脚本开发完成了,只有执行才能带来收益和投资回报,谁来执行,测试人员吗? 没有从不变化的软件产品,软件产品版本升级发生了变化,相应的测试脚本可能需要维护,谁来进行维护?自己开发自己维护,时间长了,开发的模块越多,负担越重,最终可能会被拖的无法腾出时间进行开发新的模块。 如果是谁来执行,谁来维护,那么测试脚本的交接如何进行?
8。测试环境是共享还是独立?一般来说,自动化测试对环境的积累比手工测试要强很多,我们可以充分利用晚上的时间和休息时间进行测试,那么测试环境的独立性就需要很好的保证,对测试资源的要求也很高,我们的测试环境具备这样的要求吗?
暂时想到这么多,而且每个主题都可以拿出来单独进行讨论。后续想到我再补充,欢迎你也给出你的想法和意见。