说一下你的思考过程 Tell me what you think(编程测试)-阿里云开发者社区

开发者社区> 玄学酱> 正文

说一下你的思考过程 Tell me what you think(编程测试)

简介:
+关注继续查看

有这样一个脑筋急转弯的题目,不要试图去网络上寻找答案,思考一下,然后告诉我你的思考过程,不一定要有结果,找到答案不一定是最重要的,我更关心你的思考过程:以下是文章原文出处http://www.taixiaomei.com/archives/94。文章回答的很精辟,不敢独自保留,在此分享出来,供大家欣赏。

  这一个等式很奇怪,0比2大,2比5大,5比0大,为什么?

  When you see the following inequality, what will be the reasone, in your opinion? Don’t try to find the answer from the internet. Just tell me your thinking process.

  0>2,  2>5,  5>0

  Responses to 说一下你的思考过程 Tell me what you think

  看到这个等式首先想到的是为什么是反的。然后就想肯定不是代表普通的数学比大小,因为有计算机背景,初步就想到是不是asc编码符的比大小。但是继续验证ASCII编码是不正确的,其本质还是数字的比大小,没有摆脱那个思维,换种思路,上面这个等式的0,2,5其实并不是看做数字来理解而是一种图形,比如0代表圆圈,那2和5又代表什么呢?

  还是说不通,但是可以肯定的是0,2,5各自代表着某种已定的特殊含义,这种含义又有某种特殊的联系,现在就是要找出这种联。

  有了新的数据,推翻了上一次的猜测。并且推出新的猜测:“0,2,5其实并不是看做数字来理解,0,2,5各自代表着某种已定的特殊含义,这种含义又有某种特殊的联系”,现在需要用新的数据来证明这种猜测是正确的。

  这种既定联系的范围太广了,光从这个等式提供的信息量有点少啊。

  这种状态是否似曾相识?你测试的时候,是否有过这样的时候,感觉毫无头绪,感觉效率很低,感觉没有思路。。。

  这个时候,不妨试着运用Defocused Thinking,尽量拓宽自己的思路、找更多的数据(data)。或者运用Alternative Thinking,先做些别的事情,过一些时间再回来接着测试,也许就有新的思路了

  很好,你找到了题目与圆在某一方面的相似性。但是这个就是那个“答案(bug)”了吗?你需要找到更多的数据,证明它就是你要找的

  “答案”是我们最终要找的东西;我们测试的时候,bug不也是我们要找的东西吗?答案,事先你并不知晓在哪里,你也事先不知道bug藏在哪里,否则就没有必要测试了。都是在解决问题,都是在找寻未知,测试的乐趣也在于此了!

  可以从软件质量和软件测试的角度来思考这个问题:

  0、2、5分别表示软件测试中发现的bug数。0>2, 2>5:没有bug的程序固然比有2个bug的程序的代码质量高;类推,2个bug的比5个bug的代码质量高;5>0:0个bug不代表程序没有bug!而只能说由于个人测试方法、测试思维和知识的局限性导致了某些bug无法发现。从这个角度来讲,发现5个bug的测试用例和方法显然比没发现bug的用例和方法对保证软件测试质量的价值和意义重大。从某种角度来说0bug意味着测试方案的失败而非程序质量的成功。事实上,世界上最优秀的程序员,也不敢保证他的代码100%正确无误!

  这是不是软件测试的博弈?

  Well, I think I’ve got the key.0:石头;2:剪刀;5:布。

  非常棒!终于找到了答案。说说我能想到的启发吧:

  - 做这种题目就是一个寻找未知的过程,测试也是一个寻找未知的过程。这个未知可能是bug、可能是系统真实的表现

  - 当你知道答案时,你可能觉得这也没有什么高深的,很容易理解,剪刀、石头、布嘛,换句话说,正向思考还是很容易的出这道题的,可是让你找答案时,就不是那么容易了,因为这时你得利用反向思考的方法,这就是测试的思维

  - 不同的人思维方式区别很大,决定是否能找到这个答案和人的思维方式、知识经验都有很大关系,思维方式可以通过训练提高、知识经验可以通过学习和实践累积。【是的,我是在说,思维方式可以后天训练提升,而不是先天就决定了的】

  -  所以多做做这种动脑筋的题目、多解解各种谜题、多做做拼图游戏、多玩玩魔法和数独等,都可以训练你的思维,包括边际思考能力、系统思考能力、逆向思考能力等等,这些都是你的学习能力

  - 学习能力提高了,不管是产品知识还是测试知识,当然都对你来说不是什么难事了,你也能区分出来何时学习产品知识、何时补充测试知识、应该补充什么知识、应该补充多少知识了

  - 测试中,我们经常可以使用溯因推理法(adbuctive inference),也就是假设性诱导法

  1、你获得一些数据,希望能够解释这个数据

  2、你想到数个可能的解释

  3、你寻求更多的数据帮助你解释或反驳每一个解释

  4、你选择最能帮助你解释所有其中重要的数据的解释

  5、或者,你没有找到一个最合理的解释,那么继续寻找更多的数据

  - 科学家们会经常使用溯因推理法,测试人员也经常使用溯因推理法,实际上有些研究表明科学家们的思考方式与测试人员非常相似,他们经常质疑其他人习以为常的 东西、他们经常做各种可能的假设然后去验证、他们会时而想到其他人想不到的方面,科学家们的发现发明不是因为科学家们都是天才、都有超人的智慧,而是因为 他们的思维方式。所以多读读科学、社会学、人文学、认知学,了解发现问题、解决问题的思考过程,对测试大有裨益。








