很有意思的两个测试面试题

上周我运营的知识星球有一位同学,找我咨询了两个面试题。两道题目分别如下:

  • 怎么做质量保障?如何落地?
  • 场景:五个下拉框,都是枚举值,每个下拉框的值分别是1到50均匀分布,用什么方法设计测试用例?

问题背景是这样:他参加某大厂面试,上述两道面试题他自觉回答的不太好,对方面试官针对问题给出的答复让他一时无法完全理解。

他也向我表达了他的疑惑:在面试过程中,靠理论知识回答问题和实践经验回答问题,孰优孰劣。

这篇文章,谈谈我对回答这两个面试题的思考和理解,顺带聊聊理论知识和实践经验的关系。

 

问题一:怎么做质量保障?如何落地?

这位同学的回答思路:从需求澄清入手,测试通过参与评审;在开发阶段设定研发标准和技术规范,并建立准入准出条件;在测试阶段关注测试用例设计和测试数据生成等方面,来开展质量保障工作。

面试官的评价是这样:上述的思路都是按照流程规范来执行的,但流程规范也是靠人一步步迭代去建设维护的。如果脱离了既有的标准流程,有没有其他办法来开展质量保障工作。

我的理解和思考:这位同学的回答,其实是一种惯性思维,因为日常的质量保障工作就是按照他所说的流程开展的,但流程规范的作用更多是一种约束条件,而不是完全严格意义上的标准模版

回答这类问题,可以从质量保障的本质来描述。哪些因素会影响软件质量,这些因素为什么会出现,背后的根因是什么?

然后针对这些因素的根因进行分析评估,采用不同的方法和策略,组合起来推动落地。长期下来,就会沉淀成最适合自己所在团队的质量保障方法论。

 

问题二、枚举值场景,如何设计测试用例?

这位同学的回答思路:用等价类、边界值、正交组合等常见方法进行设计用例,做到尽可能覆盖测试点。

面试官的评价是这样:从理论上去统计5个下拉框有多少种案例组合,剔除重复项,通过因子计算的计算方法,最后得出一个最优的案例数。

我的理解和思考:这位同学的回答依然是惯性思维,也可以称之为理论知识指导实践。

等价类边界值等测试用例设计方法固然没错,但这种设计用例的策略效率太低,要穷尽覆盖会浪费大量时间,且人工分析设计容易遗漏。

而面试官的方式相对来说效率更高,且用例设计的有效性更好,他是用技术思维在解决具体问题,即实践经验。

从我的角度来说,等价类边界值这种方法,是过去手工测试时代的方法论和指导思想,当时限于技术和经验的局限性,这种方法固然没错。

但新技术和方法层出不穷,更应该通过学习掌握更多新的技术和方法,用更高效的方法解决问题

 

问题三、理论知识和实践经验,孰优孰劣?

从我个人的角度来看,理论知识和实践经验并没有高低优劣之分。

一般来说,体系化的理论是先于技术实践出现的,然后理论指导实践,大量的实践沉淀经验和教训,再通过反思归纳为更科学合理的理论知识体系,如此循环往复。理论指导实践,实践反哺理论,不断迭代前进。

无论在工作实践还是面试中,理论和经验结合才是更好的方法。理论用来阐述目的和价值,经验用来展示你解决问题的方法和过程,最后形成自己的一套方法论和认知体系,这也是无论个人还是集体不断成长进化的路径。

 

posted @ 2024-06-13 16:00  老_张  阅读(26)  评论(0编辑  收藏  举报