cloudcloud 发表于 2006-8-3 11:42:47

一点测试心得

在手续费的整个设计阶段和开发阶段,以及后期的维护阶段中,得到一点测试心得和大家分享一下。
        一、准确理解需求。
        我认为测试首先要准确的了解系统是干什么的,要达到一个什么样的效果。设计阶段中就已经确定了什么事情系统是能够完成的,什么事情是系统不能够做的。测试不但是各个功能单独的测试,最好能够从整体上了解整个系统的结构,流程等等。理解需求,包括两方面,一个从我们程序的角度,即我们的详细设计文档所描述的具体的什么表,什么字段等来了解。了解什么功能的实现跟那些表,那些字段有关,做了某些操作后,这些表的字段应该发生了什么样的变化。这些都是建立在对系统的深刻理解的基础上面的。另一方面,从客户哪个角度去理解需求,因为客户不会管我们实现这些功能具体是怎样实现的。但是他们对业务的理解会比较深,有些情况(情景)是要在实际操作的时候,才可能考虑得到。对需求的准确理解是验证程序的正确性的最重要的要求。如果测试的过程中不清楚系统应该实现的怎样的功能,必须通过各种途径了解清楚。

        二、测试重点要分明。
测试整个系统的过程中,对一些关键的重要功能的测试,必须重视它,反复进行测试。根据可能出现的种种情况进行测试。因为这些关键的部分有问题会引起其他相关的一连串的错误。

        三、测试案例的准备和保留。
对于系统整个流程的各个功能,每个功能的各种应用的情形,准备好相应的情形的数据,(做好备份),以备修改好后可以重现或检查。理想状态下应有完整的记录说明,什么样的数据是做什么测试用的.
有些经常要用到的测试,最好能够另外编写很简单的测试驱动程序。可以写些专门用于校对数据的准确性的小程序。案例的准备数据和应有正确结果对于回归测试特别有意义。

        四、沟通技巧
沟通的时机主要是一个测试前,一个在测试后。测试前务必了解清楚系统的功能点。测试员必须不耻下问,程序员回答测试员问题的时候也不应该感到厌烦.第一点中已经有过这方面的说明。测试员在问程序员问题之前,最好自己首先阅读相关的设计文档和数据库结构.心中有底之后,再带着疑问去咨询,会取得比较好的效果。对需求有了准确的理解后,做好数据准备后开始测试,测试完成后,记录测试结果。发现问题的时候要重复多次,最好能够重现错误。有些错误确实不能每次都重现的话,尽量回忆清楚发生的情景是怎样的,好描述或演示给程序员看。有的时候,可能确实不是程序的错误,而是操作不当引起的。这种情况应该区分好,有的时候应该坚持自己的理解,当双方对同一个问题的理解出现分歧的时候,必须找系统分析员或项目经理确认一下谁的理解是正确的。沟通的时候,测试员要很耐心的聆听对方的意见。有的时候以邮件的方式沟通比较好,不要所有的沟通都以口头完成.当双方都比较烦躁的时候,可以暂时把问题放在一边,不要争吵。等大家平静下来的时候再继续讨论问题。

        五、测试的顺序
测试有单元测试,集成测试和压力测试等,还有白盒测试,黑盒测试等分类.我觉得测试一般来说先进行功能性测试,然后再进行压力测试.可以借助一些工具来辅助测试。测试的数据不能太少,有时数据太少就不能暴露出某些问题。集成测试的时候,重点测试各个接口,这时对整个系统的全局的了解,整个流程怎么走必须心中有数。通过测试驱动开发,从而提高软件的质量。

        六、测试的分工合作。
测试的时候是很需要老老实实的执行程序的,千万不能想当然。测试需要分工合作,测试计划和案例跟着需求变动,特别是后期需求发生了变化,时间又紧迫的情况下,测试的文档就很容易跟不上。到后期编码任务基本完成后交付给客户之前需要进行详尽的完整的测试。以前我们会进行交叉测试,但效果不是很理想。测试后集中修改,必须进行回归测试。特别是项目后期的集成测试的时候,最好能够大家有计划的安排好测试的内容,准备好一些数据可以从头走到尾,尽量覆盖比较多的案例情况。尽可能不让重要的Bug逃逸。

        七、如何面对客户
