让你测试一个完全不熟悉的系统,你会怎么办?

在软件测试面试过程中,可能会遇到「如果让你测试一个完全不熟悉的系统,你会怎么办?」的面试问题,面试官与应聘者对话如下:

面试官诡异的微笑:“如果让你测试一个你完全不熟悉的系统,你会怎么办?”

小Q 脱口而出:“了解清楚需求”

面试官不动声色:“具体说说看?”

小Q 略作思索:“以我过去的经验,对于不熟悉的系统,都是先找需求文档、架构图先了解。接下来研习了解系统主要是做什么的、服务的用户,然后先写出核心的用例路径框架,再逐步补充细枝末节。”

面试官冷冷道:“但是如果没有需求文档,没有架构图呢?”

小Q内心一惊:“那这种情况下只能找开发和产品去了解系统了。”

面试官眉头一挑:“哦,就这样?那如果项目进度很赶呢?”

小Q彻底慌了:没有明确的思路(开始语焉不详 BLABLABLA ……)

在面试过程遇到过这种面试题吗?如果遇到了,回想你当初的回答,面试官有露出满意的笑容吗?

还没被面试官问过这种问题,假设现在被面试官问到了,那你会怎么回答呢?花 1min 好好构想你的答案,想好了可以留言给小编呢。

----------------------------------思考的分割线----------------------------------

分析这道面试题主要考察内容有如下:

学习能力。学习能力是一个人核心竞争力,当面对不熟悉系统,怎样快速熟悉、掌握它,系统有哪些特性,系统结构,用户群体等信息。

工作总结能力。在工作遇到这种情况,有没有尝试进行总结,形式一套方法论。

测试分析和测试设计。测试分析是指要测什么,测试设计是指怎么测。

当遇到不熟悉系统要尽快摸清被测系统需要测什么,分清哪些功能需要重点测试,评估哪些功能更容易出现bug。

沟通能力。在测试过程,需要与产品经理、开发人员、其他组员沟通,在和沟通过程中,要学会捕捉有价值的信息,检查测试点是否有包含他们所提供信息。

根据上面分析,给出以下答案:

首先,了解测试任务。了解在什么时间完成这个测试,知道被测系统主要有什么特性,了解为哪些用户群体提供服务,开发人员交付产物是Web还是客户端,这个系统的产品经理和开发成员分别是谁,这次测试要包括哪些类型测试,类型测试有:功能测试、兼容性测试、安全性测试、性能测试,了解测试任务等相关信息。

其次,画出测试覆盖大纲(Testing Coverage Outline,简称TCO),TCO是从测试的角度的定义需求的过程,以便所有人都知道当前被测系统有哪些测试需求。包含测试项、该特性影响哪些功能改动

在画TCO时可以从如下获取信息,例如:需求文档、产品原型、与产品经理和开发人员沟通、观察被测系统功能等方式。

第三,进行探索式测试。基于前面测试任务和TCO,开展一次探索式测试,尽快对被测系统产生直观的认识。(PS:如果对探索式测试不熟悉,可看到《基于场景进行探索性测试》文章)

第四,迭代测试。根据探索式测试结果调整TCO,检查是否遗漏哪些测试需求,记录发现疑问和风险,识别哪些功能需要优先测试,重点测试。然后深入对被测系统进行探索性测试,不断对被测系统提出质问。

以上,是我的对这道面试题的回答。那你的思考是什么呢,不妨发出来和大家一起探讨,期待大家精彩答案。



留言