构建自动化测试团队的8要素

发表于:2011-1-28 12:00

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:陈晓伍    来源:51Testing软件测试网采编

  作为一名测试人员最安心的莫过于负责的产品上线后没有大的问题反馈回来;最有成就的莫过于测试过程中发现了一个隐藏的很深的严重缺陷;而最烦恼的则莫过于天天重复同样的工作,执行同样的操作。在抵消测试人员的积极性同时还会麻木测试人员的神经、局限测试人员的思维,导致测试工作质量没有可靠的保证。为了解救广大测试人员于水火之中,所以就有前辈们引入了一个新的测试概念--自动化测试。

  有一句话这样说的:“创新的东西通常都是懒人做出来的”,【因为懒,所以才会去想好的办法】相信最先提出自动化测试的人都应该不是太勤快的人。

  自动化概念在我们刚接触的时候,第一映像就是此物甚好,开天辟地,无所不能。当然这是理想化的状态,从增加广大测试人员对于自动化测试的兴趣,提高测试人员的技术水平来说,这可以理解为:善意的谎言。那么谎言背后我们还应该要知道的“真相”有哪些呢?

  基础篇:

  1、老大要“给力”:测试人员作为公司的一员在很多方面自然要受公司的影响;比如你的工作性质,你的工作内容。当然做不做自动化,什么时候做,做哪些产品,做到什么程度等都是跟公司产品的情况相关的;说大了是公司文化决定的,说小了是老大给不给力。而这2者中个人觉得后者的影响比前者要大点。

  2、产品要“适合”:在得到大佬的支持后我们往往兴高采烈,准备大干一番,大有鞠躬尽瘁,死而后已的意思。这里提醒你要冷静,不然你会有坐过山车的感觉,因为我们还没有了解我们的对象。可能之前你见过它,它也见过你,但就是彼此不了解。所以我们得先深入了解一下我们测试对象的可测属性,大概知道哪些功能我们可以实现自动化,哪些功能需要通过设计才能实现自动化,哪些功能不能实现自动化。如果分析的结果是都不合适,那就要“谏言”了。当然如果我们有多个产品可以选择的话,那自然更好。

  3、工具要“支持”:“不是所有的牛奶都叫TLS”。也不是所有的工具都支持任何的测试产品;有些工具很专注,那么它们在测试的针对性上就要好些;有些工具支持的范围比较广泛,那么它的测试的适用性就要更好些。通常我们的选择原则是:“只选对的,不选贵的”。大概有以下几个原则:

  1)对测试产品的支持很好【也要考虑公司其它产品线】

  2)脚本开发和维护的难易程度【自动化初期==大家都是新人】

  3)组内成员对工具的熟悉程度【大家都会的==大家不是新人】

  4)价格因素【在满足要求的基础上,考虑性价比,开源也不错】

  4、这不是一个人的“战斗”:种种迹象表明,当今IT世界已不再是个人英雄时代。开发如此,测试也不例外,因为“大家好,才是真的好”。首先一个人的能力和精力都是有限的,众人拾柴火焰高;其次团队成员整体能力的提升和促进是一个成熟团队需要具备的,而对于初建的团队我们也要始终贯穿这样的思想【“不想当将军的士兵,不是好士兵”!】。只有大家共同完成的任务、得到的成果,才能激进组内所有成员的积极性,团队才能有一个好的前进方向,某种程度上来说这是自动化测试实施成功与否的一个重要标准。对于自动化团队建设还有一个点,就是组内成员的培训,需要有计划,有目标,有针对性,有阶段的实施,真正从基层来提高团员的能力。

  提升篇:

  5、过程需要统一管理:作为一个团队,做事情想东西就不能太随意,自己一个人的时候,什么事都是自己约定自己。但是当人多了的时候就不能再在这样了,否则大家辛辛苦苦写出来的脚本聚到一起来,结果不能集成到一起,或者需要费劲的修改后才能实现集成。其实出现这样的情况就等于二次开发了,但却是做的无用功,因为这是原本是可以避免的。所以在自动化成员进行开发脚本之前,我们就需要制定标准、约定规范、提前说明注意事宜。此外还需要在测试过程中实现脚本共享,技术的交流,疑难问题的解决等,都需要有专人来关注和管理。

  6、需要持续的总结:通常人们学习知识是通过2方面:一是外部获取,如:听课,看书;一是自己实践,如工作。对于自己实践的来东西往往比较零散,不想从外部获取的那样可以很系统,所以就需要我们自己来总结、归类,进而完善和充实我们现有的知识体系。自动化实现的过程中肯定会遇到很多问题,特别是初建的不太成熟的团队,所以对于解决问题的方法是我们比较宝贵的。通过总结可以把组内各成员的解决问题的思路和方法收集起来,一方面让其它成员学习,一方面作为团队的实验成果;此外还可以对总结的内容进行分类,这样也便于日后有新成员加入的进行培训和学习。

  7、需要不断的创新:测试是无止境的,技术也是无止境的,自动化测试两者皆有;所以更是任重而道远,需要我们不断探索,不断实践,不断创新。基本原则是在初期我们实现简单的、基础的、易实现的功能,在后期我们就需要去解决复杂的、难实现的功能,这里就需要我们不断学习充实自己,用新的方法来尝试解决问题。另外对于已实现的但是效果不太满意的功能模块,也可以进行针对性的研究,当有新的解决方法时,可以进行替换或者在下次相同情况下使用此种方法。总的来说就是不要太满足于现状,因为有这样的想法,才能有创新的精神。

  8、需要有专人维护:对于已实现的自动化,不是说就完事了,还是同样的需要维护,需要有人去根据需要执行,查看结果;同样在有新需求的时候还要在现有的基础上添加实现脚本。这时候在前期做的规范工作的价值就体现出来了,前面做的好,后面就会很顺利,否则后期的维护成本不比前期的成本低。这也是自动化实施是否成功的一个标准。

  综上所述,在需要构建一个自动化测试之前,我们需要尽量多的考虑可能出现的各类情况和问题,并准备一套对应的方案来预防,因为这个过程不是短时间可以完成的,中间涉及到的因素也会很多,而最后的成败是取决多个方面的。所以想要成功的实施自动化,就需要多方面的综合考虑,而上述几点只是其中的部分而已,在此之外还需要实施者结合实际情况不断完善和补充。

《2023软件测试行业现状调查报告》独家发布~

精彩评论

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号