• 0
  • 0
分享
  • 软件测试面试知识点:敏捷测试和面试要点——软件测试圈
  • 小丸子🍡 2024-07-03 13:34:05 字数 3904 阅读 692 收藏 0

  敏捷

  敏捷是什么?

  区别于传统的模型,敏捷是一个迭代式的研发模型。

  敏捷开发的最大特点:高度迭代,有周期性,并且能够及时、持续地响应客户的频繁反馈。有时候讲究所有人集中所有精力快速完成一件事情。

  敏捷测试(Agile testing)

  测试的一种, 主张尽早开始测试,重点关注持续迭代地测试新开发的功能.。敏捷的测试团队还要保证整个软件开发过程是正确的是符合用户需求的。

  遵循:

  1、强调从客户的角度,即从使用系统的用户角度,来测试系统。

  2、重点关注持续迭代地测试新开发的功能,而不再强调传统测试过程中严格的测试阶段。

  3、建议尽早开始测试,一旦系统某个层面可测,比如提供了模块功能,就要开始模块层面的单元测试,同时随着测试深入,持续进行回归测试保证之前测试过内容的正确性。

  敏捷测试与传统测试的区别

  · 项目相当于开发与测试并行,项目整体时间较快

  · 模块提交较快,测试时较有压迫感

  · 工作任务划分清晰,工作效率较高

  · 项目规划要合理,不然测试时会出现复测的现象,加大工作量

  · 发现问题需跟紧,项目中人员都比较忙,问题很容易被遗忘

  · 耗时、或较难解决对项目影响不大的问题一般会遗留到下个阶段解决

  · 发现BUG能够很快的解决,对相关的模块的测试影响比较小

  · 版本更换比较勤,影响到测试的速度

  · 要多与开发沟通

  · 要注意版本的更新情况

  · 测试人员几乎要参加整个项目组的所有会议

  敏捷要了解的

  · Incremental test 增量测试

  全回归测试太多了,每次迭代做一部分,分开的总量合起来就是完整的测试用例数量。

  · Exploratory test 探索性测试

1-1.png


  · Retrospective meeting 回顾总结的会议

