如果高层对测试自动化的期望不正确(一般是抱了太高的期望),首先要做的事情就是纠正他们的想法,因为为一个无法达到的期望去做这件事情,风险太大了。另外,如果组织中有人有测试自动化的经验,对组织的自动化测试引入是非常有好处的;最后,一定要找到至少一个可以进行测试自动化尝试的项目,不能是太大或者太关键的项目,以避免失败的风险。
对测试工具的了解和掌握也是进行测试自动化工作的重要内容。这里的要点是要“自我主导”,而不要被测试工具厂商牵着鼻子走。我建议的测试工具评估和选择程序是:
事先要列出“我”希望工具具有的功能,然后按图索骥
用评估表为工具进行评估
寻找有经验的帮手
引入自动化测试往往需要首先在小项目中进行尝试,为什么要选择“小”的项目呢?主要是从风险和可操作性方面来考虑的。大的项目,或是对公司至关重要的项目,容不得闪失,因此也就不适合用来做自动化测试的尝试,而小的项目,便于控制。
另外,需要指派专人负责自动化测试的尝试工作,否则,缺乏控制的尝试往往会以失败告终。
除了工具、项目的选择以外,建立适合自动化测试的组织也同样关键。这方面可以从以下内容着手:
● 提升测试组织对测试自动化的认识
● 分配自动化测试工程师
● 建立适合测试自动化的测试流程
● 提升开发组织对测试自动化的认识
● 组织级的改变。只有在组织上进行配套的工作,才可能成功实现自动化测试。
在引入了自动化测试的以后,只有对自动化测试过程进行持续改进,才能让自动化测试尽快地发挥应有的作用,取得应有的效果。持续改进的关键是度量和根据度量结果做出相应的行动。
可以用于对自动化测试进行度量的指标包括:
● 哪些自动化测试的内容提高了测试效率?
● 哪些自动化测试的内容取得了最大的收益?
● 哪些是影响自动化测试进行的主要因素?
当然,在企业中成功引入了自动化测试之后,并不是就能够从此高枕无忧了。和开发人员容易犯的“功能镀金”的毛病一样,自动化测试工程师也容易做一些导致过度自动化的事情。
在前面的策略中我们提到,千万不要试图将所有问题交给自动化解决,但在组织成功引入了自动化测试之后,还是会有一个不自觉地将自动化测试无限扩大的趋势。在这方面,我的建议是一定要做好度量工作,及时发现扩大化的自动化趋势并坚决制止。
另外的容易导致过度的自动化的问题包括“过于追求精妙的脚本”和“扩大的自动化框架”等内容,因此,需要企业在自动化测试方面通过绩效导向等工作,将测试工程师的注意力转移到真正能体现测试自动化效益的方面来。