• 0
  • 0
分享
  • 成为一个优秀的测试工程师需要具备哪些知识和经验?——软件测试圈
  • 恬恬圈 2023-05-08 16:39:12 字数 2061 阅读 1198 收藏 0

  根据我的观察,优秀的测试人员可以做的事情可以包括如下3点:

  ·由单纯的测试变成项目质量保证工作

  · 持续集成探索和推动和自动化测试技术研究

  · 测试相关工具的开发

  1、我们先来讲第一点,由单纯的测试变成项目质量保证工作

  测试,从狭义的角度来讲,包括如下这些环节:

  测试计划和测试用例编写-测试执行-质量报告书写

  测试人员一般会在开发阶段就进行测试计划和测试用例的编写和准备工作;在测试阶段,我们一般先会做功能测试,等项目功能基本稳定,bug较少了,就开始做兼容性测试、性能测试、安全性测试。兼容性测试保证了产品在多浏览器、APP在产品在不同机型下的兼容性;性能测试保证了产品在海量用户大流量下的服务能力;安全测试能发现产品可能会被攻击的各个隐患。做完了这些测试以后,人员发布质量报告,产品上线。

  不过,优秀的测试人员需要向上游和下游拓展测试的领域,把自己放在“质量保障”的角色上,推动整个项目组一起保证质量,上游的工作包括:

  在产品刚立项、进行需求确认的时候,测试人员就会参与进去,仔细地Review需求,看需求是不是完整、有没有漏洞,这个时候还没有进入正式开发,修改需求对于项目组来说代价是最少的。在这个环节,测试人员凭借缜密的推演、发散性的思维,往往能发现很多需求的漏洞,提高了项目的整体效率。

  另外,测试人员在完成测试计划、测试用例以后,会邀请开发、策划一起来评审测试用例,在这个环节,由于测试人员把每个需求如何细化测试都体现在了用例里面,就相当于再次把需求分析了个透,往往还能发现很多需求的漏洞。这也是提早发现需求漏洞的有效环节。

  我们知道,代码的质量归根结底是由开发保证的,测试做的工作,只是发现Bug让开发修复。如果一个花瓶,一开始就是很完美的;另一花瓶经过了各种修补,看起来比较完美,大家觉得哪个花瓶比较好?当然是第一个花瓶。所以,测试人员应该站在质量保障的立场,想办法跟项目组沟通、给开发提供工具,让开发自己把质量保障工作做好。比较可行的一些方式是:提供一些手工用例让开发自测;给一些自动化的接口和UI测试代码让开发自测;部署静态代码检查工具,并推动开发分析和修改发现的问题;有一些做得好的项目已经实现了持续集成,也可以尝试。

  下游的工作包括:

  在产品完成了测试以后,就是发布的环节了,测试人员在发布的环节也能发挥作用,首先,测试人员为了部署测试环境,研究自动化部署的技术,可以把上线部署的环节也自动化,以前需要2个小时的部署环节压缩到半个小时甚至更少,而且更加准确可靠。

  如果有些版本修改比较多,上线的质量风险大,测试人员会跟产品一起制定灰度发布的方案并在技术上进行实现,让版本先面向一小部分用户开放,如果发现Bug了,影响的用户也比较小,Bug改掉以后,再逐渐扩大用户范围。

  另外,优秀的测试人员还会发动项目组的其他人一起来保证项目质量,比如推动开发进行代码Review;引入冒烟自测流程,让开发先自测以后再提交给测试做冒烟测试;通过在项目组分析Bug,让开发提高自测,降低Bug数量等;引入策划、交互、视觉在测试阶段进行走查,等等各种措施。

  2、持续集成探索和自动化测试技术研究

  业界都在说持续集成,那持续集成究竟是个什么鬼呢?

  持续集成原本的意思是让开发每提交一次代码就自动化测试一次,如果自动化测试发现问题了,测试用例就会失败,开发就会马上发现这个失败,并修改代码。

  要做到持续集成可有很多工作要做。

  首先就是编译环节,要把所有编译的环节都自动化起来,开发每次提交代码都能进行自动编译。

  编译完成后,就是静态代码检查的环节,通过静态代码检查的工具检查代码的问题,比如,数据库连接池没有释放,参数不匹配等。

  静态代码检查完成后,就是单元测试了,单元测试用例一般是开发人员或者测试人员编写,或者开发和测试合作编写,保证的是开发内部函数的正确性。一个健康的自动化测试方案中,单元测试用例的占比是最高的。

  然后就是接口测试,一般保证的是后端开发提供给前端开发的HTTP接口,接口一般也比较稳定,用例比较容易维护,所以,接口测试的自动化占比也可以做到很高。

  在接口测试的上层就是针对用户界面的UI测试了,就像测试人员手工执行一样,UI自动化测试能操作页面的元素,完成自动化。不过,由于用户界面常常要重构,所以我们常常会控制UI自动化测试的规模,只覆盖主干的用例。

  优秀的测试人员可以把自己的工作尽量自动化,并用持续集成框架串起来,提高工作效率和质量。

  3、测试相关工具的开发

  优秀的测试人员会开发其他好用、趁手的工具来提高工作效率,比如数据自动生成、报表自动生成、报bug工具等。

  其实归根结底就是一句话:测试人员最核心的工作就是保障项目的质量,各类测试流程、技术、工具和平台的发展让我们可以更好地保证项目的质量。



