Testing

Part-1

起步

测试是发现质量问题、分析、跟踪、推动与解决的过程。

1

  • 熟悉业务,设计优质的测试用例,需要对所测试项目的业务需求非常熟悉
  • 了解整个产品的研发和测试流程
  • 全程参与,对需求、设计、开发、测试、交付、运维整个过程进行审视
  • 独立地进行设计分析和方案整合,制定和控制完整的测试过程

2

  • 常见的测试类型及测试用例设计方法, 测试设计是最核心的技能
  • 掌握必须的测试工具,如果开源工具则尽可能阅读源码
  • 基础的代码编写能力,至少会一种编程语言,具备一定的产品开发经验
  • 满足测试需求的通用知识结构,操作系统、网络协议、数据库、建模等

3

  • 专注一两个测试领域,作为长期投入、持续提升的方向,做到精通,中途可适当调整

质量意识

  • 找到影响产品质量的关键信息,对产品质量做出总体评估并推动问题的解决。
  • 将时间和精力投入在客户关心的需求上。
  • 测试需要思考和推断,并不只是输出结果与预期结果的简单比对,这也是优秀测试和平庸测试的重要区别。

Coding

  • 具备基本的代码编程能力,熟悉一门编程语言和脚本语言,例如:Java、Python、Shell
  • 熟悉业务需求,熟练编写测试代码
  • 独立编写自动化测试程序和搭建自动化测试框架
  • 了解产品代码是如何设计的,了解开发人员是如何修复bug,尝试做尝试做code review.

测试工具

  • 熟悉辅助测试人员开展测试工作的通用工具,可参考年度最佳测试工具(测试工具的风向标)
  • 精通主要测试类型的一种工具,例如:单元测试Junit、性能测试JMeter、自动化测试Robot Framework等等
  • 熟悉并尝试搭建测试开发环境

Part-2

测试评估与分析

  • 参与需求分析和评审,关注业务逻辑,对需求的合理性和完备性提供意见,预估风险
  • 参与系统设计方案评审,关注设计合理性、易用性等,对系统设计提出测试方的意见和评估
  • 对关联项目的互相影响和发布做出稳定性评估
  • 根据产品需求和产品设计, 进行系统化的测试分析,全局性地制定测试范围、标准、方案、计划

测试执行

  • 根据测试标准、测试方案和计划, 编写测试文档,设计测试用例
  • 开发和实施自动化测试脚本及辅助工具,提高代码的可测性
  • 部署和设置测试环境、执行测试用例,
  • 分析统计测试结果,审核测试达标情况,提供测试质量评估和报告

问题处理

  • 测试工作不仅仅是发现问题,而是包含发现、重现、提交bug、跟踪进展、验证解决方案等内容,问题及时合理解决
  • 协助分析定位BUG原因、配合开发人员重现及并验证BUG修复
  • 发现问题以测试人员为主开发人员为辅,分析问题开发测试共同完成,解决问题以开发人员为主测试人员为辅

持续集成

  • 设计、构建和优化持续交付流程
  • 搭建持续集成测试环境
  • 合理进行持续集成,保证项目质量和进度

持续改进

  • 审视整个测试流程,提出优化和改进建议,完善测试规范
  • 维护和改善测试流程和工具
  • 学习及尝试新技术、新方法、新工具,对当前测试进行改进和创新,提高测试效率及质量

沟通协作

  • 熟悉协作对象:其他测试人员、开发人员、项目管理人员、需求方等,熟悉了沟通协作也就方便了。
  • 驱动问题解决,而不是简单传递问题,进而推动整个项目的顺利进行。
  • 提交给开发人员的Bug report应该描述精确,简洁,没有歧义,有详细的重现步骤,信息完整(截图、log、配置等)
  • 详细而客观测试结果具备很强的说服力,这也是沟通协作的基础,有助于理解彼此的工作价值,关注缺陷本身,而不是作为一个“批评者”出现。
  • 归纳总结问题,集中询问,节省时间。

Part-3

自动化测试

  • 能够实际提升产品质量和避免质量问题的自动化测试才是有价值的,否则就是个噱头
  • 根据需求,将测试工作实现自动化,避免重复测试
  • 搭建并维护自动化测试平台及工具
  • 在第三方开源项目基础上进行二次开发
  • 开发自主的测试工具和自动测试框架

性能测试

  • 熟悉性能测试整体流程、各阶段的主要工作和测试方法;
  • 根据需求及设计文档,进行性能测试需求分析,制定测试方案和计划;
  • 按照测试方案设置测试场景,开发性能测试脚本及测试数据准备;
  • 根据性能测试实际需要,按照有效策略执行性能测试,收集相关性能指标;
  • 根据测试现象及结果,分析和定位系统性能瓶颈,推动跟踪问题解决;
  • 整理分析性能测试数据,提交分析报告;
  • 根据业务趋势,预测系统未来性能需求,给出性能提升建议;

一些顺序

  • 先测试变更,再对未变动部分进行回归测试。
  • 先测试核心功能,再测试辅助功能。
  • 先测试功能,再测试可靠性。
  • 先测试常见场景,再测试罕见场景(如压力和错误场景)。

Part - Book List

  • 《软件测试》(美 -Ron Patton)
  • 《软件测试与持续质量改进(第3版)》
  • 《敏捷软件测试:测试人员与敏捷团队的实践指南》
  • 《软件测试的艺术》(原书第3版)
  • 《软件测试经验与教训》
原文地址:https://www.cnblogs.com/anliven/p/7768937.html