三步实践“验收测试驱动开发” 让团队交付正确的软件 葛锋 测试自动化教练 诺基亚西门子杭州研发中心.

Slides:



Advertisements
Similar presentations
实用农业科技写作 王鹏文. 第一章 导论 第一节 农业科技写作概述 一 、 农业科技写作概念和分类: 科技文献类、科技应用类、 科技普及类、科技新闻类 二、 农业科技写作的意义和重要性: 科技工作的重要组成部分、科学研究的手段、 科技成果的反映和标志、科技交流的工具 三、 农业科技写作的特点 : 功利性与及时性、科学性与先进性、读者的专门性与狭隘性、
Advertisements

新课程引领 实践中前行 —— 蓟县初中信息技术三年课改总结. 自从 2005 年秋季我市进入基础教育新一 轮课程改革实验以来,在市教研室的正 确领导下,我县初中信息技术课改工作 稳步推进。三年来,取得了一些成果, 也有不少体会。现将三年来的信息技术 课改工作总结如下。
103 學年度社工系生涯規劃課程 國考秘笈分享及學職涯多元開展 講座活動記錄. 活動日期: 102 年 11 月 25 日 活動地點:慈濟大學 2C108 主辦單位:慈濟大學 講師 : 刑志彬 花蓮縣社會處社工師 參與人數: 53 人.
河南省基础教育资源网 邓伟鹏 二〇一二年七月 内容大纲 1. 培训平台的目的 2. 培训平台介绍 3. 培训平台功能 4. 培训工作建立流程 5. 培训门户 6. 在线学习 6.1 课程学习 6.2 在线考试 7. 培训考试管理 7.1. 课程管理 7.2 必修学习班建立 7.3 在线考试管理 7.4.
桐乡市地方税务局 2013 年度社会保险费汇算清缴有 关政策及事项说明. 一、政策规定 根据《中华人民共和国社会保险法》、《桐乡市社会保险费征缴管 理办法》(市政府令第 42 号)、《 关于完善社会保险费征缴管理有关问 题的通知》(桐政办发 [2012]152 号)及《关于完善社会保险费征缴管理.
公假系統使用規則. 1. 由校內同仁登入正修訊息網(公假系統權限僅開放全校教職員) 點選學務資訊 → 學務管理系統.
国务院机关事务管理局 资产管理司 二〇一五年一月. 目录 2 总体要求 总体要求 1 1 报表体系和编报流程 报表体系和编报流程 2 2 报表编报说明 报表编报说明 3 3.
NO.005 職涯 報 實習 徵才 攻讀 國立嘉義大學 學生事務處學生職涯發展中心.
自然抗癌法.
國中教育會考 十二年國教—免試入學 及 意見整理.
第三組做的報告 . 組長:紀美朱 組員:謝寶岳 羅芳婷 李依芳 李銘賢 還有內容.
治癒肺癌的妙方 按鍵換頁 一共 25 頁.
严格标准 规范程序 认真做好党员发展工作.
薪資申報系統操作說明.
商学院 旅游管理专业介绍.
治癒肺癌的妙方.
 历史以人类的活动为特定的对象,它思接万载,视通万里,千恣百态,令人销魂,因此它比其他学科更能激发人们的想像力。    
