狠狠撸

狠狠撸Share a Scribd company logo
2012 中国首届软件测试大会

    2012-08-06 上海
测试界的共识

? Driven Quality Upstream
分享内容大纲

? 敏捷精要:分层质量保证 ( 吴穹 )
? ATTD - Acceptance Test Driven Development
  ( 吴穹 )
? RBT – Requirement Based Testing ( IBM
  Richard Bender )
? MBT - Module Based Testing (华为)
? 敏捷测试实践 (微软 Bill Liu )
? 测试看开发,开发看测试( Google 段念)
敏捷精要 :分层质量保证

? 质量是开发人员的神圣责任,而不仅仅是测试人
  员的责任
 – The burden of quality is on the shoulders of those
   writing the code. Quality is never “some tester’s”
   problem.


? 只有将开发和测试完全地混合在一起,不分彼此
  ,才能够真正获得好的质量
 – Quality is achieved by putting development and
   testing into a blender and mixing them until one is
   indistinguishable from the other.
分层质量保证的基本思想
? 为什么要分层质量保证 ?
 – 分层才能保证快速反馈,而不是都等到最后才反馈
 – 恰当的分层测试可以降低总测试成本

 风险 1 风险 2 风险 3 风险 4




           开发测试

           集成测试

           验收测试



                            5
开发者测试的成本曲线
   示
? 启工   缺陷定位成本        打桩成本
 – 作 者测试粒度并非越小越好;
   开发
 – 量 者测试粒度过小,将导致打桩成本急剧提升,迫
   开发
   使开发人员偷工减料(省略打桩,忽略输出检查),
   导致开发者测试名存实亡;
 – 因此,找到正确粒度的单元是开发者测试成功的第一
   步。
                甜点
? 结论
 – 高内聚、低耦合
       大       单元大小         小
 – 由 1-3 个开发人员完成,最好是 1 个
 – 不直接访问网络、数据库、文件系统;
分层测试实践 : Google

? 谷歌采用 70/20/10 原则 : 70% 小, 20%
  中, 10% 大
  – Projects at Google are encouraged to maintain a
    healthy mixture of test sizes among their various test
    suites.
  – Overinvesting in end-to-end automation often ties you
    to a product’s specific design
分享内容大纲

? 敏捷精要:分层质量保证 ( 吴穹 )
? ATTD - Acceptance Test Driven Development
  ( 吴穹 )
? RBT – Requirement Based Testing ( IBM
  Richard Bender )
? MBT - Module Based Testing (华为)
? 敏捷测试实践 (微软 Bill Liu )
? 测试看开发,开发看测试( Google 段念)
Acceptance Test Driven
            Development
? 工具平台
 –   Robot Framework + Selenium2
 –   http://code.google.com/p/robotframework/
 –   https://github.com/robotframework/RIDE/wiki
 –   http://code.google.com/p/robotframework-
     seleniumlibrary/
? 示例
 – quickstart.html
 – report.html
 – log.html
? 关键点
 –   框架和业务分离,业务和数据分离
 –   通过不断抽象,消除冗余
 –   测试用例应尽量简单易读,避免复杂逻辑
 –   建立测试用例分层架构,并坚守
 –   自动化测试用例必须非常健壮,避免误报
? 要敏捷,要持续集成,要自动化不仅仅是测试团
  队的事
 – 干系人需要权衡迭代频率和产物质量
 – 敏捷团队在拥抱变化的同时要控制变化,变化的目标
   是更省事不是找麻烦
 – 开发团队在做新需求的时候要尽可能减少不必要的变
   化,比如 Web 产物可以确定 DOM 里面的 ID 、 Name
   不要变
 – 测试团队可以和开发约定一些完全可以不用变的元素
   ,比如控件的 classname
? 经验积累
 – 即便正常关闭浏览器, IE 可能存在僵死进程, IE 僵尸
   进程对 Web 自动化的稳定性影响较大,比如可能导致
   HTTP 请求带不上 cookie
 – Autoitlibrary 库提供模拟 window 动作的能力
 – 用 JS 框架里面的 AJAX 计数器实现对 AJAX 的验证,
   比如 JQuery 库
分享内容大纲

? 敏捷精要:分层质量保证 ( 吴穹 )
? ATTD - Acceptance Test Driven Development
  ( 吴穹 )
? RBT – Requirement Based Testing ( IBM
  Richard Bender )
? MBT - Module Based Testing (华为)
? 敏捷测试实践 (微软 Bill Liu )
? 测试看开发,开发看测试( Google 段念)
Requirement Based Testing

? Goals
  – Deliver more functions in less time with fewer
    resources and with higher quality
? Key Issue
  – Poor quality requirements
