• 0
  • 0
分享
  • 25K测试老鸟6年面试心得:四种公司、四种问题——软件测试圈
  • 恬恬圈 2023-02-01 15:11:15 字数 2602 阅读 1176 收藏 0

  测试面试话题1:敏捷开发与测试

  以下是我个人总结的一些经验:

  传统开发模式:V模式,瀑布模式。传统开发模式往往循规蹈矩,从需求,概要设计,详细设计,开发,单元测试,集成测试,系统测试,验收测试,上线发布,整个周期往往需要半年到一年,由于周期长,产品在开发过程中会存在需求变化,传统模式不适应需求的变化。为了解决这个问题,当前出现了敏捷模式。

  敏捷分为敏捷开发和敏捷测试,特点和特征是:

  1. 测试驱动开发和行为驱动测试

  测试驱动开发是指开发先写单元测试,再写开发的代码,当单元测试跑通的时候,代码开发就完成了。

  行为驱动测试是通过直接写user story,例如Cucumber框架,说来也很简单,就是在excel里为每个测试用例写好场景对应的步骤,每个步骤又对应有关键字(动作函数),之后只要对userstory/测试场景进行补充,就可以扩展一个又一个的测试用例。当然刚开始的函数都需要一个一个去编写实现。

  2. 小步快跑,拥抱变化

  敏捷思想会把一个产品分成多个阶段,每个阶段大约2~4周,在这个2~4周里设定的需求是明确的,不接受过大的变化,这样能保证明确的需求的实现和产品的进度,对下一个周期需求,咱们拥抱变化。

  3. 不过多强求文档话,强调人与人之间的沟通

  不过多强求文档话,不是说拒绝文档,有文档是最好的,但是因为时间原因,不写文档是允许的。

  强调人与人之间的沟通,开发测试人员在一个小的空间里(圆桌,没有挡板的办公环境),有问题可进行当面沟通。

  4. 站会(用小黄贴,展示进度)

  每日站会,开发和测试回报进度,把遇到的困难说出来讨论。每个人对项目整理进度也方便了解。

  5. 结对编程

  同一段代码由2个人写,一个人写代码,一个人review,或者交换。这个方式是google在用的一种方式。

  6. 持续集成

  强调快速构建,快速测试,可以通过持续集成工具jenkins,好处是:快速发现问题,快速定位问题,节约排查时间成本等。

  7. 自动化测试

  大多数是单元测试。

  8. 重构

  因为敏捷开发时,注重的速度,很多代码写的不够好,之后可能需要重写代码,这时,单元测试就特别重要。单元测试能检验代码重写是否正常。

  测试面试话题2:如何不漏测?

  不漏测这个话题本身就是个伪命题,微软的产品都天天打补丁,包括google, facebook都经常打补丁。测试人员是没有办法保证不漏测的,但是尽可能少漏测,而且每次保证漏测的原因都是不一样的。

  不漏测就等于软件没有bug,这个是整个团队的事情,团队对整个产品质量负责,测试只是质量管理中的一个小环节。

  如何通过团队来构建一个好的产品质量,才是一个好的话题。

  产品测试分层和效果:单元测试>接口测试>UI测试

  单元测试:开发需要做单元测试和代码 review来保证产品的健壮性

  接口测试:接口层变化比较小,很适合做全面自动化,实现产品快速的回归;---测试人员

  UI测试:UI层自动化测试+探索式测试;UI层变化大,虽然大家都想做自动化,但是效果并不好;---测试人员

  基于现有的情况,提高产品质量:

  1. 梳理好研发流程,各司其职。

  2. 从需求开始,测试就应该介入,并且了解每一个细节, 根据产品需求文档、产品设计文档(概要设计、详细设计)来设计详细的测试用例,并且让产品人员,开发人员一同参与评审,让团队的力量来对测试用例进行一个补充,这样可以大大减少漏测可能。

  3. bug预防,测试框架,探索式测试在测试用例设计上的运用,可减少漏测出现。

  4. 让项目的相关人员做一些抽测,从不同的角度去测试系统。

  5. 群策群力。

  测试面试话题3:你个人短期和长期目标是什么?

  有人会这样回答:“我的目标就是确保自己不落伍,而且我相信面对现实是十分重要的。我在某个地方读到过,我们在美国历史上比上一代退步的一代。这使我很担心,因此我的目标就是确保自己不落伍。这听起来可能有点悲观,但我是一个现实主义者,而且我相信面对现实是十分重要的。”

   【评论】:这样的回答只能凸显你是个随大流的人,没有自己的个性,特点。

  合理的回答

  不论在长期还是短期,我的个人策略是根据当前目标评价自己所处的位置,然后相应地修改自己的计划。比如,我每五年就制定一项个人计划,这个计划中包含一个总体目标和一系列短期目标。每6个月我就回顾一下自己的进展,然后做出必要的修改。很明显,我当前的计划就是实现职业转变,也就是找到更满意的工作。除此之外,我已经实现了近期制定的个人目标。

  【评论】:目标贴切实际并证明自己有在努力去实现或已实现这些目标。

  测试面试话题4:给你一个测试团队,你会如何管理

  这个是测试团队管理的话题

  1. 管人

  a. 招聘新人,找到合适的人,新人是需要做入职培训。让新人快速融入到团队中去,和开发和测试打成一片。

  b. 与团队成员多做有效沟通,了解每个人真正诉求,根据诉求和公司的要求做一个管理上的平衡。

  c. 设定KPI,合理的激励,奖惩分明。

  d. 团建,增进了解。

  2. 理事

  a. 做好日常项目管理工作,监控项目的方方面面,保证公司的项目开发和质量要求。

  a1. 团队成员往往以测试组的名字接不同的测试项目,需要全局把握项目的进展,比如说:需求是否了解足够充分,测试用例设计的是否足够充分,项目执行过程中是否有什么风险

  b. 根据每个人的诉求和特点,合理的安排每个人的工作(喜欢挑战的,就给一些挑战性的工作; 不喜欢挑战的,就给一些日常性的工作)。

  管理没有真正意义上的对和错,让每个人开开心心的工作,做到一个平衡,就算是成功了。

  测试面试话题5:感谢每一次面试机会

  每次面试都是一次修行!都是了解自己缺点,发现不足,重新认识自己,改善提高的机会!每一次面试又是一次缘分,我们可以静静的听对方的故事和建议,思考对比自己的人生,不断修正,学习借鉴!自我鞭策!

  求职的酸甜苦辣,人生百态,冷暖自知!我也重新梳理了测试行业,修正了个人发展目标。其间的经验、心得体会、方式方法希望与大家分享探讨,互相帮助,互相勉励,一起度过暂时的中年危机!