餐旅督導實務 指導老師:梁中正 組員: 蘇珮玲999M0151.
《数学》(华师大.八年级 下册) 第二十一章数据的整理与初步处理 扇形统计图的制作.
怎样报销劳务性费用? ——暨薪酬发放申报系统介绍 怎样报销劳务性费用? ——暨薪酬发放申报系统介绍 (学院、部门适用)
5.1 Excel 概述 Excel的特点 1、表格制作 2、完成复杂运算 3、建立图表 4、数据库管理 5、决策支持.
單元名稱: 愛的十字路口.
Excel高级班 学员 焦攀飞 汪晴讲师 Office套餐 学习心得 自主学习最关键 焦攀飞 赖球 49 D 2056
『臺北市營建剩餘資源管理系統』 教育訓練說明 臺北市政府 報告人 王宏正
志願服務倫理  高雄餐旅學院師資培育中心     馮莉雅 副教授.
“三项制度+一个平台”构建 省级高校教学质量监控体系
目标成就未来.
瓯海职专财经专业组简介.
国有资产清查 数据填报操作规范 2016年3月25日.
土肥专业统计工作总结和 2013年工作安排 全国农技中心土肥技术处 孟远夺
全省水产技术推广补助项目 信息员培训 河南省农业厅水产局 2013年11月17日.
2015年企业薪酬调查 主要指标解释及填报要求 呼和浩特市人力资源和社会保障局 2015年5月.
新竹縣政府警察局新埔分局偵查隊 姚乃文 何怡慧 富光國中
众筹实战培训 内蒙古环交所 李 蒙.
如何撰写教育科研论文 谌 业 锋 四川省凉山州教育科学研究所 欢迎访问 业锋教育在线
高职《财务报表分析》课程 课堂教学案例交流
上海文会会计师事务所有限公司 中国注册会计师 童幸义
性別平權教育的實施 輔一乙 第一組 謝筱柔-上台報告 李竹萱-上台報告 張瓊心- ppt製作
九十四學年度行政人員教育訓練 結案報告 主辦單位:人事室 報 告 人:羅際芳主任.
关于成绩的数理统计的探讨 望您多多指教!多谢!!.
仓储企业岗位人员招聘 第一组 组员 :陈娇娇 祝婷婷 丁元莉 袁珮 王慧.
玉溪工业财贸学校副校长 示范校建设办公室主任 柏家渭 2014年5月13日
快樂 癌瘤就消失.
女性與宿命 呂赫若(1914—1951).
二十四節氣的飲食 HaPPy TeaM 林品卉 王佩鈴 王浩倫.
人口与计划生育 统计分析 昌吉市计划生育委员会 二○○六年三月.
物 资 供 应 简 报 第三期 2014年3月 中铁二局物资重庆分公司项目物资简报.
成人發展與適應-參訪門諾醫院長期照護部:居家照服工作、日間照顧中心、 護理之家
第十章 房地产开发项目的经济评价 §1 房地产开发项目及其前期工作 §2 房地产开发项目经济评价 本章内容.
2014年深圳市学生人身意外伤害保险投保工作介绍 中国人民财产保险股份有限公司深圳市分公司
校外人员酬金申报流程  .
列王紀上.
付款作業錯誤態樣【出納組】 錯誤1~核銷文件備具不齊 錯誤2 ~戶名與系統不同 錯誤3 ~未輸發票號碼日期 錯誤4 ~受款人帳號輸錯
2007年6月號 e-Care newsletter 電子通訊
海報評比 班級:系統四甲 學號: 姓名:蔡飛宏 授課老師:唐蔚.
办学条件核查 评估秘书组 电力职业技术学院 山西机电职业技术学院 2014年7月9日.
科 展 說 明.
2011年教學觀摩會 教學心得報告 共同學科軍訓室馬毓君 2011年4月28日.
螞蟻和蟋蟀 AND 動畫製作: 邱清華 李雲月.
怎样报销劳务性费用? ——暨薪酬发放申报系统介绍 怎样报销劳务性费用? ——暨薪酬发放申报系统介绍 (项目经费适用)
個人申請系統 通過第一階段倍率篩選評估系統.
成本会计学.
舊生升級編班與新生管理操作說明 全誼資訊股份有限公司 中華民國106年06月05日.
Happy music社群 朝陽科技大學100學年度第1學期學生學習社群 社群成員: 江佳倫、葉靜宜、呂怡萱、黃鈺琪 何宛珊、林子勛、陳盈孜
花蓮縣豐濱鄉新社部落 校外教學.
Excel 2010电子 表格制作案例教程.
新课程理念下如何进行课堂教学 刘志超 2014年2月25日.
赠品管理系统介绍 Heinz IS
6 分析資料-以統計測量數呈現.
Presentation transcript:

三步实践“验收测试驱动开发” 让团队交付正确的软件 葛锋 测试自动化教练 诺基亚西门子杭州研发中心

摘要 案例背景 如何做到的 ATDD的几个常见问题 三sprint实践ATDD