? How to do
  – Test the specifications to ensure that they are correct,
    complete, unambiguous, and logically consistent
  – Design a necessary and sufficient set of tests to
    ensure that the design and code fully implement the
    requirements
? Distribution of Bugs
  –   Requirements 56%
  –   Design 27%
  –   Coding 7%
  –   Other 10%
? US Average Defect Rate
  – 5.9-7 defects per thousand lines of code
  – 15% increased in recent years
? Costs per hour for outages
  – Pay-per-view TV      $150,000
  – Financial services   $6.4 Million
The RBT Process

?   Validate requirements aganist objectives
?   Apply scenarios aganist requirements
?   Perform initial ambiguity review
?   Perform domain expert review
?   Design test case by RBT
?   Test case review with PM/RD/expert
?   Walk test cases
分享内容大纲

? 敏捷精要:分层质量保证 ( 吴穹 )
? ATTD - Acceptance Test Driven Development
  ( 吴穹 )
? RBT – Requirement Based Testing ( IBM
  Richard Bender )
? MBT - Module Based Testing (华为)
? 敏捷测试实践 (微软 Bill Liu )
? 测试看开发,开发看测试( Google 段念)
Module Based Testing

? 华为 07 年开始引入,目前 4 个产物使用, 20 个
  项目,生成测试用例 3W 个,整体效率提升 20%
分享内容大纲

? 敏捷精要:分层质量保证 ( 吴穹 )
? ATTD - Acceptance Test Driven Development
  ( 吴穹 )
? RBT – Requirement Based Testing ( IBM
  Richard Bender )
? MBT - Module Based Testing (华为)
? 敏捷测试实践 (微软 Bill Liu )
? 测试看开发,开发看测试( Google 段念)
敏捷测试实践
? 一个微软测试工程师的敏捷历程
 – 发现不少严重 bug ,得到团队肯定,但没有技术含量
 – 通过技术手段,发现了更多隐藏 bug ,但没有参与感
 – 通过参加需求评审,提前发现了 bug ,有成就感,但
   仍然有遗漏 bug ,而测试工程师在项目前期却比较空
   闲
 – 需求变化频繁,因为一开始用户根本不知道自己的真
   实需求或者讲不清楚,能不能先做一个原型给客户看
 – 调整心态,积极应对变化,尽早测试、不间断测试
 – 迭代、单元测试通过才能 checkin 、自动化 build 、自
   动化测试、自动化报告、自动化发布
 – 提出可测性(自动化)概念 SOCK 原则
分享内容大纲

? 敏捷精要:分层质量保证 ( 吴穹 )
? ATTD - Acceptance Test Driven Development
  ( 吴穹 )
? RBT – Requirement Based Testing ( IBM
  Richard Bender )
? MBT - Module Based Testing (华为)
? 敏捷测试实践 (微软 Bill Liu )
? 测试看开发,开发看测试( Google 段念)
测试看开发 ,开发看测试
– 开发:我改了点东西,帮我测试一下
– 测试:噢,按流程没有正式提测,我们不能测试
– 开发:这个奥运版本,明天一定要上线,今天下午才
  能提测,帮忙安排测试资源
– 测试:噢,按流程一个版本测试需要 3 个工作日,不
  可能明天发布
– 开发:自动化测试能提高效率
– 测试:没有人力
– 开发:我们来帮忙搞起来
– 测试:好啊好啊
– 若干时间后,开发:算了吧,自动化测试就是浮云
核心价值 :帮助开发 、项目团队
      提高效率

? 技术上修炼内功,达到和对应的开发一个 level ,
  这样才便于讨论技术细节
? 测试方法、技术、工具、策略改进提高效率
? 测试流程优化
? 测试不仅仅发现 bug ,最好能定位、修复,直接
  告诉开发修复那一行代码
? 开发和测试共担质量指标
敏捷

? 基础设施保障:自动化 UT 、 Build 、 ST 、发布
? 持续集成
? 质量反馈
测试管理

? 测试绩效考核是指挥棒
? 不要用单纯的 bug 数量,漏测率等作为 KPI 去考
  核测试绩效
? 开发和测试共担产物质量风险
总结

?   心态:开放、合作,开发测试共担质量风险
?   原则:价值导向的测试策略
?   素质:对测试人员的要求越来越高
?   敏捷:如何用最小的代价应对变化

More Related Content

What's hot (17)

