读到一篇文章,感触颇深。

  《测试新人入职体验》讲的是一个测试新人在淘宝工作段时候后的总结,以管窥豹,可以看到淘宝测试团队的基本测试工作情况,结合我目前公司的测试的情况,发现有许多值得借鉴并改进的地方。

  从测试类型上看,测试可以分为:功能测试、性能测试、自动化测试、接口测试、安全性测试、易用性测试等等。

  从测试的过程来分,测试可以分为:产品/项目的升级测试流程、日常测试流程。

  其中,测试的过程里,具体的测试中,需要使用到的测试类型是根据实际情况(测试团队的人力资源,测试人员的素质,测试的进度安排,测试的深度与广度需求等)来进行安排的。

  测试类型上看,每种测试类型又涉及不同的测试工具和不同的测试技术需求。从web测试来说,涉及web前段的测试和web后端的测试,前端又涉及UI测试,易用性测试,安全性测试等,web后端如CMS涉及功能测试,接口测试等。UI测试需要了解UI设计的一些知识,需要了解并使用firebug,ie develop,httpwatch等辅助工具,更深层次的发展还需要了解设计相关知识如css,JavaScript,html等。安全性测试需要学习 xss,sql注入,社会工程学等知识,需要了解并使用WVS,webinspect,appscan等扫描工具,更深层次安全测试需要学习如操作系统,数据库,Apache,IIS等知识。易用性测试需要了解User Experience Design等知识了,更高层次的发展是产品经理了。web后端的测试,功能测试相对简单,主要是各个功能点的测试验证有效与否,深层次的发展是白盒测试与自动化测试。接口测试主要涉及产品之间的兼容性,有效性测试,每次关联产品的变更,都需要对在本产品中用到的相关接口进行测试。

  另外,性能测试作为单独一块提下,性能测试是一个系统工程,涉及的知识非常多,以loadrunner为例主要涉及3大块:虚拟用户的脚本开发(涉及C语言编程,深层次涉及.NET,JAVA的整合应用),用户场景的设计(涉及用户行为分析等),测试结果分析(设计监控器,服务器优化调优等)。总之,非常复杂,建议参考《学习性能测试线路图》,jackei的blog性能测试模块。

  从上述的总结来看,每种测试类型都有其发展深度,每个测试人员都应该有一个相对主要的发展目标,把有限的精力放在一个相对稳定的目标上,更有利于测试人员的职业发展。

  上面说了技能,工具,发展。下面谈下管理方面的心得。

  业务层面上,每个公司都有自己的拳头产品,也许小公司没有,但在以前的项目中也肯定有一些具有典型代表的意义项目。这些产品/项目都有其核心的业务流程,掌握这些核心流程是每个测试团队的成员的基本目标。只有熟悉了业务,才能完整的掌握软件的功能点,才能在产品的升级测试,新项目的工程测试中高效率的工作。

  这里如何提高整个测试团队的工作效率呢?个人认为建立一个相对完善的测试体系是重中之重。无规矩不成方圆,没有套测试体系,那在实际测试工作中肯定是比较混乱的。而测试体系的建立要根据公司的实际情况来进行,现在参考一下淘宝的体系。以下是我猜想的淘宝体系:

  测试部=测试架构组+各测试小组+质量保证组

  测试架构组主要从整个测试层面来考虑问题,通常由的开发人员或架构师担任,需要精通公司各个产品的架构,需要精通测试的几大块:白盒测试+自动化测试+性能测试+安全性测试+功能测试。这里看阿里巴巴招聘的条件上可以了解到。

  各测试小组,主要包括功能测试小组,自动化测试小组,性能测试小组,安全性测试小组,白盒测试小组(这个估计淘宝还没有)。

  质量保证组,更多的是配置管理,CMMI管理,考核统计的职能。

  然后对本公司的测试团队做一个简单的分析,找出可以改进的地方。