作者:EdisonYao    

来源:http://www.51testing.com/html/07/n-7793007.html

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 1.渲染引擎(所谓的内核)(1)Chrome--开源的Webkit,听说自主从Webkit中衍生了Blink(2)Safari--开源的Webkit(3)Firefox--Gecko,Mozilla自家的渲染引擎(4)IE--Trident内核(5)360极速版--Webkit+Trident(6)Opera--自家的Presto内核,然后这位兄弟也跟着Chrome用Blink(7)其他国内的基本都是Trident内核2.浏览器兼容性测试2.1为什么要做浏览器兼容性测试第一点也说了浏览器渲染引擎有区别,就算是同一渲染引擎,在做个性化修改后显示也会有差别,用过国内浏览器的你最明白的啦。而前端页面...
            0 0 1362
            分享
          •   随着软件行业也不断成熟,对测试人员,特别是高端测试人员的需求与日俱增。  软件质量要求,难解市场人才荒。只有确保软件质量,国内企业才能在国际市场上立足,而确保软件质量的方式就必须进行软件测试。而这项工作只有软件测试人才才能完成,那么市场对软件测试人才的需求量也越来越大。预计在未来10年内,我国IT企业对软件测试人才的需求还将继续增大。  职业入门快,薪酬高。软件测试相对其他IT行业是个可以很快入门的职业,门坎不高。因为市场测试人才的匮乏,导致一般软件测试人员的起薪普遍比较高,而工作1~2年后,月薪达到8000~20000元的比比皆是,另外还可享受带薪年假、内部培训、住房公积金等福利待遇,可...
            0 0 1042
            分享
          •   实战案例  「Q:微博发动态,设计一下测试点」  虽说是发动态,但是测试时不能只是关注发动态这一操作的功能,发完动态之后,我们要确保动态要对外可见(对关注的人可见),单单测试发动态这个操作,实际上意义是不大的,毕竟只测发动态,不能实现测试闭环。  所以测试用例一定要把整个使用流程的case都要涉及到,避免漏测。  「Q:对一台自动售货机进行测试用例设计」  「Q:设计微信发红包测试用例」  「Q:设计抖音直播功能测试用例」  除了下图列举的一些测试点之外,还需要考虑 后台 的测试,譬如:审核后台、监控平台、数据中台 等等   「Q:微信红包是先计算每个人能获得的钱还是当这个人点了再计算。」...
            1 0 5592
            分享
          • 参与《2022软件测试行业现状调查报告》读后感征文活动,领测试微课好礼。1、引言关于软件测试行业报告,对我来说,每年都会去关注, 这个习惯也保持了好些年。 而在人工智能领域爆发式增长的当前, 这无疑给软件测试行业增加了一份筹码。 同时,也希望通过软件测试行业的报告,来分析当前,规划未来。所以,借着51Testing的这次《2022软件测试行业现状调查报告》,我也来聊一聊自己的一些想法与感受。2、整体感受在《2022软件测试行业现状调查报告》中,可以体现出,51Testing调查报告的内容覆盖广泛,覆盖行业全面,覆盖技能全面....当然,这份76页的报告中,我也是花费了20多...
            1 0 1806
            分享
      • 51testing软件测试圈微信