|
|
|
|
移动端

测试基础架构“庖丁解牛”,WOT茹炳晟告诉你如何不“入坑”

5 月18-19日,北京•粤财JW万豪酒店,2018WOT全球软件与运维技术峰会与您不见不散。

作者:周雪来源:51CTO|2018-03-14 17:28

【新品产上线啦】51CTO播客,随时随地,碎片化学习

【51CTO.com原创稿件】七年一剑,华丽蜕变。自2012年起连续6年15场峰会,凝聚大量技术专家,博观而约取,厚积而薄发。2018WOT全球软件与运维技术峰会扬帆起航,围绕12大核心热点,汇聚海内外60位一线专家,打造高端技术盛宴!

在“DevOps转型之路”分论坛现场中,ebay中国研发中心技术主管茹炳晟将给听众带来一场名为《ebay测试基础架构的演进之路》的主题演讲。在会前,51CTO记者采访到了他,请他提前“剧透”,精彩演讲内容就让我们“先睹为快”吧!

WOT

业务是高效能测试基础架构演进的最大驱动力

ebay中国研发中心技术主管茹炳晟

ebay中国研发中心技术主管 茹炳晟

茹炳晟认为,“知其然知其所以然”是学习和深入理解技术本质的核心,面对大型网站的测试基础架构的复杂性以及测试框架的复杂性,作为资深的测试开发工程师很有必要从根本上理解问题的本质和设计的初衷。他告诉记者,他将抛弃传统的“就技术谈技术”的方式,而是采用业务驱动为切入点,以工程实际问题为主线,以提出问题到解决问题为主干,讲解大型电商网站的高效能测试基础架构是如何在业务的驱动下演进与发展的。

记者了解,茹炳晟演讲的主要内容可以被概括为以下五部分:

一 GUI Automation Test Framework 的前世今生

二 Test Data Platform 的起源与发展

三 API Automation Test Framework 的演进之路

四 Test Execution Environment 的演变

五 Test Report Platform的演变

通过对这五部分内容的梳理和讲解,听众从中可谓是“受益良多”。在茹炳晟看来,听众可以从演讲中学会如何从test framework层面提高GUI自动化测试的投入产出比(ROI)、如何设计规划GUI测试脚本的粒度以降低脚本的维护工作量、如何基于BDD来设计基于业务流程的GUI Flow模型、如何应对多浏览器的测试覆盖率问题、如何解决测试数据的一系列难题,比如测试脏数据,压测数据准备,测试数据多样性,高效测试数据准备等……

一番介绍下来,听的记者都有点心向往之了,感兴趣的网友们赶紧报名参会吧!

“唯快不破”是基本原则

众所周知,ebay是一家大型电子商务网站。那么这类企业的测试基础架构和其他行业的测试基础架构相比,特殊性有哪些呢?

茹炳晟用一句话来概括:其最大的区别就在于“快”。

一般传统IT企业的产品发布是以“月”为单位的,所以在这种大背景下,测试执行的时间,测试用例的维护工作量以及测试用例的稳定性要求都不会成为关键问题。

但是对于电子商务网站,尤其是具有全球业务的大型电商网站,产品上线周期都是以“天”甚至是以“小时”为单位的,这样就对全回归测试的执行时间,测试用例的维护工作量以及测试用例的稳定性有极高的要求。例如全回归测试的时间不能大于100分钟,API测试的稳定性要在99%,GUI测试的稳定性要在95%,失败用例的追踪和修复的时间周期小于2小时等等,这些要求的实现都会与测试基础架构的设计有着直接的关系。

换言之,如果没有一套高效能的测试基础架构和CI/CD系统的支撑,这些目标的实现就会无从谈起。所以听众会发现整个测试基础架构的设计原则都会围绕“唯快不破”这一基本原则。

这些测试的“坑”你入过吗?

茹炳晟告诉记者,但凡做测试的同学,不管是自动化测试,性能压测,还是手工测试的,都会遇到大量的测试数据问题,主要体现在以下几点:

