自动化测试——它很专业么?普通测试工程师也可以做吗?
自动化测试不再是一个小群体的技能” ——“任何了解业务的测试工程师都可以创建测试脚本”。
在过去的十年里自动化测试经历了各方面的变化。同样的供应商引进了新的工具、 开源工具,仍然有一些供应商把他们推销的产品当成质量的最终解决方案。组织内的CTO们都确信,自动化将给他们带来更大的利益,节约长期运行的成本和时间。服务供应商已经推出了几款最终框架,省却了从标准数据驱动的自动化测试 – 关键字,混合脚本框架,使企业用户可以很容易用Java,VB脚本知识创建自动化脚本。
是否需要一个专业的自动化测试团队抑或普通测试工程师也可以做自动化?这个问题一直困扰着我们。有许多文章阐述了在自动化脚本/项目上应该团队自动化而不是独立出来的。
当我在2002年管理一个自动化测试项目的时候,我找有开发背景的测试工程师作为团队的一份子,用适合项目的类似C语言的工具创建代码。任何懂这个语言的测试工程师都能很容易的修改升级脚本,然后这些自动化框架的专业语言可以帮助测试工程师写封装的函数,这样就节省了自动化开发工程师的大量时间。
其次,自动化测试开发工程师希望把已写好的测试用例应用于自动化脚本中,他们了解业务知识后才会去创建脚本。
在软件测试行业中,自动化测试作为首选职业在接下来的几年里飞速的发展,直到2008年的经济大萧条。一段时间后用户已经开始质疑,重新使用这些脚本的百分比以及后续的自动化脚本开发的投资回报率。他们惊奇的发现,从自动化测试中并没有获得预期的结果和脚本,需要更多的维护才能应用到当前程序中。只有极少数拥有先进技术的用户采用自动化后收益很大,节约了成本和时间。
自动化测试现状
1)从自动化回归测试的情况来看,自动化是迈向对生命周期的自动化测试。用户已经开始探索生命周期的各个阶段,用自动化去代替手动测试。
2)随着基于模型库测试的出现,也要求自动化测试工程师了解更多有用的业务信息。用户不能为了创建模板和自动化测试用例而聘请测试工程师。
3)业务流程中的自动化测试包,帮助客户降低标准,建立应用系统以及缩短产品上线时间。
4)客户无法选择工具厂商有多个精品商店提供定制的框架和脚本更少的自动化框架。
5)测试管理工具已经把测试生命周期以及生成动态定制的报告完全集成。
6)综合不同的供应商工具集方面的需求管理、测试管理、测试脚本执行,在选择合适的供应商/工具上提供更多的灵活性,让团队很容易管理产品缺陷。
7)多个自定义实用程序,供应商已经创建并晋升为与众不同的独立测试,它可以帮助测试工程师减少多余的手工工作,有些程序甚至要购买后才能用。
让我们回到之前提到的问题,是否需要专业自动化测试工程师或者自动化依然被当作职业生涯的关键。
尽管人们认为自动化测试会越来越简单,熟悉业务的手工测试工程师可以学会自动化,然而对自动化专家的期望还是很高。任何人都可以执行自动化专家创建的脚本,但是很多技能手动测试工程师依然不能很快就能掌握。
他们被要求自动化已经定型的测试用例或场景的日子已经一去不复返了,自动化测试专家能给出整个产品/应用程序生命周期的整体自动化策略。他们需要为生命周期的各个阶段选择合适的工具组,给出符合成本效益的策略。没有客户能等待看6.8个周期之久的投资回报率。此外,他们预计将定义和开发多组实用程序,从而减少多余的手动测试工作和测试数据生成工作。
总而言之,自动化测试专家依然会被当作标准的冗余部分自动化测试(听起来很熟悉吧? -重复)的专业技术工程师,可能会被并入测试组内。