零代码接口测试平台IRON TEST新增案例自动生成功能

2019-12-17  天天好运 

伴随着市场上大部分平台智能化与自动化的发展趋势,技术的不断迭代与更新也对软件的自动化测试提出了更高的要求。随行付研发团队近日就其自主研发的IRON TSET零代码接口测试平台,新增了案例自动生成功能,为自动化测试摸索出了一条创新之路。

据了解,该功能能大幅度提升用户编写用例的效率,并能显著提升缺陷发现比例。就此,随行付IRON TEST研发团队负责人为我们讲述了随行付的自动化测试探索之路,从中可以一窥中国自动化测试研发道路的艰辛历程。

IRON TEST来自于随行付对自动化测试的不懈探索

随行付作为一家做第三方支付起家的公司,支付业务涉及到商户和持卡人的资金操作,业务流程长,支付时效性要求高,系统稳定性要求高,安全性要求高,资金准确性要求极高。因此,支付系统体现为系统多,接口多,内部架构复杂,业务逻辑复杂。

在2015年以前,随行付最主要的测试手段是手工测试,遇到的主要困难是业务门槛高,新人上手困难,测试资源难以调配。测试团队这一阶段的主要任务是重视业务知识和测试用例的积累,建立知识管理体系。按照业务分类组建测试小组,针对每一块业务设立专门的负责人进行研究。测试用例在Testlink中进行管理和积累,业务知识通过Wiki进行积累和传播。这一方案有效降低了测试人员的业务门槛,培养出了一批业务专家,后来成长为产品经理、项目经理、部门负责人等。

2015年随行付的业务模式有了突破,业务量和业务复杂度明显上升。随着业务发展,测试资源逐渐成为瓶颈,往常堆人的方式越来越难以满足快速上线的诉求。2015年底,随行付的测试团队达到30人,开发测试比甚至一度达到了2:1,但是仍然无法满足业务要求,仓促上线的结果是生产事故不断。

面对这样的困境,2016年初开始,随行付测试团队决定加强自动化测试能力,提高测试效率和质量。考虑到随行付的业务特点,我们选择了接口自动化测试作为突破口。但是在接口自动化测试推行过程中,我们也走了弯路。

最初,我们打算学习行业独角兽公司的经验,效仿微信和支付宝,基于开源的框架建立自己的测试开发平台。为此,我们招聘了一批测试开发工程师,调集开发资源,用两个月的时间打造了一套测试开发框架。

然而这个体系在运行的时候,产生的问题比解决的还要多。随行付的业务复杂,历史包袱重,业务线多,上线迭代快,需求并发高。这导致了严重的效率问题,有限的几个测试开发工程师干不过来,根本无法支持团队满足快速上线的要求。

测试开发工程师太贵了,平均工资高于研发,这导致测试开发团队无法使用人海战术。

另一方面,测试开发流程比手工测试流程虽然减少了执行过程,但是增加了脚本编写、调试和维护工作,新测试用例的开发效率不增反降。并且,为了支持全公司的测试工作,本来数量就很少的测试开发工程师需要学习全公司的业务,学习压力太大。

2016年中开始,我们尝试着帮助手工测试团队转型,学习测试开发知识,补充测试开发人员不足的问题。但是我们发现大家虽然热情很高,但是事实上培训周期长,培训效果差。经过两个月的培训,能够编写合格脚本的测试人员寥寥无几,哪怕是能写代码的测试人员,代码质量差,执行失败了以后还需要很高的成本调查到底是脚本问题还是代码缺陷。

痛定思痛,我们发现,对于有历史包袱、业务复杂的企业来说,自动化测试转型是一个新的课题,不同于互联网独角兽企业的轻装上阵,我们的一些基础系统可能已经使用了多年,与合作伙伴建立了你中有我,我中有你的深刻羁绊,使用的技术虽然不是最新的,却是最适合的。

这是一个业务加测试再加开发的复杂问题,难度成几何级数上升。测试开发工程师的特点是拥有测试和开发知识,但是贵而稀少,同时,业务的复杂性和敏感性也导致业务门槛难以跨越,这导致给他们进行业务知识的赋能变得过于困难。

痛则变,变则通。既然为测试开发赋能业务的方式走不通,我们转向了为业务测试赋能开发的方式。我们的思路是,通过使用零代码测试平台,只需要鼠标点一点就能完成测试,让懂业务的测试人员不需要开发知识,直接上手自动化测试。

2016年底,IRON TEST零代码接口测试平台正式上线,该平台降低了功能测试人员的学习门槛,让功能测试人员可以轻松编写接口自动化测试脚本,将更多的精力释放出来,投入到测试策略设计上。而且不需要投入测试开发人员,降低了企业的人员成本。经过几年的打磨,IRON TEST的测试效率和质量都得到了持续提升,从2016年到2019年的开发测试比可以看到,IRON TEST在随行付实施之后成效显著。


现在,随行付的测试开发团队已经转变成工具研究团队,而日常自动化测试完全由原来的功能测试工程师完成,一个测试新人只要一周时间就能上手开发出合格的自动化测试脚本。自动化测试不再是一个让我们头疼的难题,反而成为业务发展的护航舰。

案例自动生成功能基于全对偶理论