前面第四点描述的是我们内部的沟通。当我们有机会面对客户的时候,也要注意跟客户的沟通技巧。用心聆听客户的声音。不能先入为主的认为我们的程序就是完全正确的,客户什么都不懂,或者客户是在提无理的要求。我们认真的听取客户的意见,把需求收集起来,去芜存精。然后我们再根据实际的情况决定是否修改程序。如果有的时候确实不能修改程序的时候,也要耐心跟客户解释清楚。

以上就是在做测试的过程中的一点点心得,欢迎大家能够多点交流各自的心得体会。

e7888 发表于 2006-8-7 10:57:14

原创呀,帮你顶一个。

liaoxj 发表于 2006-8-7 15:46:20

不同意见:测试员必须不耻下问不同意
测试人员应集中问题一起询问,不要碰到问题就去问程序员,我们要站在程序员的角度去想想,如果你是一个程序员,测试员一碰到问题,就问你是什么感觉.

我个人认为,测试人员碰到问题,首先要自己想想,然后到一时间,集中问题进行询问.
我经常碰到这样的确事情,当我碰到一个问题,在测试其它时,就明白是怎么回事.

最好项目组每天约定一个时间进行交流.

当然如果碰到特殊情况又不能这么做了,比如影响你接下去的测试,如果这个问题不解决,我就做不下去了.
明天产品就要发布了等等!

cloudcloud 发表于 2006-8-9 09:59:27

谢谢liaoxj的意见。很有道理。
我说的不耻下问的意思只是说测试员的态度问题,并不是指咨询的方式问题。即有问题的时候一定要去搞清楚,而不要置之不理。非常同意liaoxj同学说的:“碰到问题时,一定要先把问题自己想一下,然后再去寻求答案“

项目组每天约定一个时间交流也是非常好的做法,尤其是项目的规模比较大的时候

李才军 发表于 2006-8-21 11:23:39

问题要看什么问题,要是比较严重的,不能使测试进行下去,立刻和开发部门讨论,其余的一些问题,可以定个时间,和开发部门进行交流。

wb661 发表于 2006-9-9 23:16:03

原创,顶一下

jinyangheng 发表于 2007-3-20 17:24:51

ding

xianzi 发表于 2007-3-21 18:10:12

我觉得测试人员还是要懂得软件的一些基本代码,这样可以很好的跟程序员沟通,当然技巧方面还是主要的哦

jinyangheng 发表于 2007-3-22 16:38:54

ding    ~~~

nancychen 发表于 2007-3-27 17:35:01

ok,很有道理的

sentire 发表于 2007-3-28 17:54:37

仁者见仁,智者见智

huangfei 发表于 2007-3-29 13:47:08

不错帮着顶一下

hank 发表于 2007-3-29 15:33:17

好文章

惊鸿一瞥 发表于 2007-4-24 14:48:55

好文章,感触颇深。

shuangshan82380 发表于 2007-4-25 12:08:23

写得不错

wuwu 发表于 2007-4-27 15:12:28

不错

tongkun1984 发表于 2007-4-28 20:01:30

好东西

bravemanly 发表于 2007-5-6 22:40:54

谢谢

lxzr 发表于 2007-5-7 17:20:45

好文章 学习一下

qinwei16 发表于 2007-5-13 00:43:53

有些错误确实不能每次都重现的话,尽量回忆清楚发生的情景是怎样的。

难以覆现的问题是程序员也是测试人员很头疼的问题,程序员不知道应该怎么入手解决问题,

测试员心里也不会太踏实,担心自己的测试方法是否正确.个人觉得对于难以覆现的问题,测试时发现

了就应该马上通知程序员,把自己的操作流程讲给程序员听,这样更有利于问题的解决.
页: [1] 2 3
查看完整版本: 一点测试心得