`
helloyesyes
  • 浏览: 1305972 次
  • 性别: Icon_minigender_2
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论
阅读更多

不少朋友问测试工程师有什么前途,或者说测试工程师的职业生涯如何规划。有没有想过软件企业又是如何看待测试工作的呢?问题是如果技术总监或者总经理觉得测试工作没什么价值,测试工程师又有何职业生涯何言?

那么这仅仅是软件企业管理层的个人看法问题吗?不见得。俗话说,不见兔子不撒鹰。如果测试工作在某个企业确实没有价值,要求管理层在测试上投资是没有道理的。好比说以今日的科技水平号召大家去月球上挖矿,绝对忽悠不下来。不幸的是,现在国内软件企业和个人的测试技术水平参差不齐,有的跟去月球挖矿差不多难。

所以同样的困惑也出现在软件企业管理层身上:该不该、什么时候、以什么规模在测试上投资人力物力呢?

这个问题了解清楚了,无论是企业决策者还是工程师,都能决定自己的发展策略,从而促进人才供需双方的协调发展。这是决策的第一步,做还是不做。开始做了,我们再谈如何做好做大的问题。

该不该投资测试:测试的价值是什么

对于这个问题存在着不少误解。不如试试从投资方的角度看看,投资之前和之后的差别,带来什么回报,需要投入多少。

投资之前的典型状况:

  • 延迟发布以致损失营收
  • 产品缺陷导致客户拒绝签收
  • 产品缺陷阻碍客户业务进行
  • 产品缺陷影响自身业务或者营收
  • 产品缺陷损害企业品牌价值

简单来说,因为这些状况,投资方要么损失利润,要么增加了开支,要么损害了品牌价值,一句话,少赚了钱。

投资之后的期望状况:

减少上述状况。简单来说,原本少赚的钱可以赚回来若干。

需要投入的资金:

  • 人力开支
  • 设备场地耗材费用
  • 人事管理开支

所以,从投资方的角度来看,原本少赚的钱能赚回来的部分就是测试带来的回报,测试工作本身也需要投入,如果收不抵支就没有投资的必要了。

测试带来的回报,来源于减少的产品本身存在的缺陷,简称为bug。怎样才能减少bug呢?需要预防、发现和修复bug。显然只靠投资之前的团队是做不到的,不然怎么会出现那些状况呢?

那么测试跟bug有什么关系呢?测试工作发现了这些bug,然后这些bug在产品发布之前被修复了,所以少赚的钱被保住了。

为什么强调是“发现”呢?正是因为之前没发现,这些bug才会导致少赚了钱。所以,测试的核心价值,就是发现bug

那预防和修复呢?预防在测试业界一直都是个难题;修复目前要比发现要容易一些,——事实上不少项目里面开发人员没bug可修复,不是没有bug,是产品发布之前找不到。

所以,测试的核心价值就是发现产品中存在的bug;测试可以做更多的东西,但首要的任务是发现bug。这里的所有其他观点都以此为基础,由此而涉及的软件企业测试工作发展和个人测试职业生涯发展也是基于这个观点。

有兴趣的朋友可以读读这本书,The Art of Software Testing,第二版,作者Glenford J.Myers, Corey Sandler, Tom Badgett, Todd M. Thomas,出版社John Wiley & SonsISBN 9780471469124。上述观点来源于此书。

该不该投资测试:投资方期望的测试回报

既然明白了测试的核心价值,那么明确测试能带来的具体回报也是很合理的问题。但是这个问题上的误解也往往会令投资打水漂。

  • 误解一:做了测试产品就没有bug

这个误解会导致在测试上的投资中断,比方说,我投资了若干人力去测试某款产品,bug是少了不少,但是发布以后用户还是反馈有bug,我觉得出乎意料,于是不再投资了,反正虱子多了不咬。

软件产品本身的复杂性以及应用环境和用户需求的易变,让软件产品产生大量的bug,多得没有办法完全清除,或者完全清除的性价比太低。前面介绍的书里面有个很好的例子,大意是哪怕一个简单的一看就明白的小程序(判断三个输入的数字能不能表示一个三角形的三个边长),可以存在的bug也能达到上百个,而且随着应用环境和用户需求的变化还会以指数上升。

合理的期望可以是:做了测试产品的bug会大幅减少。这些bug如果继续存在会带来的损失,就是测试的回报,是可以量化计算的。

  • 误解二:测试需要很大的投入

不少宣传,包括微软在内,介绍测试就像是星球大战一样炫酷的技术和设备。实际上,兵无常势,水无常形。不同的企业和项目可以采取不同的测试方法,一个企业和项目适用的方法,在另一个企业和项目不一定回报投入比就好。

有个大型跨国企业的测试,是一堆人试用一个产品,发现问题就举手,测试经理过去查看,核实是bug就发给开发人员修复,同时奖励发现问题的人。我们看了觉得这个做法很实在,很对他们开发的产品胃口。

  • 误解三:测试不需要很复杂的技术

这是另一个极端,导致对测试投入过于斤斤计较。测试可以从小量开始,那也得分不同的产品和项目。有些产品重于用户体验,人的参与和使用能暴露更多的bug;有些产品重于处理不同的数据,制造理解和分析数据的过程能暴露更多的bug;有些产品重于子产品的整合,把各部件放在一起工作的过程能暴露更多的bug;有些产品重于处理大量的用户请求,把系统置于大压力下能暴露更多的bug。这些产品和项目做测试的性价比是不一样的。为了能暴露更多的bug,有些产品和项目需要复杂技术。

该不该投资测试:投资方如何找测试主管

明白了测试的核心价值,明确了回报期望,投资方又该如何建立测试团队呢?抓住一点:测试团队也是个盈利部门,有业绩有预算,能在预算内有办法确保测试回报的猫就是好猫。

  • 这人自己能发现bug吗?
  • 这人能预计需要哪些投入吗?
  • 这人能承诺找到产品哪些方面的bug吗?
  • 这人能找到合适的测试工程师吗?
  • 这人能明确合适的测试团队组织方式吗?
  • 这人能保证团队的工作效率吗?

该不该投资测试:测试主管如何找测试工程师

测试主管又该如何建立自己的测试团队?这个其实简单多了,一个人无论技术如何强,如果无法做到这两点之一的话

  • 发现bug
  • 了解导致或者阻碍发现bug的做法并尽力避免

这人就不太适合做测试工作。

第二条看上去很奇怪吧。不然,开发过程中有一些做法是人的本性或者项目流程不合理之处所导致的,这些做法要么是导致bug的产生,要么是阻碍bug被发现。

举个例子,一次修改太多代码,容易导致bug的产生;测试不合适的产品版本,阻碍了重要bug的发现。

该不该投资测试:测试工程师如何找软件企业或者测试主管

处于不同职业生涯阶段的测试工程师,适合在不同的软件企业或者测试主管下工作发展。有一些因素是值得考虑的。

  • 你所在的企业,项目或者你的主管需要你找到哪些类型的bug
  • 作为测试的回报,哪些bug占多大的比重?
  • 为了能发现哪些bug,你所拥有的技术深度足够吗?
  • 为了能发现哪些bug,你还需要发展哪些、多深入的技术?那是你下一步所需要发展的吗?

这些匹配上了,个人发展有保证,产出才有效率,投资方得到了回报才会加大投入,个人才有下一步发展的可能。

今天就到这里,下一次我们继续同时就投资方和工程师角度谈谈测试工作的下一步发展。

分享到:
评论

相关推荐

    HTMLTestRunnerNew.py针对《Python从无到有搭建接口(API)自动化测试框架》的测试报告,非此框架勿下载

    与网格正版的有很多改动,只针对《Python从无到有搭建接口(API)自动化测试框架》的测试报告,非此框架勿下载

    UI界面设计概念教程——从无到有界面设计畅想曲[汇编].pdf

    从无到有的界面设计流程包括需求分析、概念设计、原型设计、视觉设计、测试和迭代等几个阶段。在每个阶段都需要不同的人员和技能,例如项目经理、设计师、开发者等。 概念设计 概念设计是界面设计的第一步骤,是对...

    从无到有构建大型电商微服务架构(第二阶段.zip

    在本课程“从无到有构建大型电商微服务架构”的第二阶段中,我们将深入探讨如何利用Java技术栈来设计和实现一个高效的微服务架构。这一阶段涵盖了微服务设计的关键概念和最佳实践,对于想要构建可扩展、高可用的电商...

    从0-1做产品 课后测试(含完整答案).docx

    本文将围绕“从0-1做产品”的主题,详细解析课后测试中的关键知识点。 首先,迭代思维是产品经理必备的一种思维方式,它是对抗理想思维的方式。在快速变化的互联网环境中,产品往往需要通过不断迭代来完善和适应...

    自动化测试示例TestDemo全部测试案例无错版

    总的来说,`TestDemo`无错版提供了一个全面的自动化测试学习平台,覆盖了从基本的单元测试到更高级的测试策略,对于任何想提升自动化测试技能的开发者来说,都是一个宝贵的资源。通过深入研究和实践这个项目,用户...

    接口测试通用平台-支持无代码开发自动测试系统

    综上所述,这个接口测试通用平台提供了一个强大的无代码环境,使非程序员也能轻松进行硬件接口的自动化测试,覆盖了从串口到仪表的各种设备,并且具备了灵活的测试逻辑和多种测试模式,是一个高效且全面的测试解决...

    从无到有搭建中小型互联网公司后台服务架构与运维架构(龙果学院)

    从无到有搭建中小型互联网公司后台服务架构与运维架构是一个涉及多方面技术及管理策略的过程。根据提供的信息,我们可以从以下几个方面来详细探讨这一主题。 ### 一、基础概念理解 #### 1.1 互联网公司后台服务...

    从无到有搭建28388项目程序.rar

    在IT行业中,构建一个项目程序通常涉及到多个步骤和关键技术,特别是当标题提到“从无到有搭建28388项目程序”时,我们可以推测这是一个完整的软件开发过程。以下是一些可能涵盖的知识点: 1. **需求分析**:在任何...

    从无到有构建日交易额百亿级交易系统的日志系统

    从无到有构建日交易额百亿级交易系统的日志系统,本课程从无到有带大家手把手实现改日志系统,从中大家可以学习到很多设计思想、编码技巧、高级的知识点,最终该系统是一个可用的高性能日志系统,商业价值极高。...

    从无到有构建亿级微服务秒杀系统(真实工业界案例)

    从无到有构建亿级微服务秒杀系统(真实工业界案例),完整版166节,附源码+课件下载。 本课程采用全新的微服务架构,运用了很多工业界的企业级解决方案和高级技术,带大家手把手实现一个高性能,高并发,高可用等的...

    白盒测试——基本路径测试法

    从程序的环路复杂性可导出程序基本路径集合中的独立路径条数,这是确定程序中每个可执行语句至少执行一次所必须的测试用例数目的上界。 3. 导出测试用例:根据圈复杂度和程序结构设计用例数据输入和预期结果。根据...

    将xmind格式的测试用例导出到Excel

    总的来说,"XmindToExcel"工具解决了从思维导图到电子表格的数据转换问题,为测试团队提供了便利,提高了工作效率,同时也适应了不同类型的测试策略和项目管理需求。通过熟练运用这样的工具,我们可以更好地组织测试...

    常用测试技术及测试策略

    设计测试用例时需要保证所有测试需求都被覆盖到,确保测试的全面性和有效性。此外,还需考虑使用自动化测试工具来提高效率,并编写相应的自动化测试脚本。这一阶段的重要成果包括《测试用例设计文档》和《自动化测试...

    自己编写的测试代码

    在这个特定的案例中,"自己编写的测试代码"可能涉及到多种测试方法和技术,如单元测试、集成测试和系统测试。下面将详细探讨这些测试类型以及它们的重要性。 1. 单元测试:这是最基础的测试层次,主要针对代码中的...

    白盒测试指南 从最基础开始

    7.2 掌握编程语言和软件工程原理,有助于深入理解代码和测试过程。 综上所述,白盒测试是一项重要的软件质量保证活动,涉及多方面技能和知识。通过深入理解程序逻辑并设计针对性的测试用例,白盒测试能够有效提高...

Global site tag (gtag.js) - Google Analytics