====================================分割线================================



最新内容请见作者的GitHub页:http://qaseven.github.io/

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
一文带你迅速搞懂包是什么 | 带你学《Java面向对象编程》之六十七
高效的编程往往免不了多人合作,本节提到的包的概念可以有效避免重名类出错的问题。
365 0
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
9974 0
面向概念的编程
面向概念的编程 ——介绍 Concept-Oriented Programming (COP) 在2007年11月中旬,老外Alexandr Savinov提出了一个“面向概念的编程”的新概念,其方法概述为用概念(concept)来代替目前的常规类(conventional class)、用包含关系(inclusion relation)来取代目前的继承(inheritance)。
542 0
Coursera深度学习(DeepLearning.ai)编程题&笔记
因为是Jupyter Notebook的形式,所以不方便在博客中展示,具体可在我的github上查看。 github传送门: deeplearning.ai_JupyterNotebooks 笔记传送门:DeepLearning.ai课程相关系列笔记
1027 0
带你读《C#神经网络编程》之一:快速预览
本书旨在为C#程序员使用神经网络、CNTK等C#库和TensorFlowSharp解决复杂的计算问题时,提供实践指导。本书从神经网络入门知识开始,详细介绍如何使用Encog、Aforge和Accord搭建一个神经网络,帮助你深入理解神经网络相关概念和技术,例如深度网络、感知器、优化算法、卷积网络和自动解码器。此外,还详细讲解如何向.NET应用程序中添加智能特性,例如面部和运动检测、对象检测和标注、语言理解、知识和智能搜索。
1812 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13735 0
三分钟带你认识注解 | 带你学《Java面向对象编程》之四十五
本节将为读者介绍JDK1.5之后诞生的新特性-注解式编程方式,并为读者深度剖析其出现的价值与意义。
564 0
带你领略类图以外的世界 | 带你学《Java面向对象编程》之七十二
本节将为读者展示了其他常见的绘图类型-时序图和用例图,并结合PowerDesigner的具体情境手把手制作出了简单的样例图。
373 0
带你体验云原生场景下 Serverless 应用编程模型
阿里云 Knative 基于 ASK 之上,在完全兼容社区 Knaitve 的同时对 FC、ECI 工作负载进行统一应用编排,支持事件驱动、自动弹性,为您提供统一的 Serverless 应用编程模型。
175 0
+关注
玄学酱
这个时候,玄酱是不是应该说点什么...
20710
文章
438
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载