本书是一本来自软件自动化测试领域资深专家的作品,主要用于推广智能一体化测试理论及应用。作者在书中深入浅出地讲解了自己在银行领域悟出的智能一体化测试这一全新的理论,并介绍了如何对智能一体化测试平台进行需求分析与设计,以期读者能够在自己的组织中成功推广智能一体化测试。
本书全面分享了作者推广智能一体化测试的经验,并结合真实案例讲解了如何在银行实施智能一体化测试,从而实现对银行 IT 系统的全生命周期质量管理。读者在学习过程中,可以深入学习作者已经推广成功的智能一体化测试平台 DT(Defect Terminator)的应用方法与实施方案。
本书主要为希望大幅提升 IT 系统质量管理水平的团队创作,特别适合银行、证券、保险、互联网金融等企业的 IT 人员进行研读。
软件自动化测试领域资深专家的作品
展示作者多年近百个项目工作全新理论成果——智能一体化测试
丛书总序
2000年的大二暑假,在那个企业疯狂信息化的年代,我自己幸运地从电脑城找到了一个项目:为大连经济技术开发区海关核销科开发一个自动化排班系统,实现为海关工作人员自动分配到报关企业的核销任务。从这个时候算起,我正式进入IT行业已经将近16年了。
2003年,我从开发领域进入到性能测试领域,开始对性能测试相关理论、方法、工具展开了深入学习与研究。
2005年,第一本性能测试作品《Web性能测试实战》开始写作,2006年5月出版。本书是国内第一本性能测试理论方面的作品。
2006年,第二本性能测试作品《LoadRunner性能测试实战》开始写作,2007年9月出版。本书是国内第一本LoadRunner方面的作品。
2007年,第一本翻译作品《软件测试与持续质量改进(第二版)》开始翻译,2008年2月出版(第三版于2011年7月出版)。
2008年,第三本性能测试作品《LoadRunner虚拟用户开发指南》开始写作,2009年4月出版。
在积极出版专著期间,我还通过讲座、培训等方式分享自己在性能测试方面的经验。推动国内IT行业的性能测试水平,一直是我努力追求的目标之一。回顾这近16年的从业经历,其中的辛苦只有自己知道:在大三开发自来水管理信息系统时,我曾经与辽师大的徐惠民老师一起在酒店里封闭开发,每天写代码到后半夜两三点,饿了就一包方便面来充饥,以至于开发完成后几乎闻不得方便面的味道;写作的过程中,在炎热的夏天我与金总在家里一个人写稿、另一个人校稿;翻译图书时,连续两个月的周末,河涛大哥组织我们一群兄弟在他们公司的会议室集中校稿。
正是基于前面的积累,我得到了现任老板牛总的大力推荐 ,在2009年2月加入民生银行,开始参加民生银行核心系统的建设,负责性能测试相关工作。在新一代系统性能测试过程中,自己之前的性能测试理论与方法得到了广泛推广,并在实施过程中持续进行优化。
2013年5月新一代系统全部完成上线。在这四五年里我带领性能测试团队负责了100多个系统的性能测试工作,这些系统多数经历了单元性能测试、集成性能测试、渠道性能测试、多渠道并行性能测试等阶段,每一阶段的测试通常都会进行5轮以上。在这个过程中,我遇到了数个志同道合的兄弟,大家一起组成了一个强大的民生性能测试团队。这群兄弟们在奋战的过程中,如浴火重生一般,从理论水平到解决问题的能力,都上了N个台阶。参加这种朝九晚九的项目,每个人的学习与成长速度,基本是普通项目的三到五倍,我们合作公司团队中很多刚刚毕业的小兄弟,目前都已经成为所在公司或一些知名互联网公司的性能测试业务骨干。
新一代系统成功上线后,我们从2013年5月开始一项更有挑战的创新工作:打通银行后台系统的功能测试与性能测试,实现多种测试种类的智能一体化测试。银行后台系统由于缺少有效的测试工具,要么通过开发团队进行测试,要么等前台渠道相关功能开发完成后再通过功能测试人员在渠道端手工进行测试,后台系统的接口测试对于测试中心而言基本属于真空区域。现在,我们的研究已经初见成效,测试中心的智能一体化测试平台DT已经开始投入使用,并在开发与运维中发挥了积极的作用。
从2006年的第一本作品《Web性能测试实战》到今年,整整过了10年的时间;从2009年的《LoadRunner虚拟用户开发指南》到现在已经7年没有出版原创作品。厚积而薄发,尤其是现在我拥有一个一流的性能与自动化测试团队,可以和兄弟们一起来与整个行业分享我们的经验。我们团队每个成员都颇有特色:志龙,干活的特点就是快,无论啥任务都以特别快的速度完成,加班也不告诉别人,以至于让人产生错觉,认为他的任务是不是都特别容易完成;李锋(Fin),攻坚能力超强,以至于相当一部分不好完成的任务我第一时间就会想着他,攻坚时经常废寝忘食,自己夜里找个地方对付一晚第二天接着继续拼,已经出版过自己的性能测试作品;华仔(Terry),人长得帅,技术更好,开发和测试两种角色自由转换,目前是我们智能一体化测试平台DT的主力开发,没有之一。
2016年,我们整装待发,决定出版一套以我的名字命名的作品系列《陈绍英作品系列》,系统地完成一套性能与自动化测试作品,分享我们最新的技术与经验。通过这套丛书的学习,可以使读者打通功能与性能测试的任督二脉,成为测试领域中的高手。
《陈绍英作品系列》目前主要规划了5本作品:
? 《大型IT系统性能测试入门经典》
性能测试理论与方法的入门作品,适合零基础到一两年性能测试经验的人员学习性能测试知识。通过本书掌握基本的性能测试理论与方法,学会JMeter、VisualVM、Nmon等性能测试常见工具的使用;通过本书的配套视频掌握LoadRunner的基本使用。学习后可以成为初中级水平的性能测试工程师。
? 《LoadRunner性能测试指南》
LoadRunner的提高级作品,适合零基础到一两年性能测试经验的人员学习LoadRunner的使用方法。本书系统全面地介绍了LoadRunner的使用方法,并结合实际案例来讲解LoadRunner的实战技术,本书还分享了很多比较高级的实战技能。学习后可以成为中高级水平的性能测试工程师。
? 《LoadRunner虚拟用户高级开发指南》
LoadRunner的深入级产品,适合零基础到一两年性能测试经验的人员研读,可以全面掌握各种LoadRunner脚本的开发方法。本书不但讲解了LoadRunner脚本开发过程中用到的各类技术与方法,同时还分享了团队在银行IT系统测试过程中积累的各种经验,可以帮助读者成为顶级的LoadRunner性能测试高手。
? 《大型IT系统性能测试规划、设计与实施》
性能测试项目管理与实施的深入级作品,适合三到五年性能测试经验人员研读,可以全面掌握大型性能测试项目的管理与实施方法。本书以我们团队的民生银行新一代系统的管理与实施经验作为背景,全面分享大型IT项目的管理与实施经验,可以帮助读者成为性能测试领域方面的顶级高手。学习后读者可以拥有管理、规划、实施大型IT系统性能测试的能力。
? 《大型IT系统智能一体化测试》
本书已经超越了性能测试的范畴,代表了我们团队目前的最高成就。
银行IT系统传统测试方法中,功能测试人员无论对于前台渠道还是后台系统,主要通过从渠道发起的端到端案例来测试各系统功能。这种测试方法中,后台系统实际成了银行测试中心的真空地带,因为初期主要依靠开发人员进行测试,后期则通过渠道测试,整个过程根本没有对后台系统进行有针对性的全面测试。
在银行IT系统日益复杂的今天,无论是开发新系统还是升级老系统,这样的测试方法已经不适应新一代银行系统的架构。可以很容易看出,传统测试方法对于后台系统会存在测试不充分以及测试相对延后的问题,而且不容易对发现的问题定位,最终导致研发成本提高和投产进度延误。同时对于一些系统变更升级,由于是手工测试,所以几乎不会开展全回归测试,这无疑会给生产运行带来更高的风险。
本书全面分享了对功能、性能等测试进行智能一体化测试的经验。在书中深入介绍了我们悟出的智能一体化测试理论与实施方案,同时介绍了我们团队研发的智能一体化测试平台DT(Defect Terminator)的设计方案与使用方法,并结合真实案例介绍DT的实际应用情况。
软件测试无止境,愿我们大家在知识的世界中共同探索,实现新的飞跃!
陈绍英
2017年3月10日
丛书推荐序
近年来随着新兴技术的层出不穷和新业务场景的不断涌现,银行信息系统开发、测试、运维的压力在持续上升。中国民生银行信息科技的广大员工坚持吃苦耐劳、勤于钻研、敢想敢干、精益求精的精神,持续提升软件开发能力和软件质量管理水平,完善测试管理体系,成功上线了新一代核心系统、手机银行、直销银行等一系列业内领先的信息系统,为客户提供了稳定、高效、便捷、易用的金融服务,强有力地支撑了民生银行业务的快速发展。在这个过程中,测试条线 以“科学管理、精益求精、服务民生、打动客户”作为管理目标,以“团结互助、积极向上、勤学肯干、规范有效”作为工作准则,积极推进软件质量管理工作,大胆探索质量管理技术和理论,以卓有成效的工作保障了全行信息系统的高质量交付,获得了同行业的认可。绍英、志龙、成姬等就是测试条线涌现出来的优秀代表,他们具有丰富的测试工作经验,善于理论联系实际,乐于将多年的工作精华分享给大家,让我非常感动。
绍英带领团队策划出版的这套丛书,致力于推动“软件亚健康”问题的解决,探讨了大型IT系统性能测试之道,这个选题对于银行IT系统测试乃至对于中国软件产业发展都具有十分重要的现实意义。虽然国内软件测试方面的图书不少,但深入研究大型IT系统性能测试理论的并不多,尤其是探索银行、电信等领域大型IT系统测试的作品则更少。本书的作者们拥有银行、电信、互联网、电子政务等多个行业的测试经验,尤其在中国民生银行新一代核心系统的建设期间参与了近百个项目的性能测试,积累了大量的经验。书中详细描述了从银行、电信等大型项目实战中总结出的性能测试规划与实施方案,为各位IT同仁在实际项目中管理和实施性能测试提供了有效的指导。
预祝丛书早日出版,帮助大家全力去解决软件亚健康问题!也希望国内有更多的人来关注软件性能测试,探讨解决软件亚健康问题的方法!
中国民生银行信息科技部总经理
2017-3-16
推荐序一
智能一体化测试是自动化测试发展的更高形式,主要应用于拥有大量IT系统的企业,例如金融、通信等企业,这类企业往往拥有数百套IT系统,人工测试投入成本高、效率低,容易出现差错,因此,进行智能一体化测试可以收到显著的成效。
智能一体化测试主要解决了快速测试、灵活定制测试的问题,在此之前,这两大问题消耗了测试工作的大量时间,也是困扰测试人员的主要问题,测试人员应当需要更多的时间去思考如何将测试工作做得更有成效,而不是被动地陷入重复的手动工作过程中。DT平台是绍英在总结多年测试工作经验的基础上,全力打造的新一代测试平台,实现了功能测试、性能测试的同步一体化,测试结果分析智能化,测试报告自动化,测试案例执行瞬时化。
在智能一体化测试领域中,绍英是当之无愧的先行者,用执着的信念诠释了测试人生的幸福,一认真便是将近20年,从开发到功能性测试,到性能测试,直到智能一体化测试,既见证了中国IT测试的发展,也目睹了测试工作的重要性和不可或缺性。
本书理论与实践相结合,使读者在掌握严谨的专业知识的同时,又能够深入浅出地快速上手。
优秀的测试人员一定是有思想的,也是有创造性的,对测试工作的准确理解将有助于自身在测试领域成为佼佼者,而本书正是从测试工作的思想出发,帮助测试人员从上而下,对测试工作有一个全局的、系统的认识,建立无偏差的测试思维,扩展了测试人员的工作范畴和知识面,以提高测试人员的整体水平。
董国兴
国内知名UNIX系统、数据库专家
东兴证券 总监
2017-4-8
推荐序二
运筹帷幄 决胜千里
——走向软件测试的自动化和智能化未来
21世纪在信息技术的发展上,每隔几年就会有一些技术颠覆人们的传统认知,从互联网到人工智能,这些变革正在深入地影响到我们每一个人的生活。
而在技术的深层领域,在常人所未见的海平面下,很多工作却仍然进展缓慢,踽踽前行。测试技术就是这样一个领域,时至今日,很多测试仍然要依赖人工方式手工完成。
然而作者在测试领域,耕耘、践行,摸索出一条具有核心内容的智能一体化测试之路,尤其是在金融领域的测试工作中,已然解决了接口测试方面的核心问题。这对于以后台业务为主的金融业务,具有突破性的重要意义。尤其是当原本需要消耗数人天或数十人天的工作,在新的测试平台下,可以在秒级或分钟级自动的完成,这是测试自动化对人力的解放,也是所有IT层面都在致力于解决的核心问题。
实践已经在帷幄之中成型,我希望这些实践的方法论、产品化,能够为更多的客户或行业带来实质性的改变,也希望本书能够和更多测试领域的专家产生碰撞、讨论和互动,使得作者的思想和产品能够臻于至善,回馈行业!
盖国强 云和恩墨创始人,Oracle ACE总监
2017-05-19
前 言
何为智能一体化测试
关于智能一体化测试,作者先后在多个IT行业技术大会上进行主题演讲,不断分享这一理论及相关平台的最新进展。为了更好地讲解智能一体化测试的理论及开展意义,通常会用6幅图来展示银行IT系统研发现状和测试发展趋势,从而更好地感悟智能一体化测试的创新特色。
? 银行IT系统研发特色
我们可以借助一座高山来描述银行IT系统研发工作的特色,开发、测试、运维各个团队的最终目标是成功爬上山顶,山的坡度可以用来代表系统研发工作的难度。为什么要用大山来描述银行IT系统的研发?银行IT系统的开发真的那么具有挑战吗?这是因为银行在社会中具有特殊的地位,因此其IT系统对功能与性能、稳定性与健壮性也将有非常高的要求,因此其系统的开发、测试、运维的过程如同在爬一座座高山。
在当下,银行最有难度和挑战的工作就是核心系统再造工程,其难度不亚于攀登珠穆朗玛峰。作者在亲历民生银行新一代核心系统的研发过程后,不断地反思与总结测试过程,终于悟出了智能一体化测试理论,同时研发了智能一体化测试平台,进而对银行后台IT系统更好地进行全生命周期质量管理。
? 银行IT系统功能测试现状
银行IT系统的功能测试实际上仍然以手工测试为主,大部分后台系统的测试主要通过前台渠道来完成。自动化测试在功能测试中所占的比例极低,主要面向一些稳定下来的交易场景的回归测试。
功能测试人员的优势主要体现在对业务的理解上,在测试过程中体现的技术含量相对较低。感觉功能测试的过程很像是一群人在徒手爬山,大家全靠体力爬到山顶,基本不会采用什么工具。
? 银行IT系统功能自动化测试的现状
银行IT系统的功能自动化测试发展相对落后,整体感觉明显低于互联网公司的自动化测试水平,目前银行领域用得最多的测试工具就是QTP及基于QTP的测试平台。
银行IT系统功能自动化测试的主要特点是依托渠道来开展测试,而渠道的界面往往很容易发生变化,这会导致很多自动化测试工作推倒重来,最终结果是投入产出不成正比。银行IT系统自动化测试人员的门槛也高于手工功能测试人员,通常具有一定开发能力的测试人员才能从事银行IT系统的自动化测试。
银行IT系统的自动化测试很像一名越野高手开着一辆豪华越野车,往没有路的山顶去冲,这很容易滑下去或翻车。
? 银行后台IT系统接口测试现状
银行后台IT系统多数采用三种方式来直接测试服务/接口:借助通用工具、厂商提供工具、自开发工具。通用工具 指诸如SoapUI之类的商业/免费/开源性质的工具,可以在工具中设计测试案例,然后手工执行;厂商提供工具指系统的平台厂商会提供一些测试工具,例如银联会提供银联8583报文的测试工具,同时可以和银联的系统进行联调;当没有可以用的工具时,开发团队会临时开发一些接口测试工具,以方便调用接口进行功能测试。
上面的三种方式尽管引入了测试工具,但是没有实现真正的自动化测试。在传统的服务/接口功能测试过程中,测试工具本质上只是报文编辑与发送的工具,而不是用来进行自动化测试。对于接口不是特别复杂、数量也不是特别多的系统,选择上面三种方式之一进行测试是可以满足测试需求的,但对于复杂的系统,应该在测试方法上进行突破,以提高效率和测试效果。
整体来看,银行IT系统服务/接口测试的技术水平并不高,基本属于基于工具的手工测试。尤其值得关注的是,银行IT系统服务/接口的测试在管理方面也很落后,测试案例在投产运维阶段的复用率很低。这种水平相当于开一辆摩托车来爬山,效率可想而知。
? 自动化测试以后台系统为重心
长期以来,银行IT系统自动化测试的重心主要放在前台渠道上,脚本的开发与维护成本很高,导致其并没有很好地发挥作用。当我们把自动化测试的目标转向后台系统时,将会有一种豁然开朗的感觉,很多问题可以迎刃而解。对后台系统的服务/接口进行自动化测试时,首先是测试脚本与案例相对容易维护,因为服务/接口不会像界面那样变化频繁;其次是可以并行执行测试案例,效率可以大幅提升。
自动化测试主要面向后台系统,只要我们解决了现有服务/接口测试的问题,可发挥的空间将会非常大。这相当于修了一条盘山路,普通轿车就可以冲上山去。
? 终极发展方向——智能一体化测试
银行IT系统自动化测试需要重点解决两个问题:一个是如何快速开发与执行测试案例,并快速生成测试结果;一个是如何管理测试案例,保证测试案例在开发、测试、运维的各个阶段随时可以执行。
智能一体化测试完美解决了上面的问题,同时还实现了功能与性能的同步测试。推行智能一体化测试,相当于坐直升飞机上山,我们已经实现了银行IT系统自动化测试的突破性创新。
认识智能一体化测试平台
智能一体化测试平台(Defect Terminator,简称DT)是民生银行测试中心自主研发、面向后台系统全生命周期的新一代测试平台,DT将成为软件缺陷的终结者。DT实现了功能测试、性能测试的同步一体化,测试结果分析智能化,测试报告自动化,测试案例执行瞬时化。
下图是智能一体化测试平台对两个系统的全回归测试案例,可以看到与手工测试相比,测试场景的执行时间几乎可以忽略。案例二中的分布式核心系统案例的执行效率相对较低,是因为系统的很多交易存在性能问题,但智能一体化测试平台可以轻松发现问题交易。
智能一体化测试平台之所以运行效率如此之高,是因为其主要通过并发的方式来执行案例。并发方式执行测试案例,很容易实现功能、性能的同步测试。
激动人心的前景分析
我们以银行的IT系统作为背景,进行一个激动人心的分析:
多数银行大概有150套到200套IT系统,而其中80%左右的系统为后台系统即主要负责对外提供服务的系统,这些后台系统中能有20%左右属于公共系统,30%左右属于比较重要的业务系统。保守估计一下,我们对后台系统中20%的公共核心服务系统和30%左右的重要业务系统开展接口智能一体化测试,能带来多大的收益呢?
假设推广智能一体化测试的系统至少可以达到50个以上的规模,每个系统可以节省一个人力成本,那一年可以节省多少个成本呢?50*1*12=600个人月!折合成人民币能有多少呢?可以在心里默算一下。
如果是银行开发新一代核心系统,在上百套系统的开发过程中开展智能一体化测试,能够节省多少成本呢?想想会更加激动!
上面只是直接节省成本的估算,接下来再考虑一下推广智能一体化测试间接节省成本情况,主要的收益如下:
? 增强了测试人员的实力和水平,不擅长开发的测试人员可以非常容易开展自动化测试,测试团队的武器立刻从冷兵器发展到现代高级武器。
? 大量后台系统的缺陷可以在开发阶段解决,大大降低了功能缺陷的修复周期与流转成本,节省了大量UAT测试时的渠道测试成本。
? 大量性能问题尤其是响应时间问题可以在开发阶段解决,大大降低了性能问题的修复周期,节省了性能测试团队的成本。
? 性能问题尽早解决可大大降低代码变更对功能测试的影响,尤其大幅降低了在UAT测试阶段发现严重性能问题从而对代码进行较大变更的风险,节省了很多潜在问题的修复成本。
? 后台模块功能比较稳定后,集成测试与UAT测试阶段在前台渠道更容易定位缺陷,避免了一些问题前后台互相扯皮的情况,大大加快了测试进度。
? 后台系统有了好的测试工具,自己进行充分测试后,不再像以前一样很多问题依赖外围系统来发现,大家的关系更和谐。
? 借助智能一体化测试平台,可以在系统投产前快速进行案例全集的回归测试,避免了以往投产前部分回归测试不全面的风险,排除了潜在的功能与性能问题,降低了发生生产问题的风险。
? 系统在投产后如果进行变更与升级,随时可以进行面向案例全集的全回归测试,这将大幅降低变更或升级后出现生产问题的风险。
? ……
想想如果在组织中成功推广了智能一体化测试,其带来的价值简直是难以估量的!碰巧老板也非常仗义,拿出一部分节省的成本作为奖金发给大家,是不是有种两眼放光的感觉,所以赶快行动吧!
实际推广案例分析
智能一体化测试已经在作者所在的组织进行推广,尤其是在XXX核心系统的测试过程中得到了很好的应用和推广,这是一个全新开发的系统。XXX核心系统在开发阶段全面引入了智能一体化测试,我们可以通过分析看到实际引入效果。系统功能测试从2016年12月12日到2017年2月28日,历时53个工作日。主要统计数据如下:
? 主要测试人员3人(未全职投入);
? 共涉及关键服务/接口47个,累计设计测试案例2225个;
? 实现自动化测试案例1483个,累计执行81150次,发现服务/接口问题1560次;
? 平均每日执行案例1531个,平均每日发现接口问题29个。
和传统服务/接口测试相比,可以得到如下测试投入分析表(单位:人天):
类别 测试需求分析 案例设计 自动化案例开发 案例维护 数据准备 测试执行 回归测试 缺陷跟踪 测试报告 沟通等 总计
传统测试 5 10 30 70 10 120 60 25 10 5 345
智能一体化测试 5 10 15 45 2 14 3 25 5 5 129
注:本次测试截止到统计时间,历时53个工作日,人员投入53*3=159人天,其中包含批处理测试30人天左右,因此实际投入接口测试时间为129人天。
就XXX核心系统而言,智能一体化测试与传统测试进行对比后得出主要结论如下。
? 测试需求分析:在测试需求分析环节,智能一体化测试与传统测试并无太大差异,工作量基本一致。
? 测试案例设计:在案例设计环节,智能一体化测试与传统测试并无太大差异,工作量基本一致。
? 自动化案例开发:智能一体化测试平台则提供了非常强大的案例编写辅助功能,案例开发效率大大提升,传统测试方式使用SoapUI进行案例编写,效率没有优势。
? 测试案例维护:智能一体化测试平台提供多种参数来生成测试数据,增加了数据的持久性,例如提供随机数、流水号、日期、文件数据等测试参数,大大降低案例维护成本;采用传统测试,需要经常维护SoapUI中的案例与数据。
特别值得一提的是,XXX核心系统的服务/接口变化特别频繁,在每次发布的新版本中往往会对原有服务/接口进行一些调整。采用传统测试,服务/接口变化后需要在SoapUI中修改每一个案例,耗费大量时间和精力,这给案例维护带来了极大的不便。智能一体化测试平台则完美解决了这个问题,采用智能一体化测试平台提供的智能服务/接口更新(案例升级)功能,服务/接口更新后只需要重新下载模板,平台将自动根据新老服务/接口模板的差异进行案例升级,保留未发生变动的案例字段值,大大减少了由于服务/接口变化导致的案例重复编写和修改工作。
? 数据准备:智能一体化测试平台提供服务组合执行方式,前置服务可以生成测试数据,供后续服务使用,大幅压缩了数据准备时间;采用传统测试,需要提前准备测试数据,并拷贝执行结果数据,供后续接口使用,数据经常由于后续操作失效而成为脏数据,导致经常重新造数,耗时较长。
例如一个账户,进行销户操作后数据已无效,使用SoapUI需要重新再找一条账户数据;采用智能一体化测试平台,将开户和销户服务捆绑,每次开户后再进行销户,不存在重新准备数据的问题。另外智能一体化平台可以自动执行产生大量账务数据,为XXX系统批量作业案例执行提供了便捷的数据准备方式,测试人员感觉受益良多,间接节省了大量批量作业的数据准备时间。
? 测试执行:智能一体化测试平台中非常容易组织测试案例形成各种测试场景,采用并发方式执行场景中的测试案例,效率极高,测试执行环节的耗时几乎可以忽略。相比于传统测试方式,智能一体化平台具备结果自动验证功能,节省大量人工检验测试结果的时间。传统的SoapUI不能进行测试案例大规模地并发执行,需要人工参与测试执行阶段的各个环节。
? 回归测试:由于XXX核心系统正在研发当中,服务/接口变更频繁,经常需要全面回归测试,智能一体化测试平台可以一键瞬时完成所有测试案例的执行,在此过程中体现了极大的价值。智能一体化测试平台对于发现问题的案例还可以自动显示结果,免去了人工逐个检查执行结果的烦恼,大大降低了测试风险。
? 测试报告:智能一体化测试平台自动生成测试报告,对于存在功能或性能问题的服务/接口进行分析,测试结果一目了然。方便易用的测试结果分析报告,大大提升了问题定位与解决的效率。
通过上面的分析可以看出:到目前为止,分布式核心系统采用智能一体化测试平台,实际统计得出共投入了129人天;如果采用传统测试方式,总投入工作量预估在345人天左右。从整个测试过程的统计结果看,智能一体化测试相当于传统测试投入的129/345=37%左右;单从智能一体化测试平台相关项的统计结果看,智能一体化测试相当于传统测试投入的(15+45+2+14+3)/(30+70+10+120+60)=27%。在统计时间范围内,总计节省成本(345-129)/22=9.82人月。
以上只是开发前期测试工作引入智能一体化测试的效益分析。接下来在系统测试、运维阶段的变更与升级测试过程中,在已经完成大部分测试案例设计工作的基础上,智能一体化测试将会体现出巨大的优势。其随时可以极速完成案例全集的执行,将测试效率提升到极致,大幅降低研发成本和加快投产进度。
本书写作背景介绍
本书主要为作者的团队在组织中推广智能一体化测试而创作。在本书创作前,已经完成了智能一体化测试平台“Defect Terminator”的大部分开发工作,为了更有效地推广使用这套系统而特别创作了本书,以期达到理论与实践并重的目标。
本书理论适用范围
本书理论主要在银行IT系统的开发、测试、运维等工作中总结提出,因此本书理论方法首先适合在银行IT系统的开发、测试、运维等工作中进行推广。
对于拥有几十套甚至上百套IT系统的其他组织,例如电信类企业,同样可以推广智能一体化测试,进而有效地降低开发、测试、运维成本。
对于IT规模较小的组织,则可以根据实际情况决定是否推广智能一体化测试。因为这样的组织即使对于一般的自动化测试,也会由于资源有限而不进行投入,反而更倾向于选择容易开展的手工测试。
如何掌握本书内容
在学习本书的过程中,重点掌握下面两方面的内容:
? 智能一体化测试理论的核心思想。掌握核心思想后,才能理解智能一体化测试的实施意义,从而学会如何进行智能一体化测试需求分析、如何在组织中推广智能一体化测试、如何在具体项目中实施智能一体化测试,最终把智能一体化测试理论的核心思想转化为自己的思想。
? 智能一体化测试平台的设计思想。智能一体化测试属于自动化测试,需要通过具体的自动化测试平台才能落实与开展。掌握智能一体化测试平台设计思想后,才能设计并研发出符合自己组织需求的平台,进而在组织中推广智能一体化测试。本书提供了智能一体化测试平台的设计思路,并提供了大量的具体问题的设计方案,读者可以在此基础上更快研发出自己的平台,尽早实施智能一体化测试。
掌握了智能一体化测试理论的核心思想和平台的设计思想,就掌握了本书的内容精髓,接下来就可以勇往直前地去探索和开拓这一全新的自动化测试领域!
致谢
感谢我的老板牛新庄总、张国勇总 、毛斌总以及李文老师对智能一体化测试项目的大力支持。在他们的大力支持下,智能一体化测试理论提出后立刻开始进行实践,最终我们成功研发出了自主知识产权的“中国民生银行智能一体化测试平台DT”。
感谢分布式核心、客户安全平台、用户安全平台、安保基础平台、PE、现金管理、海外零售平台、基金、理财、柜面等开发与测试团队的兄弟姐妹们,他们与我的团队共同完成了首批项目的智能一体化测试工作。
感谢性能测试团队的建华、许威、志龙、李锋、雅洁,他们一起和我完成了智能一体化测试平台的研发与推广工作。
感谢功能测试团队的于雪、王海亮、张博,他们在自己负责的项目中积极推广智能一体化测试。
感谢所有在性能测试领域合作过的朋友,性能测试是智能一体化测试理论的源泉。
感谢电子工业出版社的郭立、孙学瑛两位老师,她们对本书的出版提供了非常大的支持。
感谢本书合作者周志龙、金成姬、刘蕙兰、刘建华,本书的写作过程占用了大家大量的休息时间。
感谢电子工业出版社为本书辛勤付出的所有朋友们。
尤其要感谢夫人金成姬和宝贝女儿米菲,夫人通篇审校了本书并润色了那些难于理解的句子,还一起和米菲提供了大量本来可以用来陪她们的时间来让我写作。