敏捷自动化测试中的教训 45min 中文

31
在敏捷组织里实施 自动化测试的问题及解决之道 林曙湧 诺基亚西门子自动化测试教练

Transcript of 敏捷自动化测试中的教训 45min 中文

Page 1: 敏捷自动化测试中的教训 45min   中文

在敏捷组织里实施

自动化测试的问题及解决之道

林曙湧

诺基亚西门子自动化测试教练

Page 2: 敏捷自动化测试中的教训 45min   中文

背景介绍

• 移动通信核心网软件平台

• >1200万行的代码

• 2007年转型Scrum

• 10000+的自动化用例

• 平均每天执行5000左右

• 每日编包

• 每周向内部客户发布一次

Page 3: 敏捷自动化测试中的教训 45min   中文

常见的一些困惑

• 自动化测试太难了,我们太忙了

• 看不懂的自动化测试用例

• 维护自动化测试的成本太高

• 自动化测试做好了,下一步呢?

Page 4: 敏捷自动化测试中的教训 45min   中文

•自动化测试太难了,

我们太忙了

Page 5: 敏捷自动化测试中的教训 45min   中文

自动化测试太难了

• 测试人员缺乏编程技能

• 开发人员对测试缺乏兴趣

• 自动化团队缺乏领域知识的深入了解

• 产品可测性缺乏

• 接口经常改变

• ……

Page 6: 敏捷自动化测试中的教训 45min   中文

我们太忙了

• 对,我们真的很忙

• 忙着做重复低效的事情?

• 可是没有自动化测试,如何实施敏捷和CI呢?

Page 7: 敏捷自动化测试中的教训 45min   中文

改变是如何发生的?

Page 8: 敏捷自动化测试中的教训 45min   中文

• 测试部门和开发部门的融合

• 自动化测试的持续投入

• CI的优先级很高

• 专人来支持自动化测试

管理层的有力支持

Page 9: 敏捷自动化测试中的教训 45min   中文

团队协作的自动化实施策略

• 团队共同来计划自动化测试的任务

• 开发人员提供编程或者可测性支持

• 开发人员来写自动化测试用例

Page 10: 敏捷自动化测试中的教训 45min   中文

看不懂的自动化测试用例

Page 11: 敏捷自动化测试中的教训 45min   中文

自动化测试脚本

以下的脚本问题在哪里?

Page 12: 敏捷自动化测试中的教训 45min   中文

自动化测试脚本

以下的呢?

Page 13: 敏捷自动化测试中的教训 45min   中文

• 关键字驱动的自动化测试框架 • Robot Framework

Page 14: 敏捷自动化测试中的教训 45min   中文

伪关键字驱动自动化测试

Page 15: 敏捷自动化测试中的教训 45min   中文

引入外部Coach

好的测试用例的标准

测试用例的评审机制

重视测试用例的可读性

改变从新的测试用例开始

投资时间来做老的测试代码的重构

Page 16: 敏捷自动化测试中的教训 45min   中文

描述业务逻辑而不是测试实现

Page 17: 敏捷自动化测试中的教训 45min   中文

维护自动化测试的成本太高

Page 18: 敏捷自动化测试中的教训 45min   中文

原因分析

• 复杂的自动化测试

• 没有在持续集成中频繁的验证

• 问题会堆积

• 测试用例数目爆炸式增长

Page 19: 敏捷自动化测试中的教训 45min   中文

复杂的自动化测试

• 难以复现的问题

• 真的是软件问题吗?

Page 20: 敏捷自动化测试中的教训 45min   中文

有些复杂性是固有的

• 控制端到端的用例数量

• 分层自动化测试

• 测试用例实现变与不变的分离

Page 21: 敏捷自动化测试中的教训 45min   中文

实现造成的复杂性

• 功能视角 vs. 模块视角

• 自动化测试的架构

• 可重用的Keyword

Page 22: 敏捷自动化测试中的教训 45min   中文

持续集成的频繁验证

加大回归测试的频率,悖论?

用进废退?

独立的测试环境

Page 23: 敏捷自动化测试中的教训 45min   中文

不要去掉失败的测试

在增加新用例之前先修复失败用例

投资于健壮的自动化测试

直面和解决问题

Page 24: 敏捷自动化测试中的教训 45min   中文

测试用例数目爆炸式增长

板子启动测试用例设计

各种类型的板子,假设

12种

各种板子状态,4种

各种网元类型,

2种

各种系统硬件类型,3种

各种重启模式,4种

Page 25: 敏捷自动化测试中的教训 45min   中文

PairWise Testing

Page 26: 敏捷自动化测试中的教训 45min   中文

自动化的生成用例

• 测试模型的建立

• 直接创建可读可执行的自动化用例

• 测试用例的数据和测试环境自适应

• 每次插入随机因子生成不同的组合

Page 27: 敏捷自动化测试中的教训 45min   中文

如果你只关心覆盖率的话…

自动化测试做好了,下一步呢?

Page 28: 敏捷自动化测试中的教训 45min   中文

• Sleep? Are you kidding?

• 重构你的测试用例

• 优化测试库

• 内建可测性

• 并行执行

高效测试执行

Page 29: 敏捷自动化测试中的教训 45min   中文

Lean Follow up Style

• 尽可能多地自动化重复工作

• 减少结果分析的时间

• 省到就是赚到

• 结果的可见性

Page 30: 敏捷自动化测试中的教训 45min   中文

追求测试卓越

• 前沿的测试技术

– 基于模型的测试

– 探索性的测试自动化

Page 31: 敏捷自动化测试中的教训 45min   中文

Q&A

@林曙湧 http://www.cnblogs.com/blue_energy/