主讲人:PARASOFT公司的中国区经理 刘岳先生
很高兴又来到华软这个美丽的学校,我记得上次过来的时候,因为我比较胖,穿着衬衫我还在擦汗,这次过来穿着大棉衣过来我都有点发抖。我是在 parasoft负责整个parasoft中国地区销售和市场。我来自上海,上海是parasoft在中国地区的办事处。那如果说前面几家公司大家可能都 会相对比较熟悉一点。那如果说把他们比喻成海上的大船的话,我们看到有四艘的大船,其实他们虽然有的公司说不是很张扬,都比较低调。那parasoft是 最不低调的一家公司,如果说他们是海上的大船的话,我们真正是属于核潜艇这样的一个角色。他们是在海上大家很显眼的看到在那开来开去,那我们 parasoft是拥有整个神秘的海底世界,这个神秘的海底世界就是所谓的软件测试的一个行业。
parasoft是一家非常专注于软件测试的一家公司。Parasoft可以用三个词来描述它的特点,一 个是专业,高度的一个专业;第二个就是专注,第三个是非常的沉稳的一家公司。我们专注提供软件测试,保障软件的质量和软件生命周期管理的这样一家厂 商,parasoft公司其实有着非常深厚的背景,我们之前是家美国公司,是美国国防部下属的一个专门质量保障和定型计算的这样一个机构,我们之后把我们 的技术和我们的方案,我们的专利抽取出来,成立了parasoft公司。我们在二十多年的历史中,我们是专注于提供在海面上游行的船只运行的一个安全的保 障。那我们是专注于提供各种,可以讲整套的这个软件质量保障和提升软件开发效率这样一些工具链的厂商。那我本人也非常荣幸能够在这个parasoft中国 为parasoft去服务。针对就业来讲,我们也会去提供同学们一些根据自己的特点去规划一下职业的一个前景。更多的我们会根据市场的一些变化,市场的一 些人才的需求,向同学提供一些明确的建议。
刘岳先生
我觉得软件测试的市场是现在如火如荼的一个蓬勃发展的一个市场,在人才的需求上是非常庞大的。我们现在可以看到在软件测试市场,07年的数 据缺口差不多是在30万左右这样的一个水平,而且这个缺口将在逐年的逐步扩大。我们parasoft中国地区我们是07年这个,07年底正式进入到中国大 陆地区。那在亚洲地区开设我们第五个office。我们经过差不多短短两年的时间,我们现在的业务的增长,即使在08年金融风暴比较困难的时期,我们也达 到150%的增长。这个在全球范围内是非常非常夸张的。一方面,我们中国地区达到这样的增长,另外一方面,我也是parasoft全球最胖的三个人之一。 这也是一种荣誉啊。
Parasoft现在一个基本的状况,就像我刚刚给大家讲的,我们是专注于软件测试这个领域内的这样一家 公司。那我们现在客户的状况也是我们非常引以为豪的,世界500强的公司58%是我们的用户,世界100强中有88家是我们的客户。包括之前这边给大家做 精彩演讲的这四家公司,无一例外都是我们非常重要的用户。作为例子来讲,像IBM公司,在全球62个开发地点使用parasoft的测试平台,像ARM公 司的RVDS的java部分也是parasoft的JTest这个平台进行测试,可以讲,如果说这个每个人,每天差不多都会带上一到两个ARM的核在外面 流动的话,那基本上每个我相信,大部分的人的身上所带有的软件的部分都由parasoft测试工具来进行保障。
这个是我们在中国地区尤为重视的几个领域,包括一些著名的IT公司,网络通讯的公司,包括手机公司,包括一些 电信的公司,金融行业,那像我们全球最大的金融用户就是雷曼兄弟,当然很不幸他轰然倒塌了,但这个跟parasoft完全没有关系,是他自己运作的问题。 我们在金融行业,包括中国的金融行业,像广州汇丰啊,像这个中国人民银行,就是央行,包括这个中国银联,大家手上或多或少会有一些银行卡,他们的这种计费 系统,大部分都是用我们的工具来进行实时保障的,当然还有我们的军工行业,汽车电子,还有软件外包,那软件外包的话全球最大的四家,tata、 Infosys、Satyam 、Wipro,都是用parasoft的测试平台,我们真正是一家极其默默无声的一家公司,来为全球的软件行业保驾护航。
其实parasoft的前身和学校是有一些联系的。就是和加州理工学院有联系,他是一个非常集怪才的大学。不 知道大家了不了解钱学森,他是我们公司的CEO的校友,他也是加州理工学院出来的,在美国有许许多多这些大型的,尖端的项目,都会去依靠加州理工学院提供 一些支持和研发,那我们看我们跟全球的一些著名的大学,我们都有一些非常紧密的合作,像麻省啊,这个早稻田大学,斯坦福,庆应大学,还有许许多多,包括我 们在中国地区,一年的时间内,包括跟北大啊,南大啊,一系列著名的高校进行合作,尤其我们也是非常荣幸地和华软建立了非常紧密的合作关系。
这里看到的是我们在中国地区主要的产品链,我们是提供非常丰富,完整的产品链,针对主流的开发语 言,C/C++,JAVA,.NET,我们相应有单元代码级的测试工具,包括运行时的代码测试工具,那在针对主流的系统,webservice和 website的部分呢?我们有重点的系统级的测试工具,SOAtest和Webking,那针对上层的项目管理和这个角色的资源,我们有GIS这样的一 个系统,可以说我们从这个系统的消息层,到代码层,到实现层,我们都有非常完整的工具进行实时的保障,从我们的管理,到架构,到运行时,到静态的代码的测 试,各个环节我们都有相应的工具和方案提供支持,我会以比较快的效率给大家看一下我们工具的一些主要的功能。那可能我记得在上次在给大家做一个介绍的时候 可能有一些同学可能有看到过我们的一个工具C++Test的一些功能,这边我们这个代码级的测试工具,以C++Test为例的话,他主要会分静态和动态两 大块的测试,静态部分我们有自动代码撰写规范检查,我们有运行时,模拟运行时的测试工具,功能模块,我们的代码撰写规范部分我们差不多集成了有1800条 的代码撰写规范,我们的代码撰写规范有来自不同的经典的来源,包括一些经典的书籍,Effective C++,More Effective C++ 这样的一些书籍。包括一些著名的meyer-klaus倡导的一些规范,包括这个汽车行业Universal规范。包括一些cyy评级的一些规范,那我们 都是把全球这些著名的规范集成在我们的工具中,实现自动检查,之前是完全靠人的肉眼去检查,去看,我们的这个,除了我们自带的代码撰写规范,我们还有自定 义代码撰写规范的能力,我们的RealViews专门来用图形化的方式来帮助我们的用户搭建代码撰写规范。动态测试部分呢,我们parasoft所提供的 所有产品链,三个工具,是全球真正能够唯一为用户生成整个测试用例套件所有代码的这样一个工具的厂商,我们的动态测试包括白盒测试,黑盒测试,集成测试, 所有的,包括您的白盒方面,坚固性的测试的测试用例的套件,包括黑盒测试测试用例的套件,我们可以自动化地为用户自动地生成所有的代码,而且,这样的一个 方式大大地提升了一个测试的效率,其次呢,帮助我们的开发人员去减少他在测试上所耗费的一些重复性工作的一些时间,去保障他有一个高的开发效率,让他有更 多的时间去做开发与创新的工作,集成测试呢,我们会把我们生成的白盒与黑盒的一系列测试用例,整合起来,在用户的定义下去进行这样一个集成测试的过程,我 们还包括回归测试和覆盖率分析的部分,回归测试,回归错误是现在一个整个软件业界非常非常大的问题,就是你如何来保障在一个高速的产品更迭的过程中,去保 证你新开发的功能,或者新Update的功能,不去破坏或者影响既有的那些成熟的功能模块代码,这个就是我们回归测试来进行自动检查的一个部分。
我们还提供覆盖率分析,我们针对不同的语言,针对不同的开发环境,我们有一些不同的覆盖率分析的种类,以 C++Test为例,我们差不多有一共六种覆盖率,基本上主流的覆盖率的部分我们都有覆盖到,包括行覆盖啊,语句覆盖啊,条件覆盖啊,块覆盖啊一系列,我 们在整个测试的过程中,从静态,动态到回归测试,覆盖率分析部分,我们可以做到非常高的自动化的一个程度,帮助我们的用户在测试上能够用更少的时间去完成 更高的自动化的一个工作,而且,能够帮助他去节省他的时间,去做一些创新的动作,这是我们C++Test工作的一个原理,可能在座的同学们或者老师可能更 多的是一些学计算机,电子类的一些朋友,我的这个PPT会是非常偏于技术的一个PPT,那我也希望各位同学以及老师能够从中获得一些想要获得的知识,我们 的C++Test他的一个工作的原理其实总而言之的话,我们的用户只需要提供他的源码和库资源,C++Test就会把中间所有的部分生成出来,所有的源代 码我们都会向我们的用户去开放,生成所有测试所需要的每一个部件之后呢,我们会把用户的源码和我们所生成的所有源代码一起编译或者交叉编译,在嵌入式系统 上把它进行交叉编译,并且把它变成一个在目标平台可以运行的code,这个code在不同的平台上,无论你是主机平台,还是在你的嵌入式平台运行完之后, 它会把测试时候的覆盖率保留下来,传回到你的主机,开发平台,生成不同格式的测试报告,整个过程大家可以看到,非常的自动化,非常的高效。
大家可以看到,C++Test这个工具他能支持的平台,上面可以看到有IBM的平台,有微软的平台,这是主机 的一些开发系统,包括我们的JTest支持SUN的平台,我们有支持许许多多的平台,我们也是力求在一个语言内的工具中能够支持尽可能多的现在的一些流行 的平台,我们在IDE的插件部分,主要是说如果用户使用的是列出的这些IDE,像Eclipse,VS,Workbench,RVDS类的IDE的话,我 们的这个工具,C++Test可以变成工具条嵌在这样的IDE里面,让我们的用户在开发环境中进行测试。这里是我们所支持的一些宿主编译器,主要是主机平 台,zunwei系统的一些编译器,这方面主流的编译器一般我们都有支持。
这里看到的就是我们一些硬件的编译器的支持,jiagao编译器的一些支持,基本上主流的我们都有支持,这里 是我们工具所支持的源码控制系统,基本上也是常见的,我们都可以在这个列表上看到,这路是我们在企业用户,包括学校的学院计划,我们所实行的一个完整的方 案,我们在学院计划部分,我们也是力求把企业真实的一个开发环境平移到我们的学校中,让我们的学生在这样一个真实的开发环境中去进行学习,提升他在之后这 个工作或者寻找工作机会的一个过程中的一个核心竞争力,我们在这个学院计划部分中,我们主要是在三个方面实现这样的平移的动作,一个是我们企业的真实的开 发环境,我们把这样的环境真正的平移到学校中,第二就是一些核心技术的开发,parasoft在中国地区的时间,算是比较年轻的一家公司在中国,我们有许 多本地化与定制的工作会在中国大规模的展开,那我们也是希望把这一部分的尖端的研发工作能够分到我们一些核心的大学合作伙伴,去进行一部分的研发工作,第 三个部分就是我们一些技术培训的,我们也会把我们一些认证培训的一些机会把它在中国地区和各个高校进行分享,在我们团队协同开发的一个环境中,基本上来 讲,在这个笔记本的位置,就是我们的老师的位置,在上面台式机的地方就是我们学生的位置,中间是我们的一个TestService,上端我们有链接的源码 控制系统,下端我们会连接一个团队开发配置系统,他集成TCM,是我们Service版本中的一个模块,后端我们有一个报告系统去生成项目的进展报告,在 工作的一个过程当中,就是由我们的老师把他所需要教授给学生的一些代码撰写规范或者一些规则通过我们的这个RealViews配置到我们的这个TCM中 去,由TCM用广播的方式,自动派发到每个学生的学生机上面去,然后自动地去对学生机的作业或者代码进行检查,在学生机上,主要会通过两部分的检查,一个 是代码撰写规范的检查,第二个就是他所负责的这个模块,或者负责的某一个单元的单元测试,在测试完之后,他才可以把源码checkout到源码控制系统, 整个项目或者代码的整个codebase就会呆在这个源码控制系统里面,我们的这个service版本的C++Test或者JTest,或者 DotTest,会在我们TestService中,他会把源码控制系统整个codebase抓到我们的TestService去进行批处理的测试,我们 可以进行这种定时的测试,可以用这种构建的方式在进行定制的测试,这个测试部分会通过三个方向的测试,一个是代码撰写规范的检查,第二个部分就是,第三个 部分就是整个codebase的单元测试,整个测试工作完成之后呢,这个测试日志,测试结果会给到后端的报告系统,去生成图形化,量化的项目进度的报告, 第二部分他会把测试报告,测试数据给到TCM,由TCM给到每个开发人员他所负责的那个模块的测试的结果,形成相应的分报告,派发给每个开发人员或者学 生,让他看到自己作业的一个批改结果,同样在企业的开发过程中,每个工程师可以看到我自己的代码的测试的一个结果。
那当然,他会把一些全局的一些结果派发给我们的老师或者在企业中的话就是他们的项目管理者,或者测试的负责 人,我们parasoft所崇尚的一个软件质量的一个理念,这是非常重要的一个部分,也是我们一个核心的精髓的理念,就是AEP自动错误预防,AEP这个 理念,parasoft是这个理念的创始者,简而言之,这个理念就是说如何来保障软件质量,如果说,在次以这个瀑布式的开发方式去做这个需求,然后设 计,coding,然后再来做测试的话,这个是在当今的时代,在这个产品更迭速度非常快的这样一个时代是无法去保证软件开发的质量的。我们所崇尚的一个理 念就是在你开发的开始,在你软件coding的开始,就需要把这个质量建立到代码中去,你才能从根本上去提高你的软件开发质量,parasoft也是提供 各种经验结晶的工作链,去保障这样的一个理念,能够在真实的开发和学习的过程中,得以真正的实践,也是希望我们的同学,我们的工程师,在使用这样工具的同 时,一方面去学习,做一个结合多种最佳实践的一个工具,他是怎么来完成这些工作,其次去考虑如何用更进阶的方式来保障更深,更有扩展性的这些测试,创新的 一些工作。
这个部分是我今天的最后一个部分,我们关于项目管理和决策的这样一个系统,就是我们之前看到的GIS部分,在 我做项目管理的时候,很少有什么工具能够帮助我去评估这个项目现在量化进展到哪个阶段,那GIS就是用来帮助我们项目管理者,或者我们的这个架构师去了解 这个项目现在客观地是走到哪个量化的阶段,GIS之所以可以做到这样的一个工作呢,这和它收集的数据有一个非常大的关系,一方面,他会去收集 parasoft整个产品链的这个工具的数据,第二个方面,他会收集从源码控制系统到这个需求管理系统,曲线追踪系统,回归测试系统,构建系统,员工手中 测试的数据,parasoft的GIS能够收集这么多的数据,集中到GIS中去,由GIS通过它的算法来帮助用户计算出他现在项目的进度的量化的一个状 况,这样是可以通过各种图形化的方式来想我们的这个用户去展示从最抽象层的项目的进度,就像汽车的油量表的这样的一个进度,到最细节的代码在哪个位置出现 什么问题,这个问题造成了哪些回归的错误,包括他报错的类型,造成的这个项目时间的delay,非常详尽的数据,都可以通过图形化的方式一一展现在我们用 户的面前,基本上来讲,我们parasoft在软件测试和项目管理,包括我们的整套方案,都是由这样的几个部分来组成,中国的软件测试的状况,和国外现在 是有着不小的一个滞后,像在硅谷的软件开发企业,他基本上这个软件开发人员和测试人员的比例差不多是1:2到1:4这样一个水平,一个开发人员要对应2个 到4个测试人员。比如说像在早期微软在搞开发windows 2000系统的时候,是历时有三年的时间,投入了50亿左右的美金的巨资,他当时所采用的人员的比例,大家可以想一下,他是差不多250个项目管理 者,1700名的开发人员,加上3200名的测试人员,这样的一个规模,可想而知,早在windows 2000开发的时候,这个测试人员和开发人员比例就是这样一个状况,那中国是现在越来越重视软件测试的这个工作,中国越来越了解到,质量,开发效率,上市 周期,是我们所有软件产品,甚至于软件年代的一些硬件产品他的一个核心的竞争力,parasoft也希望在中国地区能够全面提升我们在中国的这些企业,包 括驻中国的这些外资机构的这样一个开发的状况,那也希望同学们能够在我们的这一些真实的方案环境中能够了解到现代的企业是如何来进行软件质量的一个保障, 开发效率的一个提升。
今天也非常感谢大家能够和大家一起分享parasoft的一些真知灼见,也希望同学在今后的学习过程中能够一帆风顺,希望各位能够在美丽的、浪漫的华软校园里学业、爱情双丰收。非常感谢大家!