现在测试人员应用IRON TEST零代码接口测试平台的主要时间花费在测试用例的开发和调试上。为了简化这部分工作,我们推出了案例自动生成功能。

测试用例智能化生成技术分为三个阶段:自动生成、数据驱动和智能生成。本次发布的是自动生成功能,该技术意味着IRON TEST零代码接口测试平台向智能化测试迈出了第一步。

依据CMMi软件测试理论,软件测试活动主要有两个目的:验证(Verification)和确认(Validation),也即V&V。其中,验证是指检测是否满足工艺要求和行业标准(Rightly build it),而确认则是确保产品有效支持业务,达到了客户预期(Build it right)。

在测试用例生成的初级阶段,主要应用于相对简单的验证活动。在接口测试中,通过组合每个接口的测试数据,即可实现自动化用例生成。

IRON TEST的自动化用例生成理论依据来自全对偶测试(All Pairs)法,目的是通过尽可能少的用例实现尽可能高的覆盖率,该方法是由《软件测试经验与教训》的作者,测试专家James Bach提出的。

传统接口测试用例设计方法是正交法,主要问题是测试用例太多,投入产出比极低,在业内鲜有应用。而全对偶测试法,能够用千分之一的用例数量实现与正交法同等水平的覆盖率。

全对偶测试法是组合测试的一种提炼,原则就是每个变量的每一个取值都必须与至少一个测试用例中其他变量的取值配对过一次。

来自计算机学报的文章《基于接口参数的黑箱测试用例自动生成算法》中,作者对全对偶测试法进行了实验验证,提出了一个更容易应用的算法模型。IRON TEST的案例自动生成算法就取材于该算法模型。该算法不但覆盖全面、冗余少,而且更符合实际的业务场景要求。

而IRON TEST的案例生成功能使用起来非常简单,用户只需要维护一个参数模板,即可自动生成全对偶测试案例。

从测试效率角度,案例自动生成功能极大的节约案例编写时间,大大提高接口测试编写效率。从质量角度,案例自动生成功能,将测试人员从测试确认阶段解放出来,测试人员把更多的精力投入到测试验证阶段,去发现更多的业务缺陷,发现确认阶段的缺陷是案例自动生成功能为系统质量带来的价值。

我们选择了一个测试环境的内部系统,进行了对比试验,由测试人员对该系统进行用例编写,与自动化生成的用例进行对比。

人工编写的案例共57条,包括确认部分6条和验证部分51条。确认部分编写用时5分钟,调试用时3分钟,发现了3个缺陷;验证部分用时30分钟,调试用时8分钟,发现5个缺陷。

自动化生成用例共224条,用时7分钟,调试用时35分钟,发现10个缺陷。

结果对比如下表:


本功能已经在随行付和多家公司进行了公测应用。以高阳通联为例,他们在使用IRON TEST私有化部署之后,接口测试案例达到2000+,测试效率和测试质量分别提升350%和40%。自动化案例生成功能获得了用户的一致好评。  由上图可见,比原来手工编写接口测试案例相比,案例自动生成测试效率可以提升274%,质量提升62.5%。

IRON TEST希望探索出一条测试自动化转型的新路

现在中国自动化测试领域似乎只有一条路,就是招聘昂贵而稀少的测试开发工程师,使用测试开发框架开展自动化测试工作。我们亲自探索过这条路,我们发现这条路成本高,风险大,失败的可能性很高。经过对行业内四十余家客户的调研结果发现,在绝大多数公司,测试开发模式的效果都不尽如人意。

测试开发团队的问题在于,他们是跨三个行业的人才,因此难以培养、难以招聘、价格昂贵、每个单项都不突出。一个人要在业务、测试、开发三个领域平均用力,却都能满足高要求,这几乎是不可能的事情。隶属于测试团队的测试开发团队的代码质量很难保证,而隶属于开发团队的测试开发团队则可能会脱离业务。

因此,组建测试开发团队,要么是用砸钱的方式大力出奇迹,给每个业务线配备充足的测试开发工程师,要么就只保留一两个测试开发工程师维护有限的业务。事实上,除了几个垄断行业的头部企业,绝大多数公司都无奈的成为后者,曾经风风火火的自动化测试工程,变成炒概念,为了自动化而自动化,到底自动化能产生多大的效率和质量提升,谁也说不清楚了。自动化脚本成为沉重的负担,测试开发团队成为成本黑洞。

IRON TEST零代码接口测试平台诞生的初衷是帮助企业能够从现有手工测试团队向自动化测试混合团队实现低成本、平滑的过渡。我们希望能够探索出一条新路,能够不用建设高成本、高风险的测试开发体系,利用现有的资源实现自动化测试。

我们希望让测试人员能够把精力放到业务分析、测试策略设计上,将技术问题和重复工作都交给IRON TEST平台完成,让测试人员真正体现出自我的价值。

我们致力于帮助中国的初创企业、小微企业或者传统企业能够轻轻松松地应用自动化测试,让自动化测试成为助推器,而不是沉重的负担。

如何使用IRON TEST?

https://test.ironz.com/welcome 免费注册使用。

177°/1773 人阅读/0 条评论 发表评论

登录 后发表评论
天天好运
访客 1336