• 0
  • 0
分享
  • 怎么保证测试结果和价值最大化?测试人员承担什么角色?
  • 恬恬圈 2019-10-09 14:18:09 字数 2021 阅读 1696 收藏 0

作为一名多年的测试人员,对测试这个岗位的存在,也有自己的一点拙见。纵观现在的互联网公司,不管是国际巨头,行业巨头,或初创型公司,测试的岗位都必不可少。但不同的公司之间,却又有很多的差异性,拿测试开发比来说:在 Google 公司,测试开发比为 1:10;但微软则能达到 1:1 甚至更高;笔者现在所在的公司,大概是到 1:3 左右。

其实每个公司的配比,都是视本公司的业务形态/协作方式决定的,单纯靠配比来决定什么,也是不科学的。微软的一些测试人员需要写单元测试,相当于测试开发的角色,写出来的东西去测试开发写出来的代码,加之微软产品性质比如复杂操作系统,服务器产品之类的,需要的测试人员自然多;而 Google 的开发人员的习惯是,开发自己承担自己的单元测试和功能测试,众所周知谷歌的工程师开发水平又很高,所以公司专职测试人员就很少。

不同的公司之间配比差异这么大,那大家是怎么保证测试结果的呢。如果只有一个测试人员的公司,应该怎么做到最大价值呢?测试人员承担的是什么角色,如果只是“保姆”的角色,那测试行业会不会消失?

这就引申出一个话题:测试效率,今天我们谈谈。

在我看来,测试效率大概分成四个部分:

1.测试执行的速度;

2.测试验证的准确性;

3.测试覆盖场景的比例;

4.转换成工程价值的比例。


前三条从字面意思都很好理解,第四项怎么理解呢?我认为这是个综合的考量,也就是测试价值的衡量:减少迭代的bug数目,减少线上事故数,质量保障过程可控,就是在转换成工程价值。

现在很多公司的测试部门都不称为「测试部」了,而是称之为「效率部」,这也是有原因的。「测试」听起来是一个阶段性的工作,就像流水线的某个车间;而「效率」听起来更像是一个全流程的把控。笔者觉得这也算是为测试争取“地位”的一个很显著的表现。

试想,如果整个公司只有你一位测试,你会怎么做?最大提升效率?我想首先你应该熟知业务形态,清楚产品的风险点所在,对可能发生事故和问题的模块足够清晰。一个完整的产品,一定有最基本的底层/前端/后端,我们说“从根源上把控质量”,这话一点不假。我刚开始做质量工作的时候,都是浮于一些功能模块,或者一些端的功能,或者交互的功能;现在再拿到手一个产品,我基本不会这样了,而是看它的服务都有哪些,接口有哪些,调用关系如何,日志怎么看,前后端怎么对接。你要清楚,产品之所以能 run,都是底层服务/接口互相调用的结果。所以,我们应该把测试工作“下沉”,下沉到我们可以管控的地方,优先在这里做测试工作包括自动化的东西。这也是在自动化领域,我一直主张优先做底层接口测试的原因。当然,前端的一些控件/界面测试除外,其它的,能下沉就下沉,你会比你想象的学习到更多。

方向对了,测试效率也已经领先了一大步,自己也会省事很多。那接下来就是怎么优化这个测试工作。拿 API 测试来说,写一个 API case 并不难,比如常见的 Python 的 requests 库,花两分钟你就能知道如何写请求,如何 assert response 了。但如何系统组织这些用例,比如对于复杂请求,怎么写成请求链路,怎么解析多层次的 json;对于一些变量,需要跟数据库交互的时候,应该怎么存;如何做成自动化测试的 CICD,却是需要一定功底的。复杂的 API 请求,一般涉及到复杂的 case 编写,比如之前笔者做人工智能的相关接口返回值的提取时,用的都是 mongoDB,因为那里面很多非结构化的数据,我需要先存,然后在下一个 API 的时候,再用这些数据。

还有一个直观提升测试效率的方法,就是最大化增加测试覆盖。说白了就是最大化你的用例“波及”范围。这也是作为一名测试工程师的基本素养和技能。我们所熟知的边界值法/等价类划分/分支覆盖法/条件覆盖法等用例编写方法,是最基本也是用的最多的,一定要掌握好,对自己的测试工作负责。“漏测”我以前是一直不认同的,因为我认为 bug 都是开发写出来的,而不是测出来的。但现在,我们团队中的一些新手,很多时候考虑并不全面,导致“漏测”,引发了一些线上事故。测试工程师,首先就应该有扎实的基本功,别人才能信任你去把控质量。这点也是笔者对一些测试新手想说的吧。

