首页新闻中心 →   技术交流

测试中的"望闻问切"法

来源:睿世达   |   发布时间:2016-11-22 13:45:44

"望闻问切"四诊法由扁鹊发明。"四诊法"(望、闻、问、切),是中医诊病的基本方法。根据相关史籍记载,四诊法是由扁鹊发明的,当时扁鹊称之为"望色、听声、写影及切脉"。扁鹊在诊视疾病中,通过望诊(看看他的脸色等)、闻诊(听听病人最近做了什么事情后生病)、问诊(问问有没有干导致生病的一些事情)和切诊(看他的脉搏)。这些诊断技术,体现在史书所记载他治病的案例中。他精于望色,即通过望色,来判断病证及其病程演变和预后。

  "望闻问切"对于人们来说并不陌生,即使不是医学出身的人,对于这种方法也是略知一二。"望闻问切"的方法是用于诊断人的身体疾病的,那么可以用类似的方法来测试软件系统寻找bug吗?我觉得,虽说测试软件系统和给人诊病看起来谬之千里,类比着来看也可以说是差之毫厘。

 "望闻问切"四诊法

  1、四诊法之望诊--分析需求,确认测试用例

  望诊,是对病人的神、色、形、态、舌象等进行有目的的观察,以测知内脏病变,中医通过大量的医疗实践,逐渐认识到机体外部,特别是面部、舌质,舌苔与脏腑的关系非常密切。如果脏腑阴阳气血有了变化,就必然反映到体表。正如《灵枢·本脏篇》所说:"视其外应,以知其内脏,则知所病矣。

  所谓"望诊",就是观察病人的神、色、形、态的变化。"神"是精神、神气状态;"色"是五脏气血的外在荣枯色泽的表现;"形"是形体丰实虚弱的征象;"态"是动态的灵活呆滞的表现。这就是对病人面目、口、鼻、齿、舌和苔、四肢、皮肤进观察,以了解病人的"神"。

  现在的软件繁多,几乎每天都有新出版的软件,软件之间的竞争也是日益激烈,这时候软件无明显bug,潜在bug少已经不再是软件能够脱颖而出的条件了,那只是软件能够推向市场并被用户接受的基本条件,因此软件开发公司只能想对策来解决已经面临或是即将面临的问题。仅仅简单的业务已经满足不了用户了,软件开发公司纷纷在附加功能上做文章,在基础功能的基础上增添能够吸引用户关注的功能。此时,通用的测试用例便不能满足测试的标准,测试人员需要在确认需求后,分析新增功能的测试点,增加测试用例,给软件量身定做一套测试用例以达到测试标准。

  个人观点,测试用例可以从实现功能的角度和用户体验的角度,分别使用边界值法、等价法、错误猜想法等测试方法设计测试用例。

 2、四诊法之闻诊--执行测试用例,设计测试数据找出Bug

  闻诊,包括听声音和嗅气味两个方面。主要是听患者语言气息的高低、强弱、清浊、缓急……等变化,以分辨病情的虚实寒热。

  所谓"闻诊",是指听病人说话的声音、呼吸、咳嗽、呕吐、呃逆、嗳气等的声动,还要以鼻闻病人的体味、口臭、痰涕、大小般发出的气味。

  测试的基本职能就是找出系统中存在的bug。通常测试人员会首先执行预先制定好的测试用例、设计测试数据,找出系统中的bug确保系统中没有严重级别的bug,不会影响系统的正常使用,保证通用功能的功能性、安全性、易用性等方面。

  这里要注意,不是执行完预先制定好的测试用例就可以的。由于需求多种多样,功能众多,在使用软件的时候会遇到许许多多的思考不到的路径,尽管在需求分析阶段我们已经充分的考虑了软件使用场景路径的可能性,我们必须承认一定有我们所遗漏的测试点,当然测试并不是保证系统没有任何的bug,在这一点上即使是最有经验的测试工程师也不敢说经他手测试过的系统没有任何的问题。基于这样的事实上,我们就需要随时的补充测试用例,执行补充测试用例,测试软件,力求软件在其服役期无限趋近于无可遇见的bug。

 3、四诊法之问诊--分析bug产生原因,寻找类似Bug

  问诊,是通过询问患者或其陪诊者,以了解病情,有关疾病发生的时间、原因、经过、既往病史、患者的病痛所在,以及生活习惯、饮食爱好等与疾病有关的情况,均要通过问诊才能了解,故问诊是了解病情和病史的重要方法之一,在四诊中占有重要的位置。

  所谓"问诊",就是问病人起病和转变的情形,寒热、汗、头身感、大小便、饮食、胸腹、耳、口等各种状况。

  一个优秀的测试工程师不仅仅在于能够测试出bug,还要注意训练和加强对于bug的敏感度,也就是能够遇见bug的存在,这种方法在测试的理论中叫做错误推断法,错误推断法并不是胡乱的猜测而是根据测试工程自身的经验和对于整个系统业务流程的熟悉程度作出的bug预测和推断。这也就是为什么测试工程师职业是一个越老越吃香的职业。

  我们在测试的过程中不要仅仅止步于表面,测出bug就视为大功告成,测试的宗旨在于尽可能找出系统中存在的bug,而不是保证系统毫无bug,在这一点上没有哪一个测试工程师敢于这样说,当让也不会有测试主管以测试工程师测试过的系统必须无bug作为断定测试工程师好坏的标准。

  俗话说实干不如巧干,一个bug的产生一定是有其自身的原因的,或是编程技术方面的原因;或是业务方面的逻辑原因;或是不同的编程语言差异以及和环境、平台、浏览器等的不兼容的原因。测试出bug后,要养成分析bug的习惯,分析bug的产生原因和出现的预制条件,再在类似的场景测试看有没有同种类型的bug存在。这种方法也可以在回归测试中使用,可以有效的提高测试的效率。

 4、四诊法之切诊--总结Bug,更新测试用例库

  切诊是指用手触按病人身体,藉此了解病情的一种方法。切脉又称诊脉,是医者用手指按其腕后挠动脉搏动处,借以体察脉象变化,辨别脏腑功能盛衰,气血津精虚滞的一种方法。正常脉象是寸、关、尺三部都有脉在搏动,不浮不沉,不迟不数,从容和缓,柔和有力,流利均匀,节律一致,一息搏动四至五次,谓之平脉。

.......

QQ

1973313421

wx QQ
phone

0755-26497690

top 返回顶部