三步实践“验收测试驱动开发”——让团队交付正确的软件 案例背景(问题解决前的糟糕状态): 在每次迭代开发开始之前,团队均会召开会议商讨开发的内容,以及相应的测试用例。但真实情况是,貌似大家都已经讨论清楚的内容,实际上并没有达成统一性的理解,因而就存在了过度开发或开发不足的问题,最终导致在迭代结束的时候团队并没有交付完全正确的特性或软件;更胜的是我接触过的一个团队因此原因导致整个迭代的直接失败。 b) 此案例实施后达到的目标: 让团队掌握实施ATDD的实践方式,以此对需求达成统一共识,最终构建出正确的软件。

怎么做到的(思路) 理解人性,从团队愿意采用的方式切入,降低抵触情绪 适当经历曲折与错误,帮助团队摄取经验与教训

ATDD的几个常见问题

1.验收测试用例讨论与编写的时间 GOOD 组员:Sprint开始之前的grooming会议上讨论,会后编写完成 我:你们是在什么时候讨论和编写的验收测试用例 组员:Sprint开始之前的grooming会议上讨论,会后编写完成 GOOD

2.验收测试用例的数据与存储 我:这些用例是以什么样的方式存储,含有测试数据吗 组员:我们放在Excel表格中,基本都是描述性的 BAD

3.验收测试用例的维度 我:你们是不是在一开始压根就没有考虑过性能的验收 组员:我们开始不觉得性能是个问题,不想最后会成这样 BAD

4.验收测试用例怎样执行 我:你们是怎样执行验收测试用例的,谁来执行的? 组员:当然是测试人员,一般采用手工的方式 BAD

三Sprint实践ATDD

第一个Sprint

讨论并设计完可测的关键测试数据之后,我们都知道了特性的scope。随后我们准备将验收测试进行自动化,但紧接着问题就来了 谁来负责编写验收代码? 用基于关键字的框架还是纯脚本语言?

关于谁来编写验收测试代码 开发:我的开发任务很重,很难有精力还要写验收测试 测试:功能都没有实现,怎么来编写验收测试代码

既然各有难处,且都没有相关经验,我决定作为一名测试开发人员的角色帮助他们实现验收测试代码,以帮助他们认识到可行性和积累相关经验。

用基于关键字的框架还是纯脚本语言 我:验收测试代码后续是交付给你持续测试维护的,你觉得哪种你更擅长? 开发:当然是纯脚本的语言,编写更类似于高级语言

验收测试代码片段

我和开发人员配合得很愉快,在验收测试代码基本完成后,我将所有权传递给了开发人员,每次他有小的代码改动都会运行一下验收测试脚本,如果没有问题就交给测试人员。这做到了开发自测,并且测试效率很高,开发和测试都很happy

一切看起来似乎都很好,但问题在sprint review会议上出现了

当PO看到测试脚本的console output不断打印着输出时,一脸疑惑 你们是怎样设计测试的?测试数据在哪里?这些不断输出的内容是什么?

我们让团队满意了,但没有让PO满意,PO并不关心测试实现

PO喜欢怎样的实现呢 我:你喜欢怎样的测试结果展示呢?Robot Framework那样的方式吗?

第二个Sprint

团队开始自己实现验收测试代码 我们在设计和编写测试代码的时候,注意上下层次分离,即测试需求和实现分离。 在review meeting前,针对PO的需求,我们采用robot framework替换python展现测试需求和数据,同时也保留python的方式,因为开发倾向于此种方式。

PO很满意,同时团队也意识到基于关键字驱动的测试框架更利于展现测试需求,因为它结合关键测试数据、基于自然语言描述,更接近于需求文档。

既然大家都认识到这点,并且已经掌握了上下层分离,下一个sprint似乎就不需要上层的python实现了。

第三个Sprint

我们将关键测试数据填写在Robot Framework的表格中,辅助以下层的python测试实现。

至此,团队已经理解了ATDD存在的意义和价值,以及相关的技能。 Celebrate时刻? 为了让自动化测试用例成为活的需求文档,我们还有很长的路要走!!

微博:@葛锋-Roger 邮件:roger.feng.ge@gmail.com