TDD (Test-driven development, 測試驅動開發) 基本教學
TDD (Test-driven development, 測試驅動開發) 基本教學TDD (Test-driven development, 測試驅動開發) 基本教學
TDD (Test-driven development, 測試驅動開發) 基本教學
潘 冠辰
?
Duannian agile
Duannian agileDuannian agile
Duannian agile
d0nn9n
?
PHP 单元测试
PHP 单元测试PHP 单元测试
PHP 单元测试
Lan Yanguang
?
迭代试验
迭代试验迭代试验
迭代试验
huiee.louis
?
单元测试介绍
单元测试介绍单元测试介绍
单元测试介绍
Adison wu
?
Scrum gathering 2012 shanghai_ 敏捷测试与质量管理分会场演讲话题:快速可持续的高质量发布(路宁)
Scrum gathering 2012 shanghai_ 敏捷测试与质量管理分会场演讲话题:快速可持续的高质量发布(路宁)Scrum gathering 2012 shanghai_ 敏捷测试与质量管理分会场演讲话题:快速可持续的高质量发布(路宁)
Scrum gathering 2012 shanghai_ 敏捷测试与质量管理分会场演讲话题:快速可持续的高质量发布(路宁)
jalamar
?
移动开发敏捷实践
移动开发敏捷实践移动开发敏捷实践
移动开发敏捷实践
Yuan Mai
?
图片管理闯补惫补迁移项目测试总结
图片管理闯补惫补迁移项目测试总结图片管理闯补惫补迁移项目测试总结
图片管理闯补惫补迁移项目测试总结
Ryan YU
?
专案进度追踪
专案进度追踪专案进度追踪
专案进度追踪
黑狗 大
?
厂别尘辫沙龙办颈肠办辞蹿蹿主题讨论
厂别尘辫沙龙办颈肠办辞蹿蹿主题讨论厂别尘辫沙龙办颈肠办辞蹿蹿主题讨论
厂别尘辫沙龙办颈肠办辞蹿蹿主题讨论
SEMP
?
持续集成之代码度量模型与应用
持续集成之代码度量模型与应用持续集成之代码度量模型与应用
持续集成之代码度量模型与应用
drewz lin
?
service-oriented agile team-Q con-beijing2012
service-oriented agile team-Q con-beijing2012service-oriented agile team-Q con-beijing2012
service-oriented agile team-Q con-beijing2012
Qiao Liang
?
2012/05/23 AU Talk - 讓事情發生
2012/05/23 AU Talk - 讓事情發生2012/05/23 AU Talk - 讓事情發生
2012/05/23 AU Talk - 讓事情發生
appuniverz
?
厂肠谤耻尘深入浅出
厂肠谤耻尘深入浅出厂肠谤耻尘深入浅出
厂肠谤耻尘深入浅出
Taien Wang
?
The way to continuous delivery
The way to continuous deliveryThe way to continuous delivery
The way to continuous delivery
Qiao Liang
?
Frank‘s Learning Summary - Agile testing
Frank‘s Learning Summary - Agile testingFrank‘s Learning Summary - Agile testing
Frank‘s Learning Summary - Agile testing
Frank Lee
?
TDD (Test-driven development, 測試驅動開發) 基本教學
TDD (Test-driven development, 測試驅動開發) 基本教學TDD (Test-driven development, 測試驅動開發) 基本教學
TDD (Test-driven development, 測試驅動開發) 基本教學
潘 冠辰
?
Duannian agile
Duannian agileDuannian agile
Duannian agile
d0nn9n
?
单元测试介绍
单元测试介绍单元测试介绍
单元测试介绍
Adison wu
?
Scrum gathering 2012 shanghai_ 敏捷测试与质量管理分会场演讲话题:快速可持续的高质量发布(路宁)
Scrum gathering 2012 shanghai_ 敏捷测试与质量管理分会场演讲话题:快速可持续的高质量发布(路宁)Scrum gathering 2012 shanghai_ 敏捷测试与质量管理分会场演讲话题:快速可持续的高质量发布(路宁)
Scrum gathering 2012 shanghai_ 敏捷测试与质量管理分会场演讲话题:快速可持续的高质量发布(路宁)
jalamar
?
移动开发敏捷实践
移动开发敏捷实践移动开发敏捷实践
移动开发敏捷实践
Yuan Mai
?
图片管理闯补惫补迁移项目测试总结
图片管理闯补惫补迁移项目测试总结图片管理闯补惫补迁移项目测试总结
图片管理闯补惫补迁移项目测试总结
Ryan YU
?
专案进度追踪
专案进度追踪专案进度追踪
专案进度追踪
黑狗 大
?
厂别尘辫沙龙办颈肠办辞蹿蹿主题讨论
厂别尘辫沙龙办颈肠办辞蹿蹿主题讨论厂别尘辫沙龙办颈肠办辞蹿蹿主题讨论
厂别尘辫沙龙办颈肠办辞蹿蹿主题讨论
SEMP
?
持续集成之代码度量模型与应用
持续集成之代码度量模型与应用持续集成之代码度量模型与应用
持续集成之代码度量模型与应用
drewz lin
?
service-oriented agile team-Q con-beijing2012
service-oriented agile team-Q con-beijing2012service-oriented agile team-Q con-beijing2012
service-oriented agile team-Q con-beijing2012
Qiao Liang
?
2012/05/23 AU Talk - 讓事情發生
2012/05/23 AU Talk - 讓事情發生2012/05/23 AU Talk - 讓事情發生
2012/05/23 AU Talk - 讓事情發生
appuniverz
?
厂肠谤耻尘深入浅出
厂肠谤耻尘深入浅出厂肠谤耻尘深入浅出
厂肠谤耻尘深入浅出
Taien Wang
?
The way to continuous delivery
The way to continuous deliveryThe way to continuous delivery
The way to continuous delivery
Qiao Liang
?
Frank‘s Learning Summary - Agile testing
Frank‘s Learning Summary - Agile testingFrank‘s Learning Summary - Agile testing
Frank‘s Learning Summary - Agile testing
Frank Lee
?

