提问的智慧——测试人员视角

聪明问题:今天新编译出的安卓app,连不上服务器,提示“系统异常”。

更聪明问题:今天新编译出的安卓app,版本68460,使用wifi,机型小米5 - 连不上服务器,提示“系统异常”。

尴尬的经历:紧急bug

在第一份工作时,为了让开发人员尽快地解决我提交的bug,我把bug的优先级统统修改为了“紧急”,然而这并不能持久奏效。后来,开发人员认识到了这一点,以至于我在很长的一段时间里被他们评价为“提bug都是紧急状态的QA”,而这种信任危机需要花费更久的时间去消除。

精准描述你的问题

在技术圈子里,有句话被当成口头禅很长时间了——不要在意那些细节。但,就提问而言,务必在意那些细节。

拼写、标点、大小写、文字、格式都很重要。本来长篇的文本读起来就很磨人心智了,如果再出现一些拼写错误、断句障碍就变本加厉了。

使用易读且标准的文件格式

  • 能用纯文本就不用html文件、md文件,除非你必须用那些格式表达特定内容;
  • 不要把邮件里一行写的过长,换行分割点应适当;
  • 也不要过多使用色彩斑斓的字体、表情等,又不是HR发的活动邮件或福利邮件;
  • 考虑阅读的人可能遇到的任何格式情况,尽量去避免歧义和不可预期的结果。

精确地描述问题,做到言之有物

你提供的描述问题的信息中,不仅可以包含你努力搜索和寻找答案的“预期结果”——什么操作有什么结果,还可以提供“非预期结果”——什么操作,没有产生预期结果。

即使你做了上述努力,在真正发问之前,还需要梳理你的问题和所附属的信息,包括但不限于:

  • 仔细、清楚地描述你遇到的问题、现象或bug症状;
  • 问题产生的软硬件环境(包含但不限于机器配置、操作系统版本、应用程序版本、是否有其它软硬件的依赖);
  • 复现步骤、复现概率等;
  • 不要提供过多的信息,精比多更重要;
  • 按时间先后列出问题症状;
  • 去掉没有意义的提问句;
  • 你个人着急不代表问题紧急,尤其是bug方面。

无意义的提问句,在现实聊天中也经常出现,比如聊天前先问,“在吗?”、“有人在吗?我遇到一个问题”等等,却迟迟不肯开始真正的提问。

猜测不是必需的

提问的时候,大多数情况下你会进行猜测或事先下结论,其实这不是坏事,这是思考的结果。但它们不是必需的,优先级要低些,你可以在合适的时机说出你的判断和想法,但不要因此影响了提问对象的解答思路。

使问题更容易定位和回复

应尽最大可能减轻别人解答问题、回复问题的成本。

提问时,能当面听他回答的,就不让他打字,更不能妄求他按你的要求来。当面听其讲解时,最好能及时记录,总结完毕后再让他确认下,确保理解无误、没有遗漏,充分尊重他的劳动成果。

优化你的问题

即使你不善于进行提问也不要着急,因为你有太多的机会去提高:

1、问题被解答后的过程梳理

当你的问题被解答后,你可以梳理从“问题产生、问题提出、信息确认、问题定位、问题解答”这个过程,看看你作为提问者还有哪些可以提高的地方;比如,当你向开发人员提问你遇到的问题,尽管你已经把你能想到的对确认问题有帮助的事情都做了一遍,并附上了相应的结果,但开发人员还会问一些你没有考虑的事情,比如某些配置、某些关键的日志,那么下次遇到此类问题时,这些配置、关键的日志就成为了你智慧的一部分。甚至,你可以主动询问定位问题所需要的信息和思路。

2、跟别人相比

多看看别人如何提问,尤其是那些比你更优秀的人,时刻取长补短。

3、当别人向你提问时的感受

当你作为提问对象时,你可以观察提问者和你们沟通的过程,感受下他在提问方面是否有可取之处。

4、提前揣测,做好准备工作

在提问之前,可以揣测下提问对象可能会问你什么问题,提前做好准备;

拿不准是不是bug怎么办?

作为测试人员,指出软件的bug,这是我们工作的一部分。然而,如果某些情况下,你拿不准是否是bug时,请先不要贸然指明。

如果你一开始声称发现个bug,但最终证明不是bug时,略显尴尬倒是其次,这可能会影响你和开发人员之间的关系,和你在开发人员心中的形象。

所以,你可以退一步,在描述这个现象时,谦卑一些,好像是你做错了什么,请求开发人员帮忙解决。如果真的有bug时,他们也会很大度地承认,显然这种解决问题的方式更好。

就像那个经典的段子:

如果你对一个程序员说:你的代码有bug。
他的第一反应是:1、你的环境有问题吧;2、傻逼你会用吗?
如果你委婉地说:你这个程序和预期的有点不一致,你看看是不是我的使用方法有问题。
他本能地会想:我靠!是不是出bug了!

提问后

问题得到解决是你提问的目的,但却不应该成为你成长的终点,它充其量是个里程碑。

问题得到解决后,你更有精力和时间来总结,看看有哪些可以优化的地方,以便下次更好地提问。无论问题是否圆满的解答,不要忘记说谢谢。

问题得到解决后,最好能从头至尾地梳理整个过程,可以分享同样对他人也有益的部分。

总结

高效的提问是一种智慧,但并不代表你提的每一个问题都那么的智慧。就像一个脾气好的人,偶尔也会发脾气一样。提问的智慧是不断进阶的,过往提问的有效经验能够让你继续提出好的问题,同样,某次不太奏效的提问,则会提醒和反向驱动你如何改善和优化你提问的智慧。

即使同为软件测试从业人员,所处的行业、职位、工作的履历不同,对于“提问的智慧”的理解和把握也自然会不同。上述内容更多是我自己的经验和智慧,如果你觉得有错误、不认同、或者有更好的智慧,都欢迎你畅所欲言。

上一页12下一页


留言