我想过成功,我想过失败,但是,我从来没有想过放弃。。。

软件测试经验

上一篇 / 下一篇  2012-05-28 14:45:23

 1、测试人员的使命是什么?快速找出软件严重的问题、对软件产品质量进行评估、确认产品达到某种标准,还有什么使命?这些使命又决定测试人员做什么?

  2、测试人员要为团队不同的成员服务,包括项目经理、程序员、市场人员、管理层等,你同意吗?当然,如果从广义的客户概念看,软件测试的确要为大家服务,同时程序员也要为大家服务,程序员更要服务好测试人员,测试人员才能更好地对用户负责,right?

  3、测试人员要发现软件的严重问题,越严重的问题越要尽快发现,这就需要更好的测试策略,如先测试变更的功能、影响大的部分、常见的危险以及核心功能。但不能仅仅限于程序,而且要考虑在需求、设计阶段,测试人员就要发挥作用,找出需求定义、设计中得问题。

  4、测试人员要“跟着程序员走”吗?Cem Kaner 和 James Bach 认为,“为程序员提供支持,很可能是测试人员关键使命的一部分” ,我觉得不一定对。向程序员提供快速反馈是对的,但也没必要让程序员忙得团团转,也不要让他们成为瓶颈。

  5、“询问一切,但不一定外露”,有意思,但让人费解。里面的道理是对的,不问问题,测试肯定做不好,而且要善于问问题,把自己想要的信息都掏出来。掌握准确的信息,有利于理解产品;对产品越了解,就越容易发现Bug。测试实际就是不断向产品提问的过程,而在这之前,先要向人提问题。

  6、测试员关注失效,客户才能关注成功,这一点大家都同意,right?又一次讨论软件测试是“确认程序正确”,还是“发现程序中客观存在的问题”,前者几乎不可能,后者比较经济,但存在较大的风险。我在《全程软件测试》一书里提出的测试两段论很好地解决了这问题,获得效率和风险之平衡。

 7、一方面知道不能穷举测试,不能覆盖各种路径和数据输入,不会发现所有程序问题。另方面,我们又要当心“完备的”测试,在表达已做的测试时,要谨慎使用“完成”、“做完”、“结束”测试,避免造成误解,如认为完成了所有的测试。这意味着,应清楚表明哪些测试已做、哪些测试未作。

  8、不要只做看门人。测试(或QA)往往被看做软件开发最后一个环节,成为产品发布的质量把关者(守门员)。测试人员有责任去把好这个关,但不能仅仅只做守门员,应从需求评审开始就不断监控质量,及时提供质量反馈,进行全程测试。《软件测试经验与教训》中提到“永远别做看门人”。

  这种绝对提法是不对的,软件测试应具有“检验”的责任,质量把关依旧是主要责任之一,而且不仅仅是对最终产品的检验,还对阶段性成果(需求、设计、代码)进行检验。#软件测试经验与教训#另一提法“通过测试不能保证质量”也不对,通过测试能保证一定水平的质量,虽然不能根本性提高质量。

  9、批判性思维。苏格拉底在临终前面临三项指控:腐蚀青年;崇拜新神;不崇拜城邦诸神。他不清楚第三项指控的确切含义,请法官美勒托澄清。美说:指你是彻底的无神论者。苏则说:倘若如此,那第二项指控就不能成立。苏格拉底可称批判性思维之父,测试人员就要拜他为师,培养这种能力。

  10、安全性测试12大原则:没有银弹(Silver Bullet); 战略性思考,而非策略; SDLC才是王道; 及早测试、频繁测试; 理解安全的范围;树立正确的思想;认识测试主体; 使用合适的工具; 难在细节,准确全面地检测; 借助源代码发现更多问题; 对测试结果进行文档记录; 度量,持续改进。

  11、优秀测试人员和平庸测试人员的区别就在于会不会思考。优秀测试人员会思考,不仅会基于用户行为的思考,还会基于技术性进行创造性思考。不仅会触景生情,举一反三,进行推理性思考,而且还会从具体到抽象,进行基于模型的思考,更重要的是能进行发散思维、逆向思维、批判性思考。


TAG:

 

评分:0

我来说两句

Open Toolbar