周六项目发生了一起事故,一个简单的服务器修改功能,因为开发过于自信,没有通知测试,直接发布到外网,导致外发版几万用户的手机崩溃,造成了一场工作事故。
  虽然后期查明是因为程序员的疏忽导致的参数错误,但是依旧暴露出很多流程上的问题,特别是凸显了测试的重要性。带大家认识一下低调的测试工程师
  测试工程师
  测试是产品上线环节中重要的一部分,伴随着整个产品的生命周期,因此产品测试是很重要的一个环节,需要特殊的人员从事相关测试工作,这部分人是测试工程师。
  目前所有的互联网公司都有测试工程师。测试工程师是产品上线的后一环,对用户负责,是“上帝”的品菜师,他们的定位是产品把关者。
  主要职责:
  测试工程师的主要职责分以下几部分:
  1.编写测试计划、规划详细的测试方案、编写测试用例
  2. 根据测试计划搭建和维护测试环境;
  3. 执行测试工作,提交测试报告。包括编写用于测试的自动测试脚本,完整地记录测试结果,编写完整的测试报告等相关的技术文档,;
  4.对测试中发现的问题进行详细分析和准确定位,与开发人员讨论缺陷解决方案。
  5.提出对产品的进一步改进的建议,并评估改进方案是否合理;对测试结果进行总结与统计分析,对测试进行跟踪,并提出反馈意见。
  6.为业务部门提供相应技术支持,确保软件质量指标。
  从测试工程师(以下简称测试)的职能定义来看,的测试工程师,一定是半个产品+半个开发。既要求对产品足够了解,包括内部逻辑和界面显示,这也是产品测试的基础;也要了解部分开发代码,能够对代码优差做出评估,并且给开发提供优化方案。整体来说,测试要求掌握的技能比较宽泛,从基础的编写自动测试脚本程序,到进一步拓展编程语言、操作系统、网络与数据库方面的技能。
  随着技能的提升和经验的积累,测试属于越来越吃香的职业,的测试人员能够将问题消灭在产品开发阶段,极大的节省开发成本和后期维护成本。
  测试方法
  从思维出发点来说,测试主要可以分为两类:黑盒测试白盒测试
  黑盒测试(基础功能测试)
  黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
  具体的黑盒测试方法包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法、场景法等。其中常用的黑盒测试防范有等价类划分法、错误推测法和因果图法。
  1、等价类划分法:
  等价类划分法假设各部分是独立且同等重要,将一个产品拆分成若干个部分,每个部分有一名负责人进行测试。比如我们的项目是用的是此类测试方法,将产品分为通知提示、帐号授权、流量领取、高速使用和帐号解绑等流程,每一部分有一名测试同事负责,保证该部分功能的正常。
  2、错误推测法
  错误推测法是基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法。
  一些经验丰富的测试在进行项目验收的时候,通常采用此方法,针对容易出错的节点进行重点测试。如一些支付应用软件的授权和支付会成为支付的关键节点。
  3、因果图法
  前面的等价类划分法和错误推测法都注重节点的测试,未考虑条件之间的关系,各个步骤直接的结合情况。因果图法
  是按照前置条件、结果和后置条件的流程关系列出所有的条件组合,进行测试。所有的条件组合是因果图法的测试用例。比如登录—用户名错误——返回“用户名错误”提醒,是一条因果图法的测试用例。
  值得注意的时,各种不同的测试方法通常是相互交叉使用,比如在使用等价类型分法的基础上,对各个部分进行因果图法,在各个部分的连接处做错误推测法重点测试。
  白盒测试(内部逻辑测试)
  白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的。"白盒"法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。这一方法是把测试对象看作一个打开的盒子,测试人员依据程序内部逻辑结构相关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致.白盒测试一般需要技术基础支持,同时需要相关工具配合,比如日志抓去工具。
  白盒测试的测试方法有代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、路径覆盖和程序变异。其中一基本路径测试法使用为广泛。
  1、基本路径测试方法
  基本路径测试法是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法,同黑盒测试中因果图法类似。
  测试用例
  对测试工程师来说,测试用例是产品测试的核心。测试用例是对所有的界面显示、交互效果和功能逻辑汇总。目的是能够将软件测试的行为转化成可管理的模式,同时测试用例也是将测试具体量化的方法之一,不同类别的软件,测试用例是不同的。一些大型项目,测试用例能达到几万条的数目。
  测试用例的多少和产品质量的“坚挺”程度相关,一般情况下,测试用例越多越细致,对应产品逻辑会越缜密,在上线之后越能经得起各式各样环境的考验,对用户来说,产品的可用度越高,产品质量越坚挺。
  结语
  后,当我们在调戏产品狗、程序猿的时候,不要忘记你身边的“测试猫”,他们缜密而低调,忍耐而细心,专业的扮演好产品上线管家的角色。毫不夸张的说,每一个成功的产品背后都有一名伟大的测试工程师。