谈软件测试---一年测试工作总结

发表于:2011-12-31来源:博客园作者:虫师点击数: 标签:软件测试
这篇总结推迟了好久,一直想在工作一年之后写一篇总结,由于各种琐事以及感觉想法的不成熟,一推再推。这两天尤为强烈,不管怎样都应该把这一年多测试工作学到的知识和想法记录下来。 软件测试行业在国内发展时间较短,每个公司对软件测试公司的定位和

  这篇总结推迟了好久,一直想在工作一年之后写一篇总结,由于各种琐事以及感觉想法的不成熟,一推再推。这两天尤为强烈,不管怎样都应该把这一年多测试工作学到的知识和想法记录下来。

  软件测试行业在国内发展时间较短,每个公司对软件测试公司的定位和工作内容也不经相同。本人只在一个公司从事测试工作并时间不长,如有偏见欢迎指正,不胜感激。^_^!!

  个人对功能、性能自动化三个方面测试的认识

  复制代码

  功能测试的重点在哪儿?

  说一下本人对功能测试的理解,关于功能测试重点在对被测系统的了解上。至于测试方法:等价类划分、边界值、错误推测、因果图....等测试方法很容易理解。把这些方法应用到系统功能测试中也不难,关键是如何应用?这里又引出了一个东东,叫“需求文档”?一个系统不是你想测什么就测什么?也不是你认为它是bug它就是bug的。

  例如:一个登录,用户名没区分大小写,我是用小写注册的,但是登录时,我用的大些却可以登录,这算一个bug吗?不是个人认为的是或不是的,要根据需求来判定。

  需求很重要,好吧!能得到一份完整或不变的需求对测试人员来说应该是一件很幸福的事儿?因为我们少去很多麻烦。好吧!假如一下我们得到了这么一份需求。那我们是不是根据需求就开始对系统进行测试了呢?那么这时开发人员还没把产品整出来,那我们做什么呢?要不想想我们测试什么吧!?或怎么对系统进行测试,做哪些验证。这就引出来一个东东。叫“测试用例”。为什么要写测试用例?http://www.cnblogs.com/fnng/archive/2011/09/10/2173149.html 在我的另一篇博文里有讲。

  想做好功能测试要做好四点:

  1. 非常了解被测试系统,各个功能和各个业务逻辑。

  2. 需求文档,如果你不知道怎么测,那你一定没看需求文档

  3. 测试方法的学习,方法不难理解,如何运用到项目中是关键

  4. 测试用例,在上面三点的基础上写用例,一个用例可以体现出你对上面三点的掌握程度

  性能测试水很深!

  很幸运刚进公司老大就让我对公司系统做性能测试,那时学了几天JMeterLoadRunner掌握一些基本操作就以为自己会做性能测试了,在此自我鄙视一下自己的无知。其实,性能测试的重点不在性能测试工具的学习上。天天看到群里有人问,LR怎么用?又录制不了脚本了。脚本回放有错。如何设置XXX?为什么高手能用树叶杀人呢?一般的小罗罗都在抢屠龙刀,倚天剑。以为得到了屠龙刀就是最牛B的人了。

  当然,你也通过分析系统的压力点、LR录制脚本,设置用户,做压力,分析结果,整理测试报告。完成了性能测试的整个过程。那么我说这个性能测试报告是有效的,但它不一定是有用的。

  为什么说是有效的:因为在性能测试报告中,你把测试环境测试工具、测试方法、测试结果都描述的很清楚。那么这次性能测试就是有效的。在你所在的环境中,你是测出了这样的效果。并未掺假,全部真实的记录。

  为什么说它不一定是有用的,你了解系统架构么?知道数据库中间件、前端程序的运行方式和处理机制么?了解网络协议么?了解操作系统么?熟悉开发系统的语言么?如java JVM的内在机理知道么?这些都是系统运行的一部分,都在影响着系统的性能。如果不了解这些,你如何做出有价值的有参考意义的性能测试。如果你的性能测试没有参考意义,那不是自已在逗自己玩么。

  《我眼中的性能测试工程师》http://qa.taobao.com/?p=8308

  为什么要做自动化测试?

  貌似好多人都在热追自动化测试,貌似自动化测试手工测试先进牛B。本人对自动化测试也没什么实际经验,只是对QTPselenium浅学了两下。这里也讨论两三句。

  自动化测试无非就是用工具代替人对系统进行验证,它如何知道怎么验证。这个要你一步一步教它。所以,自动化前期的投入很大。

  什么项目适合自动化?

  需求变动小、项目周期长、可复用性高。如果不满足这三个条件,你要掂量一下是否要对项目引入自动化。

  那么它的找bug能力呢?

  我所了解在我的手工测试中,相当一部分bug并非我按照用例测出来的。有统计它只能找出来30%的bug。70%还是要靠手工测试。那投入那么大,找bug能力都不强。为什么还有那么多公司试水,做自动化测试主要是在加入新的功能后保证已经功能的正确性。

  那么测试人员要不要学自动化测试呢?

  我犹豫了很久还是觉得要。自动化测试毕竟是软件测试的一个趋势。从测试人员的自我技能的提升也一个方向。至于公司是否真的需要自动化测试,自动化测试是否得到很好的收益就另说的了。

  下面是个人对一些问题的看法。

  复制代码

  测试人员是否要懂代码?

  懂是必须的,更客观的说法,看下图:

  上图是根据自己的理解所画,根据你所做的测试工作不同,所要掌握的测试知识的多少不同。

  我确认一点代码也不懂的测试人员,工作细心,认真的执行测试用例,也能把测试工作做好。那么你的发展方向在那里?你说可以做需求分析人员、质量管理人员。貌似在偏离软件测试工作。想成为一个软件测试高手,懂代码是必须的,我没见过哪位测试高手或专家对代码是一窍不通的。

  不懂开发的人员更能从用户的角度测试?

  见某测试人员云云,他们公司招测试人员专招非计算机不懂开发的测试人员来测试,公司的意思是这样的人更能站在用户的角度上去测试软件。好吧!我不想再阐述测试人员不光只是测试界面的工作,也许你们公司就只测界面。我一直不理解有为什么懂了计算机懂了开发就不能站在用户的角度上去测试。非专业的人可以从非专业的角度和思路去非常规的测试点。我认为他也有可能找一些不是bug的bug去给开发人员添乱。

原文转自:http://www.ltesting.net