昨天晚上微博上有测试同仁 @testGM 想了解下如何从传统ERP测试向主流互联网测试转型。我本人在来淘宝之前是做传统ERP测试的,现在在淘宝做了这么长时间,对互联网测试也有一定的了解,想谈谈自己的看法。 特意说明下,我这边了解到的传统ERP测试是4或5年前的ERP测试情况,不代表目前的整体情况,说的不对的地方 望谅解。 整体策略: 谈过如何转型,那是知己知彼了。首先自己要了解传统ERP测试的优点和缺点以及特点,也要了解互联网测试的相关特点,从而给自己设定一个计划来快速转型,目的很简单,发挥在传统ERP测试的优势来弥补互联网测试的劣势,或者达到一种较好的平衡。 传统ERP测试VS互联网测试 (1)C/S架构:来淘宝之前,我是在MS做传统ERP的测试,这个ERP是MS从国外收购过来的,主要给中小企业提供ERP服务,大家应该知道,那时候,ERP是C/S架构的企业软件,现在很多ERP系统都是走B/S架构的。说实话,我不了解现在ERP系统的B/S架构和互联网产品的B/S架构的区别,所以这方面我不继续说了。C/S架构带来的是什么呢?很显然,是版本升级的非实时性。我记得我们当时每次修复bug后,都是将修复后的代码文件交给技术支持,然后由技术支持来重新import到版本中。 (2)流程严格:这个不多说了,在传统流程中,把文档和review和前后接入准则做的都是非常好的,我在MS那边的时候,提交bug、修复bug、回归bug都是很严格要求的,包括验证bug的TC,都是写的很详细的。还有是fix bug的 old code/new code的细节,反看互联网测试这些都是很少去做的。 (3)业务逻辑复杂:记得在MS我们要学习很多关于库存管理、财务管理,报表管理等很多行业知识,一方面给测试的复杂度带来了挑战,另一方面对业务逻辑的沉淀显得非常重要了,记得当时有很多这样的业务文档要学习,当然也有一些人不做开发或测试,去做ERP的实施了。反看互联网测试上层业务变化还是非常快,业务逻辑变化也快,而且也没有ERP那么复杂的业务逻辑,从而测试接触到的都是非行业核心的东西。 (4)测试效率:前面几个特点也说明了传统ERP的测试效率应该很一般,的确是的,包括ERP传统测试技术的发展,这个原因也是多方面的,我觉得很大一方面是开发架构和技术的变化不大,导致测试技术的变化也不大。大家可以看看互联网的开发技术变化多快,很多新技术和架构都是在互联网产品上应用起来的,同样的映射是测试也必须在测试技术上提高从而跟上开发的步伐。包括接口自动化测试、分层自动化、持续集成、A/B Test等等,很多测试技术在互联网上应用较多。很多测试同仁也认为互联网的测试技术很牛B,一方面互联网测试必须找到很多较先进和流行的测试方法或技术或框架来提高效率。其实做传统ERP测试的人也是很牛B的,在国内的特点,是太封闭了,不去外面交流来寻找新的方法和技术,国内估计很难找,那去国外找啊,相信总能找到的。 其实对比这个还有一些特点:比如传统测试,职责明确;而互联网测试是责任共享;传统测试是大步迈进,而互联网测试强调的是小步快走。 说了那么多,大家可能会问,我到底怎么转型啊,怎么更快的啊。 目标确定了,既然要做互联网测试,那了解互联网产品测试的特点呗,有哪些核心的技术和框架呗。建议想转型的人,从下面几个角度考虑: (1)测试方法:大家可能会说,测试设计方法应该差别不多,是的,的确不大,但还是有差别的,建议各位看看互联网产品的公共功能的测试设计方法,我之前的blog也有提到。多了解下同样的边界值和组合测试法在互联网产品上是如何测试设计的。 (2)自动化测试:一方面,把自己做ERP自动化测试的经验带过来,我记得我在MS做ERP自动化测试的时候,那是MS的测试自己开发的测试框架,很牛X,我仔细的了解了下该框架的架构,发现Client的界面都是建模的等特点。后来到淘宝,做页面自动化时,提出了类似的建议并一直使用至今。另一方面,是学习分层自动化测试和持续集成,多学习下java语言以及互联网产品的开发架构,包括相关的基础技术,数据库和Linux命令啥的。一步一步来,先从页面自动化框架开始玩玩,从使用到熟悉到精通,搞起来,然后是接口自动化,类似的过程。持续集成也是一样。 (3)测试流程:需要了解互联网产品的测试流程,大部分是走敏捷的,虽然很多走的乱七八糟的,但是是那个样子,流程乱,测试开发信息脱节,交互设计信息脱节,太多的问题存在了,回归测试和冒烟测试的重要性和严谨性等等都是大打折扣的。这些东西在传统里面做的非常好,你可以把这些实践拿过来在互联网产品的测试上实践,虽然因为各种各样的原因,有很多难以做起来,但是不要忘记这些好的东西,慢慢的坚持,总会有进步的。 (4)测试心态:这个大家可能觉得奇怪了,为啥要看测试心态。只是提前打个预防针而已,互联网测试 很枯燥,很乏味,你需要测试很多浏览器,兼容看看;你还会发现很多bug,虽然很多是前端bug,但是你发现和回归都很痛苦;你会不停的关注性能测试以及线上反馈;你还会担心你测试的页面是否有安全漏洞;你还会痛苦的发现我做了那么多,测试技术还这鸟样。不管怎么样,你还是要坚持下去,目前来看,是互联网的测试技术发展较快,能把你的眼界打开,看到更多的彩虹。 我接触了很多做传统ERP测试的同仁,当然也有非ERP的测试,大部分人都是很仔细,很有耐心的,在互联网产品上继续保持这个,你肯定有前途,当然测试技术上也要跟上大家的步伐。