Viewers also liked (17)

65天测试工程师成功之路指导手册
65天测试工程师成功之路指导手册65天测试工程师成功之路指导手册
65天测试工程师成功之路指导手册
telab
?
SariaHuertas PVFCU Prototype
SariaHuertas PVFCU PrototypeSariaHuertas PVFCU Prototype
SariaHuertas PVFCU Prototype
lsariahuertas
?
Gramatica !
Gramatica !Gramatica !
Gramatica !
Albert Abraham Calderon Morales
?
Application Performance Monitoring with boom
Application Performance Monitoring with boomApplication Performance Monitoring with boom
Application Performance Monitoring with boom
netage-solutions
?
Бизнес кейсы участников тренинга путь бабочки
Бизнес кейсы участников тренинга путь бабочкиБизнес кейсы участников тренинга путь бабочки
Бизнес кейсы участников тренинга путь бабочки
Vladislav Podoprigora
?
Selfconfiguration OF 4G NETWORK TERMINALS
Selfconfiguration OF 4G NETWORK TERMINALSSelfconfiguration OF 4G NETWORK TERMINALS
Selfconfiguration OF 4G NETWORK TERMINALS
Baptist Johny
?
мастер класс ?7 топ советов для успеха руководителей и предпринимателей на 20...
мастер класс ?7 топ советов для успеха руководителей и предпринимателей на 20...мастер класс ?7 топ советов для успеха руководителей и предпринимателей на 20...
мастер класс ?7 топ советов для успеха руководителей и предпринимателей на 20...
Vladislav Podoprigora
?
консалтинговая группа система успеха
консалтинговая группа система успехаконсалтинговая группа система успеха
консалтинговая группа система успеха
Vladislav Podoprigora
?
Pesantren Husnul Khotimah
Pesantren Husnul KhotimahPesantren Husnul Khotimah
Pesantren Husnul Khotimah
Boy Gitaris
?
Impression company profile
Impression company profile Impression company profile
Impression company profile
Panuras Impression
?
Taller vivencial y experimental de Matemática activaTaller vivencial y experimental de Matemática activa
Taller vivencial y experimental de Matemática activa
Marcel Boesch
?
Efectos de la altura, obesidad y ejercicioEfectos de la altura, obesidad y ejercicio
Efectos de la altura, obesidad y ejercicio
Albert Abraham Calderon Morales
?
UP Training Company profile update
UP Training Company profile updateUP Training Company profile update
UP Training Company profile update
Panuras Impression
?
Educar para Ser y Convivir: Experiencias y PropuestasEducar para Ser y Convivir: Experiencias y Propuestas
Educar para Ser y Convivir: Experiencias y Propuestas
Marcel Boesch
?
Sangre 1Sangre 1
Sangre 1
Albert Abraham Calderon Morales
?
65天测试工程师成功之路指导手册
65天测试工程师成功之路指导手册65天测试工程师成功之路指导手册
65天测试工程师成功之路指导手册
telab
?
SariaHuertas PVFCU Prototype
SariaHuertas PVFCU PrototypeSariaHuertas PVFCU Prototype
SariaHuertas PVFCU Prototype
lsariahuertas
?
Application Performance Monitoring with boom
Application Performance Monitoring with boomApplication Performance Monitoring with boom
Application Performance Monitoring with boom
netage-solutions
?
Бизнес кейсы участников тренинга путь бабочки
Бизнес кейсы участников тренинга путь бабочкиБизнес кейсы участников тренинга путь бабочки
Бизнес кейсы участников тренинга путь бабочки
Vladislav Podoprigora
?
Selfconfiguration OF 4G NETWORK TERMINALS
Selfconfiguration OF 4G NETWORK TERMINALSSelfconfiguration OF 4G NETWORK TERMINALS
Selfconfiguration OF 4G NETWORK TERMINALS
Baptist Johny
?
мастер класс ?7 топ советов для успеха руководителей и предпринимателей на 20...
мастер класс ?7 топ советов для успеха руководителей и предпринимателей на 20...мастер класс ?7 топ советов для успеха руководителей и предпринимателей на 20...
мастер класс ?7 топ советов для успеха руководителей и предпринимателей на 20...
Vladislav Podoprigora
?
консалтинговая группа система успеха
консалтинговая группа система успехаконсалтинговая группа система успеха
консалтинговая группа система успеха
Vladislav Podoprigora
?
Pesantren Husnul Khotimah
Pesantren Husnul KhotimahPesantren Husnul Khotimah
Pesantren Husnul Khotimah
Boy Gitaris
?
Taller vivencial y experimental de Matemática activaTaller vivencial y experimental de Matemática activa
Taller vivencial y experimental de Matemática activa
Marcel Boesch
?
Efectos de la altura, obesidad y ejercicioEfectos de la altura, obesidad y ejercicio
Efectos de la altura, obesidad y ejercicio
Albert Abraham Calderon Morales
?
UP Training Company profile update
UP Training Company profile updateUP Training Company profile update
UP Training Company profile update
Panuras Impression
?
Educar para Ser y Convivir: Experiencias y PropuestasEducar para Ser y Convivir: Experiencias y Propuestas
Educar para Ser y Convivir: Experiencias y Propuestas
Marcel Boesch
?

