本文共 966 字,大约阅读时间需要 3 分钟。
作为软件测试工程师,我们不仅要积累理论和技能知识,更要培养自己的逻辑思维,遇到问题多角度思考,从局部分析到整体影响,从而更全面更快速地解决测试遇到的问题。
逆向思维
逆向思维在测试中用得非常多。比如根据结果逆推条件,从而得出输入条件的等价类划分。逆向思维在调试中也是很常见的,当发现缺陷时,进一步定位问题的所在往往需要逆流而上进行分析。逆向思维是相对的,就是按照与常规思维相反的方向进行思考,测试人员往往能够运用它发现开发人员思维的漏洞。组合思维
很多时候单一的思考没有问题,但将相关的事物组合在一起却能发现很多问题。比如多进程并发程序的复杂度更高,这也让程序的缺陷率随之增加。为了充分利用组合思维而不致于让自己的思维混乱,要注意“分维”,将相关的因素划分到不同的维度上,然后再考虑其相关性。全局思维
事物往往存在多面性,当我们掌握了越多的层面,我们对它的认识就越清楚。全局思维的方式就是让我们从多角度分析待测的系统。以不同角色去看系统,分析其是否能够满足需求。平常我们在软件开发过程中,进行的各种评审,就是借助全局思维的方式,让更多的人参与思考,脑力激荡,尽可能实现全方位审查某个解决方案的正确性以及其他特性。两极思维
边界值分析是两极思维方式的典范。为了看系统的稳定性,我们采用了压力测试。两极思维方式,是在极端的情况下,看是否存在缺陷。注意是两极,不是一极。测试人员做久了,往往容易走极端——职业病,不利于与人沟通。简单思维
剥离一些非关键特征,追逐事物的本质,让事物简单地只剩下“根本”。针对事物本质(解决问题的本质)的测试,让我们不至于偏离方向。比较思维
认识事物时,人们往往都是通过和头脑中的某些概念进行比较,找出相同、相异之处,或者归类,从而将其加入大脑中的知识体系。应用模式是比较思维的很好例子。让经验在这里发挥作用,测试中经验很重要,比较思维是使用经验的方式。静态与动态结合
关注程序的运行时状态。传统的基于结构的程序更多地在代码中反映将来程序的运行方式。而面向对象将代码和运行时分离。让我们在关注代码静态结构(如类结构)的同时,也要谨慎关注其动态(对象交互网)表现。最后想说,只是知道这些原则意义不是很大,如果真能让它们成为思考的血液,才能发挥它们的真正价值。
转载地址:http://xlnj.baihongyu.com/