加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

《软件测试》(Ron),阅读的很愉快

(2011-11-09 14:16:25)
标签:

杂谈

分类: 感悟-软件测试

    这几天在阅读《软件测试》(美)Ron Patton,非常收益,虽然几年的测试,但老觉得自己的对很多测试概念或分类不清晰,或理解不专业。这一本书深入浅出的进行了解释,按照软件工作的流程逐步展开测试工作,并且有很多宝贵的个人经验,结合自己的测试经历,很多地方感同身受,有些地方实践问题转换为理论也非常容易理解。
    先从认识测试开始,国外测试发展历史也不长,国内的测试发展就更加时间短,十余年的时间,记得01年进亚信,当时测试的是邮件系统,而另外一个产品(后来一段时间的影响超过邮件系统)——短信网关,当时就是几个开发自己编程、测试、上线和维护,如果有问题或者新需求马上修改代码后自己替换,但是随着短信业务暴增,短信网关现网暴露的问题越来越严重,开发实在顶不住了,03年的时候成立独立的网关测试小组,而我也做为这个产品线的测试负责人对网关进行专门的测试,大家知道04-06年是短信的黄金期,那个时候SP一个月的收益是非常惊人的,虽然部分原因是网关协议逐步制定有它的局限性,导致SP的疯狂开发业务,但是作为网关系统本身只能去改变自己,让软件自己更加强壮来支撑井喷式的业务发展。
    那么当时的测试任务是什么:就是为了找bug,尽快的找到bug,并尽快的修复,特别是一些严重的bug,放到现网去暴露出来,是非常可怕的,短信的产生的话单就牵涉到计费,sp、移动、用户三者的利益,特别是跟移动关系比较好一些的sp,一发现发送速度慢或者直接发送出错了,就会毫不客气的投诉,往往半夜被叫起来查看原因,压力和成本都非常大。移动后来还要求每次故障要在15分钟内解决,超过了就要罚款150w。
    测试方法呢,基本上都是手工,且以功能测试为主:按照业务流程(移动短信流程MT、MO、状态报告)、协议(CMPP协议、SMPP协议)、重要数据(话单、日志、业务统计),再结合性能(开始性能还不是最重要的),后边06-07年的时候,随着业务类型的稳定,业务数量的增加,性能逐渐成为主要,方法是单机(某种服务器上的性能,当时是SUN、后来有IBM、DELL),混合(模拟现网服务器数量和模块布置结构,再结合现网的业务类型及对应的平均和峰值数目),一般去联系硬件提供商譬如SUN广州销售中心当时在中信广场,还有因为业务数据和很重要,很多模块都是挂盘阵,并设置为主备自动切换,以硬件的方式解决单点故障的情况,当然后来也逐步使用软件方式来解决负载分摊和单点故障),那么就去北京的vista公司专门测试某种盘阵的读写速度是否满足要求。
    自动化在后边也做起来,主要原因是主流业务稳定而且越来越多,移动新需求还有对原因协议的改进越来越多,发布频度高了,没有足够的时间来测试稳定的功能,你不测试又有风险,网关开发的人流更替,加上软件一开始的架构设计的不好,启用新人维护代码有很高的风险,不测试大家都不放心,所以对稳定的业务流程、重要的协议以及一些参数配置的开关都进行了自动化测试,手工测试就重点集中在新需求或者以往版本的缺陷修复验证上,往往是搭建了几个测试环境,有的环境在跑自动化,有的环境在走手工,持续了一段时间,虽然实际上自动化测试过程中发现的问题几乎没有,但是因为测试起来快,也不会浪费太多精力,所以上在可接受测试阶段或者发布前期都会跑一次,大家心理会踏实一些。
    测试还有一个任务是编写文档:新功能说明文档、整体的软件操作手册、每个版本的升级手册,当时感觉最头大的事情就是升级,升级一定要半夜进行,为什么,因为短信业务少,影响的数据少啊,移动要求每次升级影响不能超过30w的短信量,所以升级是在大家最困的时候进行,而且还要足够的清醒,不能有误操作而且动作还要快,关键是这样的要求是建立在有些省节点有几十台服务器,模块总数达到上百个这样的数量级,升级之前要先停止业务,升级后还要查看每个模块的是否运行和业务处理都正常。因此当时升级是开发、测试、维护人员一起上的。当一有点小问题,第一个问的就是测试,所以可以说当时测试是对网关个模块了解最深刻的人。不管是对它已有的小问题还是解决问题的过程(某个版本中)如十分清晰。
    可以看出,当时的测试主要是围绕产品,为产品为开发服务,而个人的测试职业发展、产品测试新技术研发基本空白,这也是我在亚信10年中,觉得恍惚一瞬间,但自己真正收获的东西不清晰,除了自己一路跟着移动短信走,见证它的兴衰过程,其他精细化、专业化都谈不上。不过想一想我的十年可能也正式中国软件测试缓慢、模糊发展的十年,大家模糊不清晰其实也是可以理解的,关键是自己经过了这几年,还是喜欢测试,对测试的兴趣越来越浓,对测试的发展也越来越感兴趣,而且回过头来看看这些系统的书,你会很容易理解,那我想这10年也不枉费了。学习就是这样的先学习理论,再进行实践,然后再用理论来指导时间,是需要一个过程也少不了时间的沉淀。但时代不同,比十年前浮躁多了,很多人目的非常明确——不喜欢黑盒功能测试,学不到东西,要做自动化、性能,有发展前途,在腾讯工作期间遇到过,或不喜欢做按按点点的没有技术的界面测试,或做了一阵测试就萌发了转去开发的念头,看到这些一方面惊讶于不同年代人的差异真这么大,没错设定目标很重要也是好事,但是我依然觉得面对一个岗位不把心放进去,难以深入,也就难以坚持下去,而新入公司把一个产品跟好,熟悉它的内部结构、了解它的市场发展、不管采用什么方法做好自己的本职工作保证产品的质量,这个过程一年半载是至少的,岂能个把月就可以把东西看透!而且做好了最基本的工作,深刻理解产品以及赢得团队信任这两点对你以后的性能、自动化开展绝对帮助的甚至可以说是必须的,否则很容易你陷入为自动化而自动化,实际的收益呢,你觉得你的自动化提高了吗,试问不是为产品量身打造设计的自动化即使你的编码水平提高了,也未见得你真正理解自动化测试和编码的区别。

     有个寓言:有个画家老实抱怨自己得不到名师的崔青,有个老人跟他说你画一幅茶壶和茶杯的画,画了之后就跟他指点,你看茶杯都是在茶壶的下面,茶壶的水就会注入茶杯,做人也是这样,先把自己放低,才能吸收到。——先学着沉下去,才能浮起来!

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有