我认为的测试

基本共识

测试不是无脑的重复劳动。测试与开发要求一致:

先用脑,再动手

当下测试行业的现状:绝大多数测试仅仅只会做“验收”

因此一位优秀的测试人员,TA应当具备这些特质:

在实践中不断拓展、提升的测试技术

如果你只会加班,行万里路,也只是个邮差

所以能:

  • 将程序测“好”:准确理解软件功能,运用有效的框架设计方法,保证测试覆盖
  • 将程序测“坏”:场景发散、代码分析、数据提取、对象模拟,运用一切可行的方式方法,找出可能导致程序异常的条件
  • 将程序测“全”:能够有针对性的制定策略、构建场景、设计方案,让产品质量更加完善
  • 从不故步自封:绝不将自己的能力限定在指定平台、指定技术、指定的测试类型,不做能力舒适区中的所谓“专家”
  • 拓展知识边界:跟上行业步伐,自我驱动的持续学习,能独立展开新技术、工具、框架的研究,并将研究成果落地

系统的计算机技术掌握

测试对象的本质是代码,不能站在技术实现层开展的测试,都是不完美的

所以能:

  • 准确理解操作系统、网络原理、数据库和数据结构
  • 准确理解互联网产品特性,能在技术层面理解产品的框架结
  • 具备从业务逻辑层,准确分析、理解开发代码的能力
  • 自我驱动对框架、工具的学习和应用,通过技术手段,不断提升测试效能
  • 懂得需求分析和体验评价

用户体验不只是产品经理的事,测试工程师是产品的第一批用户

所以能:

  • 准确理解产品目标,分析需求设计的合理性
  • 具备产品的需求解构能力,能有效开展未上线产品的体验和评测环节
  • 在工程师与普通用户之间无缝切换,全面感受产品体验,提出改进意见,推动产品改进
  • 独立管控项目进度

进度管控是 QA 工作的一部分,一名合格的测试工程师知道该怎样对进度负责

所以能:

  • 基于测试策略,独立制定项目计划,排期合理,注重迭代效率
  • 独立落实、有效推进、把控进度、预估风险,积极应对和解决问题
  • 能够通过必要的规范化,提升与其他团队间的协作效率
  • 懂合作,会合作,不甩锅