跟着芒果一起好好学习,天天向上~
在上周日我们进行了V咖分享会第二十四期的分享,这是分享是这次由大咖陈耿老师给大家分享的“自动化通用架构”,传授他在多年测试职业生涯过程中实践经验的。
现在就由芒果为大家整理这次分享会的知识,本次整理内容包含我们的V咖陈耿老师的分享内容,部分提问及回复。想要提问或者观看完整问题解答的小伙伴,请积极参与到我们分享会中来,我们的分享会每两周就有一次哟~
分享人:陈耿老师
陈耿,现任索尼中国软件中心测试部总监。历任上海宇梦通信软件测试部经理,上海贝尔阿尔卡特移动通信软件开发中心高级软件架构师。具有20年软件开发,测试和技术管理经验。
主要从事与开发结合的软件测试工作,在自动化测试,设计和编码阶段的测试工作上有着丰富的经验。具有丰富的测试框架设计与自动化测试经验。曾负责建立索尼全球通用的嵌入式自动化测试基础架构,诸多消费电子和专业系统的自动化测试方案,主持搭建持续集成测试生态体系,并负责主导手机产品,音频产品,电视机产品,投影产品,半导体SDK,安防系统等产品SDK测试框架设计、主持研发了专业系统开发平台的灰盒测试方案、游戏网络平台测试,API测试与性能测试。
ISTQB高级测试经理,高级测试分析师。
CSTQB资深专家,CSTQB工作组组员,ISO 29119中国镜像工作组副组长。注重测试左移的应用实践,帮助多家企业的开发团队建立起设计阶段的测试过程,通过运用在设计阶段的静态测试/评审技术,实施质量管控和提高,从而将产品上市周期缩短20%到30%。
负责翻译审校ISTQB基础级,高级测试管理,高级测试分析,高级测试技术分析,自动化测试,基于模型的测试等大纲。
ISO 29119镜像工作组副组长,负责组织中国专家组对国际测试标准进行评审
在标准化工作,正在负责ISO/IEC 29119-8,基于模型的测试(又名模型驱动的测试)的国际标准起草工作(Project Editor-主编)。
分享主题:自动化通用架构
不管是敏捷开发还是DevOps这些热门的概念和软件工程实践背后都依赖自动化测试的基础设施和恰当的运用。而国内大多数团队的自动化测试运用往往集中在写若干个脚本,跑一下回归测试的阶段。还有很多测试工程师仅仅关注如何录制python脚本,如何编写python代码。 自动化测试的规模和效率难以得到持续的提高。自动化测试工程的水平也停滞不前。要解决这些问题,必须以软件开发的思路来开发维护自动化测试系统。那么自动化测试系统究竟应该是什么样的软件呢? 该如何运用才能持续的提高效率呢?本期及以后的分享,CSTQB测试专家陈耿将为大家带来业界通用的自动化测试架构原理的分享和自动化测试运用的陷阱以及如何走出这样的陷阱的分享。
分享内容部分PPT:
答疑与讨论:
陈耿:
大家有什么问题吗?
Mr.超:
有比较成熟的案例开源吗?
陈耿:
selenium系统在适配层和执行层上是符合通用架构的,selenium webdriver,还有汽车行业的ecu test,不过这个不是开源的;appium也是,appium底层复用了selenium的wire protocol,与uiautomator等通信来实现自动化测试。
36DO8:
selenium appium是不是需要二次封装后更好用?
陈耿:
二次封装,你指的是对业务逻辑进行封装是吧?
36DO8:
对
陈耿:
是的,当然应该进行封装。对于脚本数量>80,就要开始封装反复用到的业务逻辑了,或者说这时候开始做封装,投入<产出了。
有兴趣的话我在8月TiD大会前有一个会前培训,欢迎参加,两天的自动化测试培训。
36DO8:
api方式和kw封装方式哪种更好?各适合什么样的场景和团队?
陈耿:
kw是指关键字?
36DO8:
是的
陈耿:
api方式封装是面向过程的,适合编程能力弱的团队。关键字是面向对象的,对软件开发能力有一定要求。
其实实践中,很多团队把关键字做成了api,不过这种问题不大。
架构的意义在于定义一套逻辑概念,将复杂问题分而治之。gTAA则是处理自动化测试所面对的问题的最佳的综合性总结。
看看开源系统,为啥都有适配层(也许不叫这个名字),为啥都要把脚本与适配层分开,其实就是说,只要是构建自动化测试系统,用这个gTAA架构,不会有错。