zoukankan      html  css  js  c++  java
  • 职业规划§面试篇(二)【转载总结】

    1. 场景一: 假设你所在的团队负责研发一款手机计算器程序,你是这款产品的测试负责人,你准备如何开展工作?

    【Key. 测试设计类】我问他这次测试任务的范围是什么?开发为什么要做这些改动?这些改动是开发自己提出来的还是客户要求的?如果客户要求的客户的关注点在哪里?这次改动具体改了什么内容?怎么改的?你觉得这样的改动合理吗?改动以前是什么样子的?【改动原因?改动内容?改动方法?】【保证测试工作的有效性和测试工作的覆盖率】

    (1) 明确测试任务:

    ? 如明确产品运行平台?(对平台的支持需求不同,测试的设计的差异性也很大)

    ? 如明确产品的研发周期?(了解项目的进度安排,才能制定有效的测试策略,在按测试的深度和项目的开发时间上取得较好的平衡。)对于时间驱动的(Date-Driven)项目,这类项目的特点是预先制定发布时间,要求到了那天,产品就一定要发布。针对这类项目,我们在设计测试计划时,就应该更多的考虑解决和项目发布相关的质量问题;另外对于质量驱动的(Quality-Driven)的项目,这类项目的特点是对发布时间没有强行的规定,但要求产品的质量必须达到一定的指标,并且需要在发布以后,实时监控产品质量。

    ? 那么,在测试中,我们不仅要做好项目当下版本的测试工作,还需要考虑构建长期、高效地测试系统和平台,保障产品质量能够实时度量

    ? 另外,明确产品的功能设计、产品的核心竞争力、可用的测试资源等信息,对于接下来做产品测试都是至关重要的

    (2) 分析测试范围制定(开发沟通确定测试范围)

    试人员每天的例行工作之一就是与开发沟通代码改动,并对改动进行功能回归,我们称之为测试范围确认。对于每个测试人员来说,可能都会遇到以下问题:

    1、拿到一个代码改动后我首先做什么?

    2、跟开发沟通时问些什么?

    3、我该如何沟通才能问到自己想问的问题?才能更精确的得到回归范围?

    4、担心自己问的问题太不搭调,被对方嘲笑怎么办?

    5、跟开发沟通结束后,接下来该怎么做?直接按照开发说的去做吗?

    栗子: 对话背景1:一天,武爷对浏览器的代码作了几笔改动。小强匆匆忙忙地看了一下代码变更之后,就跑去问武爷了

    Good case(小明版)

    小明:在SVN上看到一笔改动,把一个auto_ptr 换成了unique_ptr, 我了解到的这两个指针,都能自动地释放内存,为什么要做这样的转换呢?

    (评语:开题就把对方带到了自己想要谈的主题上,让对方知道我是来找你了解代码改动。接着,说了下自己提前了解到的情况并提出准备好的问题,这样能引导对方跟你思考同一个问题,有利于确认到较准确的回归范围。)

    武爷:原来的auto是我们自己做的,unique_ptr 是VC11的,VC11已经有自动释放的指针了,我们就就没必要再自己做,直接使用系统提供的就好了。

    小明:那这样改动会影响哪些范围呢?

    (评语:与对方确认改动的影响范围,这种开放式的提问方式,能够让对方展开来谈论,有利于我们了解到更多内容。)

    武爷:应该没有什么影响,要是出问题就崩溃了,看下主路径就行。

    小明:那些指针是控制哪些对象的?

    (评语:如果提前了解到更多的技术细节,也可以提前准备好疑问,沟通时提出来一起讨论来解答疑惑)

    武爷:DC(设备绘图的)

    小明:我们对浏览器界面主路径做测试,没有出现大的问题,比如崩溃,就没问题是吧?

    (评语:好了,回归范围拿到了,最后就沟通得出的结论总结下,让双方达成一致。)

    武爷:是的。

    对话背景2:一天,开发添加了一个函数,在SVN上的changelog内容注释的是添加了一段牛掰代码,对于看不懂代码的测试童鞋要去找开发确认回归范围了。。。

    Good case1(NaNa版)

    nana:想跟你确认下代码改动,你现在有时间吗?

    开发:有时间,你说。

    nana:刚才发到你QQ上的截图,就是那笔改动,你的注释是”加了一段牛掰代码“。我看了一下,不太了解你这段代码的逻辑,你能跟我讲一下吗?

    (评语:说明来意,直奔主题)

    开发:哦,这个呀,这个你不用回归。这个没什么影响,功能上没什么大问题就行,不用回归。

    nana:那个代码本身的逻辑你能简单给我讲一下吗?我想了解一下

    (评语:深入了解代码逻辑,因为了解到逻辑后,对后面的回归有帮助)

    开发:函数本身是计算去一个最佳的距离

    nana:什么距离呢?

    开发:所有字体布局之间的距离

    nana:我们浏览器的主框架?

    开发:可以这么理解,所有的布局和字体之间的距离

    nana:所有的布局?我们浏览器的UI包括很多,主框架区、对话框,还有气泡等等,是指这些吗?

    开发:主框架

    nana:是指主框架的收藏栏、地址栏、侧边栏等吗?

    (评语:对待每个模糊的回答,能够细化问题,精准的确认影响范围)

    开发:是的

    nana:这个函数计算的UI距离是指哪些具体的UI呢?

    开发:行间距和字体的间距,图片与字体之间的间距

    nana:这段代码的逻辑调研过吗?能给我交接下吗?

    (评语:明白自己的目的,以学习的心态再次要求开发讲解代码逻辑。这在完全不了解代码逻辑但又必须得了解的情况下是可取的,能避免漏掉细节)

    开发:你一定要了解吗?那给你讲讲吧。

    Good case2(小明版)

    小明:请问有时间吗?跟你沟通下代码改动,确认下回归范围。改动内容已经截图发给你了。

    开发:好的

    小明:我看你注释的内容是”加了一段牛掰代码“,这段代码是做什么用的?

    开发:哦,这个呀,这个你不用回归。这个没什么影响,布局上没什么大问题就行,不用回归。

    小明:它会让布局不一样是吧?那它是做什么用的呢?

    开发:它主要用于计算距离,一些布局的间距

    小明:什么时候会使用呢?

    (评语:了解具体的函数使用细节,包括作用、使用时机、使用范围等,有助于确认最后的回归范围,这些都建议提前做准备,有备无患)

    开发:展示UI的时候,需要排版时就会调用它来计算间距

    小明:是所有UI都要用到吗?

    开发:可以这么理解

    小明:这个跟DPI有关吗

    开发:有,就是在高DPI下用来重新计算距离的

    小明:哦,那就是在125%、150%DPI下用到是吧?

    开发:是的

    小明:那这个如果出问题的话,可能出什么问题呢?

    开发:如果出问题,布局就错乱了

    小明:那这段函数是咱们自己写的吗?

    开发:是

    小明:那是否需要我们做内部的调研,去针对性的做一些单测呢?

    (评语:引导开发思考修改存在的隐患问题,并提出做单测的想法,提出了如果出问题会如何如何,这样开发会更加谨慎的去回答你提出的问题。)

    开发:想做也行

    小明:不会出问题吧?要是出问题我就找你哈~~哈哈哈

    开发:那做一下吧

    小明:那要做的话,请讲一下具体实现吧。

    (评语:通过单测的要求,让开发讲解代码实现顺理成章)

    开发:balabalabala。。。(讲实现)

    小明:我再确认下,这个功能就是在浏览器高DPI下,UI布局展现时计算距离的,我们验证UI时,应该看一下所有的UI布局展现的正确性,包括在移动、刷新时候的UI展示都没问题就行吧?如果出现问题可能是错乱等问题,这个函数如果需要深入测试的话到时候会找你了解具体的代码实现。

    (评语:最后,总结下双方的沟通结论,达成一致)

    以下是测试范围确认流程的整体框架,以及每个阶段的实施建议,供大家参考。

    (3) 测试计划和测试用例:

    【同类问题. 一支笔,一部电梯,一块表,一台银行ATM机】

    2. 场景二:假设你是QQ这个产品的测试负责人,你怎么去测试QQ传文件这个功能?说一下测试点,你可以发挥自己的想象力,不必局限于它现有的功能。

    【Key】面试官想听到的测试思路:

    (1) 思路一:

    按照传文件的流程(客户端A-网络-服务器-网络-客户端B)

    (2) 思路二:

    按照测试框架回答(比如系统的说明从UI、功能、性能、兼容性、安装部署、服务器端、网络、安全)

    3. 经典测试用例设计题:

    (3) QQ传文件

    1功能测试

    传送成功:

    1) 文件直接拖到对话框,发送----开始传送

    2) 点击传送文件按钮,发送—开始传送

    3) 传送中显示传送进度条

    4) 传送中文件名称正确显示,并显示文件大小

    5) 给同一用户传送1个文件、多个文件—--能同时传送多个文件

    6) 同时给不同用户传送文件

    7) 文件打开的时候传送文件---可以传送

    8) 文件接收后,检查文件的完整性。

    9) 文件是否可以正常接收。

    10) 接收时候默认路径

    11) 是否可以更改文件接收路径

    12) 文件传送时,不影响聊天功能,不影响任何其他功能的使用。

    13) 同一个文件发送给多个人

    14) 同一个文件发送给同一个人多次

    15)对方在线

    16)对方不在线

    17)发送离线文件

    18)对方是好友

    19)与对方是临时会话

    20)选择下次接收文件

    文件传送失败:

    15) 点击取消可以取消文件的发送

    16) 直接关闭对话框,可取消文件的发送—出提示

    17) 断电、断网—传送中断

    18) 对方拒绝接收—传送中断

    2、 文件大小测试

    1) 空文件

    2) 文件夹嵌套1层

    3) 文件夹嵌套多层

    4) 文件夹嵌套很多层

    5) 空文件夹

    6) 10M的文件

    7) 10G的文件---边界值

    8)

    3、 文件名称测试

    2)普通文件

    3)含有特殊字符的文件---传送中,接收后,文件名称都应该无误

    4)文件名为空的文件

    5)文件名为空格的文件

    6)文件名只有中文

    7)文件名有中应为混合

    8)文件名只有英文

       9)文件名有标点符号

    4、 文件格式测试

    1).exe文件------------安全性测试

    1) Txt doc pdf

    2) 图片

    3) 视频

    4) 音频

    5) 压缩文件

    6) 文件夹

    7) 病毒文件---安全性测试

    5、 安全性测试

    1).exe文件------------安全性测试

    2)病毒文件

    6、 性能测试

    1) 上传时网速很慢

    2) 上传时CPU使用率

    3) 上传时断网

    7、 界面测试

    (1)界面美观性、易用性(键盘和鼠标的操作、tab跳转的顺序是否正确)----------显示正常(根据需求)

    (2)按钮文字是否正确--------------正确

    (3)正确/错误提示的文字是否正确---------------正确

    (4)说明性文字是否正确-----------------------正确

    8、 其他测试

    (4) 一支笔

    (5) 一部电梯

    (6) 一块表

    (7) 一台银行ATM机

  • 相关阅读:
    Angular实现数据绑定,它实现原理是什么?
    用angular实时获取本地localStorage数据,实现一个模拟后台数据登入的效果
    巨坑
    Hack 语言学习/参考---1.3 Summary
    Hack 语言学习/参考---1.2 Hack Background
    Hack 语言学习/参考---1.1 What is Hack?
    Hack 语言学习/参考---1.Hack 语言
    HHVM Installation and Configuration(HHVM 安装及配置)
    What is HHVM?
    Facebook HHVM 和 Hack 手册 --- 2. HHVM能做什么
  • 原文地址:https://www.cnblogs.com/xiyuan2016/p/6216958.html
Copyright © 2011-2022 走看看