Similar to 2012 China 软件测试大会 (20)

Agile和cmmi 朋友还是敌人
Agile和cmmi 朋友还是敌人Agile和cmmi 朋友还是敌人
Agile和cmmi 朋友还是敌人
SEMP
?
狈产的敏捷
狈产的敏捷狈产的敏捷
狈产的敏捷
Lanhui Ou
?
Angular Testing for Book Club Online of Angular Taiwan
Angular Testing for Book Club Online of Angular TaiwanAngular Testing for Book Club Online of Angular Taiwan
Angular Testing for Book Club Online of Angular Taiwan
志龍 陳
?
狈产的敏捷
狈产的敏捷狈产的敏捷
狈产的敏捷
oulan
?
敏捷自动化测试中的教训 45min 中文
敏捷自动化测试中的教训 45min   中文敏捷自动化测试中的教训 45min   中文
敏捷自动化测试中的教训 45min 中文
Shuyong Lin
?
现代化敏捷测试工作者
现代化敏捷测试工作者现代化敏捷测试工作者
现代化敏捷测试工作者
Yi Xu
?
Simple Rule Agile China 2009
Simple Rule   Agile China 2009Simple Rule   Agile China 2009
Simple Rule Agile China 2009
JohnnLi
?
敏捷测试中的工具实现
敏捷测试中的工具实现敏捷测试中的工具实现
敏捷测试中的工具实现
drewz lin
?
Lean startup 精益创业 新创公司的成长思维
Lean startup 精益创业 新创公司的成长思维Lean startup 精益创业 新创公司的成长思维
Lean startup 精益创业 新创公司的成长思维
Jie Bao
?
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)
Rick Hwang
?
Continuous integration
Continuous integrationContinuous integration
Continuous integration
netdbncku
?
持續交付高品質程式碼 公開版
持續交付高品質程式碼 公開版持續交付高品質程式碼 公開版
持續交付高品質程式碼 公開版
Kirk Chen
?
Foundation of software development 1
Foundation of software development 1Foundation of software development 1
Foundation of software development 1
netdbncku
?
Scrum gathering 2014sharing v4
Scrum gathering 2014sharing v4Scrum gathering 2014sharing v4
Scrum gathering 2014sharing v4
Jen-Chieh Ko
?
unit test & performance optimization
unit test & performance optimizationunit test & performance optimization
unit test & performance optimization
Sean Liu
?
From Coders to Builders of the Intelligent World
From Coders to Builders of the Intelligent WorldFrom Coders to Builders of the Intelligent World
From Coders to Builders of the Intelligent World
Huawei Technologies
?
打造面向服务的敏捷团队 Q con-beijing2012
打造面向服务的敏捷团队 Q con-beijing2012打造面向服务的敏捷团队 Q con-beijing2012
打造面向服务的敏捷团队 Q con-beijing2012
Qiao Liang
?
美团前端架构介绍
美团前端架构介绍美团前端架构介绍
美团前端架构介绍
pan weizeng
?
银弹!银弹! 徐毅@Italk salon 2011
银弹!银弹! 徐毅@Italk salon 2011银弹!银弹! 徐毅@Italk salon 2011
银弹!银弹! 徐毅@Italk salon 2011
Yi Xu
?
QCon - Engineering Productivity in Large Scale Development
QCon - Engineering Productivity in Large Scale DevelopmentQCon - Engineering Productivity in Large Scale Development
QCon - Engineering Productivity in Large Scale Development
Vincent Xia
?
Agile和cmmi 朋友还是敌人
Agile和cmmi 朋友还是敌人Agile和cmmi 朋友还是敌人
Agile和cmmi 朋友还是敌人
SEMP
?
狈产的敏捷
狈产的敏捷狈产的敏捷
狈产的敏捷
Lanhui Ou
?
Angular Testing for Book Club Online of Angular Taiwan
Angular Testing for Book Club Online of Angular TaiwanAngular Testing for Book Club Online of Angular Taiwan
Angular Testing for Book Club Online of Angular Taiwan
志龍 陳
?
狈产的敏捷
狈产的敏捷狈产的敏捷
狈产的敏捷
oulan
?
敏捷自动化测试中的教训 45min 中文
敏捷自动化测试中的教训 45min   中文敏捷自动化测试中的教训 45min   中文
敏捷自动化测试中的教训 45min 中文
Shuyong Lin
?
现代化敏捷测试工作者
现代化敏捷测试工作者现代化敏捷测试工作者
现代化敏捷测试工作者
Yi Xu
?
Simple Rule Agile China 2009
Simple Rule   Agile China 2009Simple Rule   Agile China 2009
Simple Rule Agile China 2009
JohnnLi
?
敏捷测试中的工具实现
敏捷测试中的工具实现敏捷测试中的工具实现
敏捷测试中的工具实现
drewz lin
?
Lean startup 精益创业 新创公司的成长思维
Lean startup 精益创业 新创公司的成长思维Lean startup 精益创业 新创公司的成长思维
Lean startup 精益创业 新创公司的成长思维
Jie Bao
?
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)
Rick Hwang
?
Continuous integration
Continuous integrationContinuous integration
Continuous integration
netdbncku
?
持續交付高品質程式碼 公開版
持續交付高品質程式碼 公開版持續交付高品質程式碼 公開版
持續交付高品質程式碼 公開版
Kirk Chen
?
Foundation of software development 1
Foundation of software development 1Foundation of software development 1
Foundation of software development 1
netdbncku
?
Scrum gathering 2014sharing v4
Scrum gathering 2014sharing v4Scrum gathering 2014sharing v4
Scrum gathering 2014sharing v4
Jen-Chieh Ko
?
unit test & performance optimization
unit test & performance optimizationunit test & performance optimization
unit test & performance optimization
Sean Liu
?
From Coders to Builders of the Intelligent World
From Coders to Builders of the Intelligent WorldFrom Coders to Builders of the Intelligent World
From Coders to Builders of the Intelligent World
Huawei Technologies
?
打造面向服务的敏捷团队 Q con-beijing2012
打造面向服务的敏捷团队 Q con-beijing2012打造面向服务的敏捷团队 Q con-beijing2012
打造面向服务的敏捷团队 Q con-beijing2012
Qiao Liang
?
美团前端架构介绍
美团前端架构介绍美团前端架构介绍
美团前端架构介绍
pan weizeng
?
银弹!银弹! 徐毅@Italk salon 2011
银弹!银弹! 徐毅@Italk salon 2011银弹!银弹! 徐毅@Italk salon 2011
银弹!银弹! 徐毅@Italk salon 2011
Yi Xu
?
QCon - Engineering Productivity in Large Scale Development
QCon - Engineering Productivity in Large Scale DevelopmentQCon - Engineering Productivity in Large Scale Development
QCon - Engineering Productivity in Large Scale Development
Vincent Xia
?