作者:佚名    

来源:http://www.51testing.com/html/37/n-5002237.html

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 前言随着软件测试技术的发展,人们已经从最初的纯粹的手工测试转变为手工与自动化测试技术相结合的测试方法。近年来,自动化测试越来越受到人们的重视,对于自动化测试的研究也越来越多。背景项目版本功能日趋增加,系统模块越来越多,功能趋于完善,此一、外系统经常更新,测试人员无法满足多模块的测试需求,测试压力日渐增大,尤其在做回归测试时,无法确保每次更新后系统都得到完整的回归测试。一、自动化测试基础知识什么是自动化测试把人为驱动的测试行为改成机器执行,通过设计的测试用例,由机器按照测试用例的执行步骤对其进行自动操作,输出结果,由测试人员进行比较。自动化测试往往通过一些测试工具或框架,编写自动化测试用例,来模...
            2 2 3386
            分享
          •   应用场景  测试场景中,我们会先做一些SMOKE测试,以便先了解一下基本的测试是否通过,如在API测试中,先验证返回的Json文件一样,在没有具体到细节时,我们会先了解返回的Json文件是否符合正确的Json格式,以及某次字段数据类型、格式是不是和预先定义的相匹配。  今天就介绍一下Rest-Assured支持的Json schema-validator一次验证整个回应的Json文件。  测试框架: Java + Rest-Assured  语言: Java  IDE: Intellij IDEA  项目类型: Maven  公共API 地址:  https://api.data.gov....
            12 12 1799
            分享
          • 在我看来接口测试相对其他类型的测试是比较简单的。对于最常见的HTTP接口,只需要知道接口的 URL、方法、参数类型、返回值 ... 就可以对接口进行测试了。apifox如果你是入门级选手,那么apifox应该很适合你,它是一款类似postman的接口测试工具。而且功能也很强大,定位 Postman + Swagger + Mock + JMeter。你值得尝试。为什么不postman? 嗯,你说的都对!HttpRunner如果你不想用工具,也不想写代码。想更加简单高效的编写接口测试用例,那么HttpRunner2.x 就很适合你了。{     "...
            0 0 1431
            分享
          •        大家往往会选择一本数据科学相关书籍或者完成一门在线课程来学习和掌握机器学习。但是,实际情况往往是,学完之后反而并不清楚这些技术怎样才能被用在实际的项目流程中。就像你的脑海中已经有了一块块”拼图“(机器学习技术),你却不知道如何讲他们拼起来应用在实际的项目中。如果你也遇见过同样的问题,那么这篇文章应该是你想要的。本系列文章将介绍一个针对真实世界实际数据集的完整机器学习解决方案,让您了解所有部分如何结合在一起。本系列文章按照一般机器学习工作流程逐步进行:数据清洗和格式化探索性数据分析特色工程和选择在性能指标上比较几种机器学习模型对最佳模型执行超...
            0 0 977
            分享
          •   产品经理可以参考下图的流程方法:  1)需求收集:包括被动和主动的需求收集,其中主动的需求收集要求掌握需求收集的途径和方法,产品创意需要统一纳入到需求收集的范围;  2)需求分析:通过需求分析的层级模型,透彻地分析需求背后的用户问题和痛点,用户的需求场景,必要时还需要通过一些简单的原型确保准确地理解用户需求;  3)需求分发:不是所有需求都要纳入到下一个产品版本,成熟的需求管理团队能够发现高价值的中长期需求,在需求分发环节将其纳入到产品规划;  4)需求实现:该阶段的责任主体是产品开发团队,产品经理需要确保产品开发的各个阶段没有偏离自己的产品概念;  5)需求验证:包括产品经理对产品的验证...
            0 0 851
            分享
      • 51testing软件测试圈微信