挑战1:测试数据准备跨不同业务部门,测试人员缺乏构建多样化测试数据的能力;

挑战2:基于Out-of-box的测试数据虽然提高了测试执行效率,但是脏数据的问题一直缺乏系统性的解决方案;

挑战3:基于On-the-fly的测试数据虽然为测试数据的多样性提供了可能,但是test case runtime的数据生成效率会严重拖慢测试执行效率;

挑战4:对于全链路压测和容量规划的测试数据准备,效率问题一直是瓶颈;

挑战5:基于Test Data Utility的方案看似完美,但是实际使用过程的代码量以及关联数据准备的难度一直被大家诟病;

挑战6: 对于新功能的测试数据准备缺乏组织内部的开源机制,DEV很难贡献Test Data Utility;

针对以上这些实际问题,茹炳晟和他的团队提出了Test Data as a Service的一站式解决方案在公司内部全面推广使用,并且取得了全球各个研发中心的一致好评。(好东西应该大家分享,51CTO记者偷偷告诉您——茹炳晟将在会场分享他设计这个系统的设计哲学以及对应的实现技术,希望大家都难从中受益。)

一个优秀的测试基础架构长什么样?

既然专注测试基础架构领域这么久了,那么一个优秀的测试基础架构应该具备哪几个特点,茹炳晟也有自己的想法。他认为有四个特点应该具备:

首先是专一性:优秀的测试基础架构应该让测试开发者只需要关心自己的测试逻辑,而不需要去关注诸如测试在那里执行,测试数据怎么生成等非业务测试相关的内容。

其次是统一性:优秀的测试基础架构应该能很方便地和各种CI/CD集成,理想的情况就是Unified Test Execution as a Service. 只要一个简单的Restful调用发起测试请求,至于后台的测试框架,测试执行环境,测试报告等都对CI/CD系统透明。

再者是扩展性:当有新的测试框架(比如Puppeteer,NightWatch等)需要接入的时候,基础架构的改动越小越好,甚至可以做到无缝接入。

最后是灵活性:测试基础架构的各个模块可以按需加载使用,比如在我们的系统中,基于AI的Defect分类模块,多语言全球Site测试比较报告模块等都是按项目或者Phase加载的。

采访的最后,茹炳晟透露,其实目前包括Google,eBay等跨国互联网公司的研发团队都在经历“去除专职测试”的组织架构转变,为此Google也暂停了 2017 Google Test Automation Conference并寻求向工程效能的转型。相应地,QE团队也正在逐渐向工程效率团队转型,而原本的测试工作,无论是手动测试还是自动化测试都将由DEV自己完成。他认为,这样的转型都将会高度依赖于测试基础架构的成熟度。“将来的测试基础架构系统会走向公司内部产品化的发展道路,产品的需求将来自于DEV,DEVOPS和CI/CD,同时会与PaaS以及云平台做深度集成。”

5 月 18 - 19日,北京•粤财JW万豪酒店,全球最值得关注的IT技术盛宴与您不见不散。2018WOT全球软件与运维技术峰会一定是您发现全新思路、挖掘最新思想、拓展人脉的重要平台。

目前我们的各项票种已全面发售。需要提醒您的是,购票越早,折扣越大!与KOL零距离交流,呈现不一样的“英雄盛宴”!

点击官网了解详情:wot.51cto.com

8折预售中,抢票从速。

【51CTO原创稿件,合作站点转载请注明原文作者和出处为51CTO.com】

【责任编辑:周雪 TEL:(010)68476606】


点赞 0
分享:
大家都在看
猜你喜欢

热门职位+更多

读 书 +更多

Reversing:逆向工程揭密

本书描述的是在逆向与反逆向之间展开的一场旷日持久的拉锯战。作者Eldad Eilam以一个解说人的身份为我们详尽地评述了双方使用的每一招每一...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