2012 China 软件测试大会

  • 3. 分享内容大纲 ? 敏捷精要:分层质量保证 ( 吴穹 ) ? ATTD - Acceptance Test Driven Development ( 吴穹 ) ? RBT – Requirement Based Testing ( IBM Richard Bender ) ? MBT - Module Based Testing (华为) ? 敏捷测试实践 (微软 Bill Liu ) ? 测试看开发,开发看测试( Google 段念)
  • 4. 敏捷精要 :分层质量保证 ? 质量是开发人员的神圣责任,而不仅仅是测试人 员的责任 – The burden of quality is on the shoulders of those writing the code. Quality is never “some tester’s” problem. ? 只有将开发和测试完全地混合在一起,不分彼此 ,才能够真正获得好的质量 – Quality is achieved by putting development and testing into a blender and mixing them until one is indistinguishable from the other.
  • 5. 分层质量保证的基本思想 ? 为什么要分层质量保证 ? – 分层才能保证快速反馈,而不是都等到最后才反馈 – 恰当的分层测试可以降低总测试成本 风险 1 风险 2 风险 3 风险 4 开发测试 集成测试 验收测试 5
  • 6. 开发者测试的成本曲线 示 ? 启工 缺陷定位成本 打桩成本 – 作 者测试粒度并非越小越好; 开发 – 量 者测试粒度过小,将导致打桩成本急剧提升,迫 开发 使开发人员偷工减料(省略打桩,忽略输出检查), 导致开发者测试名存实亡; – 因此,找到正确粒度的单元是开发者测试成功的第一 步。 甜点 ? 结论 – 高内聚、低耦合 大 单元大小 小 – 由 1-3 个开发人员完成,最好是 1 个 – 不直接访问网络、数据库、文件系统;
  • 7. 分层测试实践 : Google ? 谷歌采用 70/20/10 原则 : 70% 小, 20% 中, 10% 大 – Projects at Google are encouraged to maintain a healthy mixture of test sizes among their various test suites. – Overinvesting in end-to-end automation often ties you to a product’s specific design
  • 8. 分享内容大纲 ? 敏捷精要:分层质量保证 ( 吴穹 ) ? ATTD - Acceptance Test Driven Development ( 吴穹 ) ? RBT – Requirement Based Testing ( IBM Richard Bender ) ? MBT - Module Based Testing (华为) ? 敏捷测试实践 (微软 Bill Liu ) ? 测试看开发,开发看测试( Google 段念)
  • 9. Acceptance Test Driven Development ? 工具平台 – Robot Framework + Selenium2 – http://code.google.com/p/robotframework/ – https://github.com/robotframework/RIDE/wiki – http://code.google.com/p/robotframework- seleniumlibrary/ ? 示例 – quickstart.html – report.html – log.html
  • 10. ? 关键点 – 框架和业务分离,业务和数据分离 – 通过不断抽象,消除冗余 – 测试用例应尽量简单易读,避免复杂逻辑 – 建立测试用例分层架构,并坚守 – 自动化测试用例必须非常健壮,避免误报
  • 11. ? 要敏捷,要持续集成,要自动化不仅仅是测试团 队的事 – 干系人需要权衡迭代频率和产物质量 – 敏捷团队在拥抱变化的同时要控制变化,变化的目标 是更省事不是找麻烦 – 开发团队在做新需求的时候要尽可能减少不必要的变 化,比如 Web 产物可以确定 DOM 里面的 ID 、 Name 不要变 – 测试团队可以和开发约定一些完全可以不用变的元素 ,比如控件的 classname
  • 12. ? 经验积累 – 即便正常关闭浏览器, IE 可能存在僵死进程, IE 僵尸 进程对 Web 自动化的稳定性影响较大,比如可能导致 HTTP 请求带不上 cookie – Autoitlibrary 库提供模拟 window 动作的能力 – 用 JS 框架里面的 AJAX 计数器实现对 AJAX 的验证, 比如 JQuery 库
  • 13. 分享内容大纲 ? 敏捷精要:分层质量保证 ( 吴穹 ) ? ATTD - Acceptance Test Driven Development ( 吴穹 ) ? RBT – Requirement Based Testing ( IBM Richard Bender ) ? MBT - Module Based Testing (华为) ? 敏捷测试实践 (微软 Bill Liu ) ? 测试看开发,开发看测试( Google 段念)
  • 14. Requirement Based Testing ? Goals – Deliver more functions in less time with fewer resources and with higher quality ? Key Issue – Poor quality requirements ? How to do – Test the specifications to ensure that they are correct, complete, unambiguous, and logically consistent – Design a necessary and sufficient set of tests to ensure that the design and code fully implement the requirements
  • 15. ? Distribution of Bugs – Requirements 56% – Design 27% – Coding 7% – Other 10% ? US Average Defect Rate – 5.9-7 defects per thousand lines of code – 15% increased in recent years ? Costs per hour for outages – Pay-per-view TV $150,000 – Financial services $6.4 Million
  • 16. The RBT Process ? Validate requirements aganist objectives ? Apply scenarios aganist requirements ? Perform initial ambiguity review ? Perform domain expert review ? Design test case by RBT ? Test case review with PM/RD/expert ? Walk test cases
  • 17. 分享内容大纲 ? 敏捷精要:分层质量保证 ( 吴穹 ) ? ATTD - Acceptance Test Driven Development ( 吴穹 ) ? RBT – Requirement Based Testing ( IBM Richard Bender ) ? MBT - Module Based Testing (华为) ? 敏捷测试实践 (微软 Bill Liu ) ? 测试看开发,开发看测试( Google 段念)
  • 18. Module Based Testing ? 华为 07 年开始引入,目前 4 个产物使用, 20 个 项目,生成测试用例 3W 个,整体效率提升 20%
  • 19. 分享内容大纲 ? 敏捷精要:分层质量保证 ( 吴穹 ) ? ATTD - Acceptance Test Driven Development ( 吴穹 ) ? RBT – Requirement Based Testing ( IBM Richard Bender ) ? MBT - Module Based Testing (华为) ? 敏捷测试实践 (微软 Bill Liu ) ? 测试看开发,开发看测试( Google 段念)
  • 20. 敏捷测试实践 ? 一个微软测试工程师的敏捷历程 – 发现不少严重 bug ,得到团队肯定,但没有技术含量 – 通过技术手段,发现了更多隐藏 bug ,但没有参与感 – 通过参加需求评审,提前发现了 bug ,有成就感,但 仍然有遗漏 bug ,而测试工程师在项目前期却比较空 闲 – 需求变化频繁,因为一开始用户根本不知道自己的真 实需求或者讲不清楚,能不能先做一个原型给客户看 – 调整心态,积极应对变化,尽早测试、不间断测试 – 迭代、单元测试通过才能 checkin 、自动化 build 、自 动化测试、自动化报告、自动化发布 – 提出可测性(自动化)概念 SOCK 原则
  • 21. 分享内容大纲 ? 敏捷精要:分层质量保证 ( 吴穹 ) ? ATTD - Acceptance Test Driven Development ( 吴穹 ) ? RBT – Requirement Based Testing ( IBM Richard Bender ) ? MBT - Module Based Testing (华为) ? 敏捷测试实践 (微软 Bill Liu ) ? 测试看开发,开发看测试( Google 段念)
  • 22. 测试看开发 ,开发看测试 – 开发:我改了点东西,帮我测试一下 – 测试:噢,按流程没有正式提测,我们不能测试 – 开发:这个奥运版本,明天一定要上线,今天下午才 能提测,帮忙安排测试资源 – 测试:噢,按流程一个版本测试需要 3 个工作日,不 可能明天发布 – 开发:自动化测试能提高效率 – 测试:没有人力 – 开发:我们来帮忙搞起来 – 测试:好啊好啊 – 若干时间后,开发:算了吧,自动化测试就是浮云
  • 23. 核心价值 :帮助开发 、项目团队 提高效率 ? 技术上修炼内功,达到和对应的开发一个 level , 这样才便于讨论技术细节 ? 测试方法、技术、工具、策略改进提高效率 ? 测试流程优化 ? 测试不仅仅发现 bug ,最好能定位、修复,直接 告诉开发修复那一行代码 ? 开发和测试共担质量指标
  • 24. 敏捷 ? 基础设施保障:自动化 UT 、 Build 、 ST 、发布 ? 持续集成 ? 质量反馈
  • 25. 测试管理 ? 测试绩效考核是指挥棒 ? 不要用单纯的 bug 数量,漏测率等作为 KPI 去考 核测试绩效 ? 开发和测试共担产物质量风险
  • 26. 总结 ? 心态:开放、合作,开发测试共担质量风险 ? 原则:价值导向的测试策略 ? 素质:对测试人员的要求越来越高 ? 敏捷:如何用最小的代价应对变化

