如何最大化软件测试效能?
一、软件测试工作瓶颈在哪里?
首先要知道软件测试工作的瓶颈在哪儿
- 环境
- 沟通
- 测试分析
- 数据准备
- 用例设计
- 测试执行
- 缺陷报告
- 需求变更
- 脚本开发
二、测试可能会遇到的一系列障碍
- 惯性作用,文化和思维改变很难
- 沟通成本高
- 需求模糊
- 需求变更
- 自动化测试实施效果不佳
- 返工
- 发布时间久,靠加班
- bug 还很多
- 测试人员能力不足
- 研发过程比较混乱
- 系统架构耦合性强
三、如何跨越这些障碍?
- 测试思维:突出团队对质量负责
- 测试周期:测试左移、测试右移
- 测试自动化:全生命周期覆盖的高度自动化
- 测试环境:虚拟化、云化、容器、CI 集成
- 度量:全过程可视化
- 测试与开发融合,设立 Test Owner/测试教练角色
- 组织的支撑:组织改革、文化革新
四、从测试自身角度看如何最大化测试效能?
人
个人态度与能力、团队协作、组织文化等
- 卓越的测试工程师:
- 热爱测试
- 熟练运用测试方法
- 软件技术功底深厚
- 业务熟练、知识面广
- 良好的沟通能力
- 观察力、洞察力
- 良好的思维能力:
批判性思维能力:将探索式测试、发现缺陷做到极致,质疑假定、条件持续反思、改进不断深入系统善于挖掘应用场景;上下文驱动思维:任何行为或操作都取决于其上下文
- 卓越的团队:
- 卓越组织的质量文化:
- 质量是团队尊严的起点
流程
- 卓越的测试流程:
- 尽快地、持续的揭示质量风险:质量风险揭示的越早越快,产品越好、项目风险越小、成本越低
- 测试流程力求简化、轻量化:良好的基础设施(TF, email, IM, wiki, …)和开发平台、项目管理平台
- 质效合一:探索式测试 + 自动化
- 彻底的左移:需求即测试
- 测试右移进一步缩短测试周期
- 最终形成质量改进的闭环
技术
- 自动化测试
- 良好的自动化框架/基础设施
- 适宜、有效地运用测试方法
- 善于使用各种工具
管理
-
因地制宜采用测试策略:
- 基于风险的测试策略
- 基于用户使用的测试策略
- 启发式测试策略
- 组合策略
-
让测试成为服务:赋能团队
- 测试建模服务
- 测试数据服务
- 测试环境服务
- Mock 服务
- 测试设计服务
- 测试执行服务
- 测试结果呈现服务
↙↙↙阅读原文可查看相关链接,并与作者交流