如何才能做好软件测试工作(2)

发表于:2014-08-27来源:uml.org.cn作者:不详点击数: 标签:软件测试
第三,如何去验证程序的正确性本身就是个很有挑战的问题。因为它要求了测试人员要比开发人员考虑更多的东西。比如开发人员开发个客户端的程序,此


  第三,如何去验证程序的正确性本身就是个很有挑战的问题。因为它要求了测试人员要比开发人员考虑更多的东西。比如开发人员开发个客户端的程序,此客户端能跟别的机器上的客户端交互,开发人员只要开发出send和 receive的功能,而不去实现多台机器上实际运行的情况是什么样子,但测试人员就必须要做出来实际运行的情况才能验证程序是否正确。再比如开发人员开发出来一个按钮,它不会考虑这个按钮在哪些&什么情况下会被点击,并且结果是怎样的. 测试人员要想尽办法甚至是创造性的找出这样的环境并且能够模拟点击效果与检查结果。再比如,开发人员不会考虑如何造出5000人同时在线的情况,也很少开发人员考虑到异常访问会不会对开发使用到的对象(假如说cache, session, Page_Load中的方法,事件event, handler)产生不期望的行为。测试人员需要对不同情形作测试,来找到答案。

  再看开发与测试的区别:

  第一,开发人员关心局部,测试人员要关心全部。测试人员只有细心才能找到bug。

  第二,好的测试人员将来更容易成为项目管理者,因为PM就不用关心技术实现细节,测试人员比开发人员更注重流程和管理,更会沟通。

  第三,开发人员由于开发周期短,所以会比较急躁,而测试人员更具有好奇心,好奇心能一定程度上的帮助测试人员产生出逆向思维的想法,超出开发人员的考虑边界。

  第四,开发人员比测试人员懂得如何实现功能,测试人员也可以去弄懂如何实现的,但他的职责是去使用这个实现的东西。开发人员是制作者,测试是使用者。反恐游戏大家都知道吧,比起佩服开发人员,我们更佩服玩的好的玩家。测试人员是玩家。

  什么是好的测试人员:

  举国例子:一般的测试人员设计出100的测试用例,仅能找出3个bug. 好的测试人员只用30个用例就能找出5个bug.

  做久了的测试人员,对软件缺陷有灵敏的嗅觉。

  很多细节需求在需求文档之外,当测试人员找出这样bug的时候,开发人员都会佩服测试人员的能力。

  总结一下,我们目前对测试的成熟度远不如开发,不象开发那样容易找到问题的答案,需要很多IT知识和创造性的劳动(包括开发出测试工具,开发测试框架,搭建模拟出测试环境),要想让测试行业重视与发展起来,就需要从业人员的共同努力,比开发人员更少的浮躁心与突破自我的精神与能力。

原文转自:http://www.uml.org.cn/Test/20114134.asp