Editor's Notes

  • #11: 自动化测试用例必须非常健壮,避免误报(脚本验收标准:连续跑 10 次, 100% 通过) Yun 2012-08-05 上海:结合中心目前的情况, yunma 认为自动化测试脚本的质量和产物质量同等重要,自动化脚本开发完成后必须组织 code review ,验收标准可以参考(脚本验收标准:连续跑 10 次, 100% 通过)。在往深的讲,就涉及到测试框架是否好用、易用,脚本开发人员能力提升
  • #12: 要敏捷,要持续集成,要自动化不仅仅是测试团队的事 Yunma 2012-08-05 上海:这里的思路就是想方设法使得自动化测试脚本维护工作最小化地应对需求变化(因为敏捷就是要拥抱变化)
  • #15: 分析发现 60% 以上的 Bug 都是由于需求相关 需求错误 需求不明确 提高质量的前提就是确保需求的质量
  • #17: 测试人员就是用户,因此测试人员参加需求评审可以确保需求满足用户期望 测试思维能够帮助需求定义考虑到各种场景,从而验证需求定义的完整性和准确性 需求测试属于静态黑盒测试,分为两个层面: high level 从行业同类软件、用户习惯、标准、规范的角度考虑 detailed 从一些关键词入手,确保需求无二义性 比如 NASA 为了测试太空使用的圆珠笔花费 $1Million ,而俄罗斯人用铅笔就解决这个问题
  • #21: 提出可测性(自动化)概念 SOCK 原则 比如提供 API 查询模块状态、输出结果到文件、约定 classname 、 ID 等
  • #23: 本质是开发认为测试太慢了,开发希望看到改了一点东西马上看到测试结果,作为测试,如何能做到这一点? 快速发现、定位和修复问题在 Web 类产物中显得尤为重要 站在不同的角度去思考问题
  • #24: 以价值为核心的测试策略,测试实践没有边际,没有最好,怎样做最有价值就怎样做