1-2.png


  · Stand up meeting

  · 燃尽图(英語:burn down chart):是用于表示剩余工作量的工作图表,是对需要完成的工作的一种可视化。

    -表示由横轴(X)和纵轴(Y)组成,横轴表示时间,纵轴表示工作量。

    - 这种图表可以直观的预测何时工作将全部完成,常用于软件开发中的敏捷软件开发方式,也可以用于其他类型的工作流程监控。(禅道新版本里面有这个图)

  组织架构

  PO(Product Owner)一名,项目拥有者
  TPM(Technology Project Manager)一名,技术项目经理
  DEV Leader一名,开发组长
  Developer二到四名,码农
  Test Leader一名,测试组长
  Test engineer两名,测试工程师
  Scrum Master一名,除了PO和TPM谁都能争取,是一个服务型领导,沟通、推动用的,可以开发组长或者测试组长选一个

  重点:敏捷面试问题

  以下来自测试大神杰哥(Jeremy老师)的解说:

  1. 敏捷是一种怎么样的模型?

  区别于传统的模型,敏捷是一个迭代式的研发模型。

  迭代就是循环做一件事情:一般正常情况下迭代周期是一周、两周或者四周,面试的时候最好说四周,否则时间太紧搞不定。

  =以一个月举例=:

  第 1 周我们一般做的是需求调研(和开发)。产品经理会给我们介绍,我们这次迭代要交给客户怎么样的功能,完成什么样的新功能,包括一些缺陷的修复,或者说一些功能的优化,这些都是属于敏捷的范围。作为测试来讲,应该是要理清楚这次敏捷,做一些什么任务,(领导会分配任务)。那么如果是对于新需求的话,其实敏捷的第 1 周我们大量的时间是在搞需求研究,研究完以后,就开始做一些测试点的一个设置了。

  第 2 周的早期,我们就尽量把已经设计完了测试点进行一个评审。等评审完以后,开始把这些已经设计过的测试点写成测试用例。

  前两周测试主要是做一些测试设计工作,开发其实也是在做一些需求分析调研,然后他们也在写代码,一般到了第 3 周和第 4 周,就会进入测试执行阶段,执行之前写的测试用例。期间会不断的更新版本,内部的版本一定会加上去,开发也不断地在修复。

  尤其是到了第 4 周,主要就是解决第 3 周执行下来发现的 bug。

  ·如果说第 4 周的周五,我们就要发布这个版本给客户了,那么到了第 4 周的中间比如说周三,我们应该要把所有的功能里面的测试工作都结束,也就是执行工作全部要结束,包含测试用例的执行。然后所有的缺陷全部都要修复完毕以后验证通过。

  · 周四,我们要进行一个回归测试,这个回归测试指的是系统的一个回归测试,包括一些老的功能等等,各模块的功能都要测试一遍,然后抽取那些优先级高的那些测试用例,作为我们的回归测试。

  · 到了周五我们就要上线了,上线前有一个预发布的一个上线,外面也有人叫灰度环境(预发布的测试环境),我们进行一个冒烟测试,对这次要提交的给客户的新功能进行一个大致的测试,也是执行测试用例。预发布通过了以后,我们就正式上线。上线以后以后我们还会快速的进行一下冒烟测试,使用的是生产环境。

  (如果上线之后冒烟测试出问题了,绝对不是测试的问题,有可能是一些开发配置的问题,这种情况下我们的紧急预案就是把它撤回来,回到原来那个版本。)

  敏捷的大致流程就是前两周以写测试用例为主,后两周以集中执行用例为主。但是也有可能在第 2 周的某一天,这时候你已经把功能 c 测试用例设计完了,开发说你可以测试功能 c 了,这时候就要先开始执行测试了。一旦有执行就必须早点执行,早点执行才能早点发现问题,能让开发早点改掉。

  补充:

  回归测试和验证缺陷以及冒烟测试,这些是从测试执行阶段,每一天都在做的。因为冒烟是每一个版本都会去进行冒烟的。开发那边一天可以有几十个版本,但是一般开发和测试会约定好,每天给测试一个可执行的版本,这个可执行的版本提交给测试以后,测试进行一个冒烟测试,看一下主流程通过没有,如果不通过立马打回,让他们立马给一个新版本,通过的话,我们当天就回基于这个版本继续我们后面的工作。

  一般情况我们第 2 天早上拿到的版本,就是开发昨天晚上发的最后一个版本,我们早上拿版本以后,立马进行一个冒烟,如果有问题,有问题是很正常的,经常会发生的,那么我们会立马叫开发出一个新的版本,作为我们今天的测试版本。这个版本里面会包含昨天一天开发所有修复的缺陷。测试在禅道里去看自己的缺陷,哪些是已经修复的状态,它上面传到上面会标版本号,在这个版本上进行缺陷验证。

  回归测试一直要回归的,首先缺陷验证其实就是一种回归,要把之前已经失败的测试用例重新跑一遍,这个也算回归。还有一种情况就是说开发说缺陷我已经修改好代码了,但是可能会影响到另外一个功能,这个时候就要立马对另外一个功能进行回归测试,就要挑选一下另外功能比较重要的进行回归测试。

  回归测试完成后就继续执行那些没有执行过的测试用例,要记住测试用例的执行率必须是 100%。

  (可以跟面试官聊我们的执行通过率,最后上线的标准,也就是交给客户的标准。执行率 100%,测试的通过率 95%,就是说如果有 100 个测试用例,允许有 5 个测试用例不通过,失败了 5%,开发也没有修复。但是这些没有修复的缺陷不可以有严重的缺陷)

  2. 敏捷的过程中有没有用过什么 mock 工具 造数据

  敏捷跟工具没有半毛钱关系,不要陷入面试官的圈套。

  他的意思是说,敏捷可能会发生:比如说你承接的一个任务,任务 a 和任务 b,b 依赖a,但是b开发完,a没有开发完。

  那么为了测试b,就会做一些 mock 数据,做一些临时的数据,可以让测试执行下去。

  3. 敏捷的过程中遇到的问题?

  敏捷过程中最大的问题说白了就是时间的 delay。

  敏捷讲究的是每天要早上开站会,开站会的目的就是比如开发计划好,本周二一定要提交给测试,那么测试周三就可以开始执行测试用例。但是有时候计划赶不上变化,开发没有按照他说的那一天提交给测试,他的代码还没有写完。这时候整个测试计划就被打乱了.

  面试时就说这时候也没有办法,我只能先进行后面的计划,先写一点其他的测试用例或者先执行其它功能的测试用例。这是我们遇到过的一个问题,但是后面我们都改正过来了,团队合作更团结了。

  敏捷里面还会出现比较多的一个问题是,测试有很大一部分工作量在回归测试上面,因为敏捷时间周期比较短,但是之前所有的我们也都要测试,怎么可能在一两天内把几年内积累的所有功能都测一遍,这也是敏捷测试里的一个痛点。

  解决方案就是让开发提供影响性分析,开发改的代码可能会影响到哪些模块,测试就根

  据这份列表,去找 到对应的测试用例,进行回归测试。

  4. 如果需求变更了,有两种情况,一种是客户那边提出的需求变更,还有一种是之前的遗漏的一些点。这种情况怎么解决,怎么跟进的?

  理论上来说,一个好的团队是不允许客户在研发阶段去变更需求的,其实这个问题不应该由测试来解决。但是客户毕竟是上帝,而且我们要拥抱变化,当然这不能是常态,万一紧急的变更怎么办?

  这种情况只能通过加班加点来完成工作,同时为了更有效率进行呢,我还会考虑一下影响性分析,因为只要有需求变更,就说明开发又要改代码了,就可以去问开发有没有哪些可能会影响到的功能模块,然后有策略的做回归测试,

  如果是遗漏点的需求变更也是一样的,还是要先做好影响性分析,然后进行回归测试。


