算是对目前项目的一个工作总结吧。
现阶段总结
现在的项目,从框架的设计到现在的维护,已经接近3年的时间了。
团队主要分布于中国(北京和西安),美国和印度。我们是专职的自动化测试团队,做自动化的和做手工测试的严格分开,相对独立。手工测试熟悉业务逻辑,主要设计case。自动化测试主要把manual team提供的自动化case设计自动化脚本,并运行维护。
以下只是对本阶段的思考,项目主要是做GUI自动化测试,自动化team在实际的工作中,遇到的一些问题:
- 不懂业务逻辑,写脚本的过程中或出现问题不能确定是不是bug,要和manual team确认。
思考:automation team要不断学习业务逻辑,并且能站在用户角度考虑问题,设计合理的自动化用例和脚本。 - 需求改变,case缺乏维护,自动化的case和脚本维护比较难。
思考:需要经常和manual team沟通,定期更新case。 - 自动化测试用例,按照手工Team给的用例来设计脚本,导致了功能检查点单一,脚本冗余,执行时间长等问题。
思考: 自动化的测试用例,应该与传统的手工测试用例区分开来,E.g.,基于流程的自动化用例设计。 - 框架的规范化,分布式团队,初期的时候还有规范,后来人员的扩充,造成了对象库,脚本等的冗余,命名的不统一等等。
思考: 对规范进行重新思考和设计,要严格遵循,由团队Lead进行监督和Review。 - 框架设计的过程中,也有一些小问题的存在,这里不做说明。
思考: 重新考虑分层,对资源的引用,CI等等。
下面算是对本阶段工作的一个认可吧:
未来计划
上一个阶段,不管是从团队还是从个人来看,进步都是挺大的,把自身的价值都体现了出来。
框架
根据已有框架的思考,会进行一些调整和Redesign,某些原因,不做详述。
鉴于自动化测试的一些特殊性,目前考虑更大层次的分层,把UI层直接分离出来,直接对UI层进行遍历自动化测试,UI底层对业务逻辑进行自动化测试。
中国团队的发展
我不希望我的团队仅仅Focus到单一的自动化工具(QTP)上面。不得不承认这个工具的强大和完整,但是好像目前基本上没有什么公司在用,太贵了。目前都是用开源的一些工具:Selenium, Robot Framework等等。
我也不希望我的团队仅仅Focus到很low的层面,希望每个人都能够站的更高一些,更全面的来看待自动化这件事,甚至于软件的整个开发流程,而不仅仅是任务的执行者。
大环境不用介绍,目前互联网和移动的发展。为了提升团队和个人的竞争力 & 自身价值,最近也弄了一个电脑,在本地搭建了一个服务器让大家鼓捣,希望大家能够在其他的方面都有一些耕耘(虽然一些我们已经在用):
- Selenium Web自动化测试
- Linux
- 移动App自动化测试相关
- Performance Testing
- 时下很新的一些技术(MEAN, Git==)
- ……
Notes: 后面有时间的话,会再细聊一下怎么样快速的学习。