测试工作千千万万,其实真正的效率问题才是部门内部最应该思考的。不止测试,开发/运维都有效率可言,这也催生了我们的各种自动化,自动化测试,自动化运维,自动化部署,以及像 DevOps 这样的岗位的产生。测试这个工作永远都不会消失,但在互联网更发达的将来,测试这个岗位却有可能被合并。所以,作为测试人员,掌握良好的技术能力也是必须的,包括编码能力以及必要的测试大局观。最后,也祝愿大家都能一步步提升!


版权声明:本文出自51Testing会员投稿,51Testing软件测试网及相关内容提供者拥有内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • postman一个入门比较简单的接口测试工具。本人在之前没有接触过接口测试工具,也没有做过接口测试。在今年3月份开始,由于项目中需要进行接口测试,所以postman接口测试是在项目实践中学习和研究的。本次记录主要对学过的知识和工具进行一个记录和总结,加强接口测试方面的知识,相当于一个阶段性的总结。postman是接口测试入门比较简单的接口测试工具。使用postman可以进行功能上的接口测试。下载安装比较简单,其中有两种安装方式,一种是直接从官网下载安装,一种是在chrome上下载安装插件。本次建议从官网上下载安装。接口测试是测试系统组件间接口的一种测试,主要测试内容包括检查数据的交换、传递和控...
            0 0 1108
            分享
          • 上周产品出现了一个线上 bug,我和一位同事临时通宵给做了善后处理,本来是有很清晰的处理思路,以及很熟练的处理方法,但是过程中还是出现了各种各样的问题,现做个简单总结,希望能给后续处理同类问题带来帮助。一、问题背景客户端代码有一个逻辑,判断一个文件是否是 XML 文件时,实现逻辑不严谨,没有进行充分性校验,选取的判断条件不唯一,类似我在《记一次问题分析解决的完整过程》中臆断的使用换行符来分隔字段的逻辑。因为这个逻辑的存在,如果获取 XML 文件的 URL 地址不存在,那么返回的 404 页面,也匹配上述的判断条件,结果就命中了不应该命中的流程,继续处理。在后续处理过程中,预期的数据出现了异常,...
            1 2 1996
            分享
          •        在俄罗斯入侵乌克兰后停止交易一年后,五家与俄罗斯有关的互联网公司将正式从美国证券交易所除名。这五家公司中最突出的是Yandex,一家有25年历史的科技公司,通常被称为"俄罗斯的Google",因为它的产品涵盖了搜索、电子商务、广告、地图、交通等等。       2011年5月,Yandex首次在纳斯达克上市,其母公司是在荷兰注册的Yandex N.V.公司。此后,三年后在莫斯科交易所进行了二次上市。作为一家上市公司,Yandex一直表现良好,在2021年11月达到历史最高点,市值3...
            0 0 2134
            分享
          •   聊到自动化测试,我们做 GUI 自动化测试的过程当中,以前就只要把这个自动化做起来就好了,但随着你的用例,用的数量越来越多之后,你不单单是把一个场景自动化就可以了。因为随着你的用例变多之后,你所有的用例设置,包括你的代码的结构,都要考虑这个东西的可维护性,因为可维护性一直是 GUI 自动化测试很大的一个痛点。我们在后面的 GUI 测试过程中,就会去考虑,怎么来做分成?怎么来做基于可重用的脚本?怎么来做基于页面的对象模型?甚至到后面还有 BDD,就完全是业务,用户行为驱动的这种测试。那么,从这些概念当中,可能你已经听出来了,不管是你之前有没有接触过这些概念,你都能够发现一个很重要的信息点,自...
            0 0 616
            分享
          • 读者提问:软件测试工程师如何做职业发展规划,有什么比较好的建议给到咱们测试萌新吗 ?阿常回答:。两个大的发展方向:1、技术类;2、管理类。一、走技术发展路线1、测试专家,比如 “测试架构师”(关键词:技术难题攻关、关键业务评审、基础设施搭建、解决一线实际问题、规划团队技术发展)2、专项测试工程师,比如 “自动化测试技术专家”、“性能测试技术专家”(关键词:软件测试某领域、技术专家)区别:前者关注具体的某一个产品,综合考量选取更合适的技术;后者不关注具体的产品,而是研究某一专项技术的共性。二、走管理发展路线1、测试组长(关键词:产品重点难点测试、辅导新人、任务分配、任务跟进)2、测试经理(关键词...
            0 0 1292
            分享
      • 51testing软件测试圈微信