作者:bingolina    

来源:http://www.51testing.com/html/80/n-7794880.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •      工程造价软件按地区、行业进行划分,每个地区和每个行业的计算规则、取费标准皆不相同。各类造价软件都是以模板为基础,根据标准报表设计页面,录入造价数据,实时计算汇总出工程造价。每个工程皆是以工程树的形式存在,一般分为工程总项目、单项工程和单位工程三级,单位工程由基础造价数据构成,并在单位工程的汇总页面实时计算;单项工程由单位工程构成,工程总项目由单项工程构成,并实时汇总所有单位工程的数据。  由于造价相关主管部门会根据实际情况发布各地区和各行业新的计价文件,则会根据最新标准发布工程造价软件的相应补丁。因此,造价软件的版本迭代非常频繁。这种情况下,工程造价软件一般会引入...
            1 0 1769
            分享
          • 记录个人学习过程,期望能够坚持更新下去。fastapi是什么:用于构建 API 的现代、快速(高性能)的 web 框架如何安装:pip install fastapi如何使用:1、创建虚拟环境# 安装虚拟环境工具  pip instlall virtualenv # 创建名为fastapi_test的虚拟环境(名字想取什么就取什么) virtualenv fastapi_test # 进入虚拟环境 cd .\fast_test\Scripts # 执行activate2、安装fastapipip ...
            0 0 1091
            分享
          • 1.创建线程组点击选中测试计划,右键点击创建线程组点击线程组,这里可以设置名称,添加注释,设置线程数(每次有多少线程同时开启)、线程响应时间(多少秒完成线程)、循环次数(每个线程数需要开启几次)等2.创建取样器(以HTTP为例)点击选中线程组,右键添加取样器输入协议点击刚设置的取样器,这里可以设置名称,设置http/https(不输入默认为http),服务器IP,端口号(不输入默认80端口),选择HTTP请求类型,相关路径(若无则不填),以下以百度为例3.最后需要添加监听器获取监控结果同样选择线程组,右键添加监听器常用的有汇总报告,察看结果树,聚合报告3.1汇总报告这里可以看到每个请求以及总体...
            1 0 1857
            分享
          •   12月9日,京东创始人刘强东在内网发文回应了一位京东员工发布的帖子,第一财经记者向京东内部员工确认了该回复的真实性。  在回复中,刘强东表示,“我们天天说客户为先,可是工作中处处以自己为中心进行思考!我们经常说战斗只做第一,但是却处处防守,从不想着如何主动出击!很多人天天说创新,却每天就是抄袭跟随别人。出现这么多问题,当然都是我管理不善,我非常自责,但是无论如何,我不会躺平,也希望兄弟们不会躺平。”  刘强东称,“现在组织庞大臃肿低效,改变起来确实需要时间。”  同时,他还对团队提出了期许,“京东基础依然在,相信我们一定会走出低谷。任何一个人任何一家公司都会经历若干个顶峰和低谷才能成就伟大...
            0 0 978
            分享
          •   “工欲善其事必先利其器”,通过前边几篇文章的介绍,大家大致对接口有了进一步的认识。那么接下来让我们看看接口测试的工具有哪些。目前,市场上有很多支持接口测试的工具。利用工具进行接口测试,能够提供测试效率。例如,让你一天完成100个接口测试任务,你觉得你加班能完成,那么1000个、10000个......  如果有工具,可以大大提高你的效率,可以达到事半功倍,但是不是所有工具都能够支持你完成这个任务。下面我们就来挑选几个常用和常见的工具,简单介绍一下。如果需要或者有兴趣可以在网上查看各种工具对应的资料进行深入人的学习,这里带领大家了解一下,碰到这些工具会用、了解、知道这些工具就达到目的了,不要...
            14 15 2330
            分享
      • 51testing软件测试圈微信