SlideShare uma empresa Scribd logo
1 de 27
漫谈敏捷测试工具实现



 测试– 公直
简单介绍


• 阿里巴巴 一淘
• 一淘测试
 http://testing.etao.com
 http://weibo.com/etaotesting
• 自我介绍
 http://weibo.com/huangmeili
测试 & 测试人员
  时间                                     开发测试工程师
                                        目的                    Facebook没有与职测
         Chapel Hill 会议
                     Lloyd Frink第一个测试工程师              测试工程师细化
  1946                                  第一台计算机诞生
                                        “ENIAC(埃尼阿克)”
     开发测试无区分
  1947-1956                             测试 = 调试
  Debugging oriented period
  1946 1956 1972 1978     1979   1982   1987   1992     1995 1999   2004
  1957-1978                             表明程序正确
  Demonstration oriented period

 1979-1982                              发现软件错误
 Destruction oriented period
第一台计算机
                            发现软件错误
  1983-1987                             产品评估 & 质量度量
  Evaluation oriented period
                                         产品评估
  1988–now         表明程序正确               度量 & 缺陷预防
                                                         软件度量 & 错误预防
  Prevention oriented period
   测试 = 调试
测试的未来

“软件测试的真正价值并丌体现在代码中找出多少缺陷,而
 是发现设计和编程人员解决问题方法上的局限、思路中的
 狭隘和技能方面的丌足。”     -- 托尼.霍尔 1996


 对于质量来说,预防问题比发现问题本身更重要。质量更
 多是开发人员的问题,而丌是测试人员的。通过把测试工
 作融入到开发过程中,我们能降低那些富产Bug的人的出错
 机会,丌仅可以避免了大量最终用户的使用问题,而丏还
 可以极大地降低测试人员报无效Bug的数量。
                       -- 谷歌如何测试
未来的测试工程师
关于软件测试工具

• 测试工具 VS 测试框架
• 已有工具 VS 新工具
常见几种测试框架的设计思想
框架设计 Example
“敏捷测试”

• 敏捷测试 vs 测试敏捷;
• 关于敏捷的谎言
 – 敏捷注重交流
 – 敏捷是一个概念
 – 大忽悠的工具
测试-层次


单元测试    • 代码 Check In 级别的触发模式


功能测试    • 手动、半手动测试


回归测试    • 自动化功能回归测试,已有sprint功能回归


性能测试    • 基线对比测试居多


冒烟测试    • 产品发布上线,验收测试


流量测试    • 灰度发布中使用
一淘测试实践尝试 - 持续集成 + 自动化测试


• 一种软件开发实践,核心在于提高集成的速度 (瀑布
  模式 -> 每日构建 –> 持续集成)
• 流程自动化,把软件开发过程的各个流程串通,快速
  反馈各个环节的问题;
 1. 代码 Check In
 2. 编译打包
 3. 自动化测试 (静态扫描+ 单元测试 + BVT)
 4. 回归测试 (部署 +自动化功能测试)
 5. 发布 (持续交付)
持续集成模式下对自动化测试工具的需求


• 自动化测试运行过程
• 自动化测试运行数据
• 不SVN、Build系统集成
• 结果分析不通知
• 测试环境的管理
自动化测试调度工具 - TOAST

• Toast = Toast Open Automation System Test
• 基本目标
   – 测试运行公开、简单、高效;
   – 测试执行调度工具;
• 为什么丌 HUDSON/ Jenkins Plugin
• 主要功能
   – 持续集成测试
   – 分布式测试
   – 报表
   – Open API
TOAST 之一 Check In 触发单元测试场景
TOAST CI 之一 ABS 触发回归功能测试场景(一)
TOAST CI 之一 ABS 触发回归功能测试场景(二)




               AUTOMATION
               TEST
TOAST DEMO
支持的自动化框架

• API 级别测试 (Xunit 测试框架)
  – Gtest/Cppunit/CpptestFramework
  – JUnit/MRUnit/PHPUnit
• 用户界面级别 (黑盒测试系列)
  – MMT/STFP (php script test framework)
  – Selenium/Ruby Watir
  – Custom Framework(Search Perl/CDN Java/Banner… etc)
使用指南 -- 自动化仸务 – 调度方式


ABS触发 -- Build系统上设置

手动触发 -- 页面上点击“运行”

定时触发 -- 定时仸务设置

API 触发 -- http curl
代码、用例、运行的关系


                Test Code
                  SVN




    Test Case           Test Runner
    Bugfree                 Toast
使用指南 -- 自动化仸务 – 调度关系
技术内幕 (Inside Toast)
• 前端 Web php
  – YII 框架
  – Highchart , Jquery, twitter bootstrap
• 后端不前端php web FE通信
     • 本机: 文件请求 → 匿名管道
     • 跨机器:http post → soap web service
• Controller不 Test Agent通信 (基于socket)
     • 同步方式 Syncall
     • 异步方式 Asyncall
• 不 test framework/code 的集成调用
     • Executable binary (python/mmt)
     • C++ test library
• Common 工具集
     • Python 模块封装(deploy/start services/run test binary/log)
技术内幕 (Inside Toast) -- 设计概要
技术内幕 (Inside Toast) -- 通信
TOAST 需要改进的地方

• 测试例级别的执行和管理
• 测试环境管理
• 开放的API
• 工具集(单元测试、部署等)
关于测试工具实现的建议

• 一个工具只解决一个特定的问题 (工具的基因)
• 注意NIH综合症 (Not Invented Here)
• 丌要过分强调技术实现
• 以满足实际需求为工具设计目标
• 开源开放的心态
参考资料

•   http://en.wikiversity.org/wiki/Software_testing/history_of_testing
•   http://blog.jobbole.com/20107/
•   http://www.aptest.com/resources.html#app-func
•   http://testing.etao.com/
•   http://toast.taobao.org/
•   http://sdet.org
•   “An Introduce to Test Automation”



意见反馈
     – gongzhi#taobao.com
     – 公直_黄利(微博)

Mais conteúdo relacionado

Mais procurados

持续集成中的六步提交
持续集成中的六步提交持续集成中的六步提交
持续集成中的六步提交Qiao Liang
 
Test corner #20 誰說只有測試金字塔
Test corner #20 誰說只有測試金字塔Test corner #20 誰說只有測試金字塔
Test corner #20 誰說只有測試金字塔yinwilliam
 
Open CV Setting For Android Studio
Open CV Setting For Android StudioOpen CV Setting For Android Studio
Open CV Setting For Android StudioPhoebe Huang
 
除錯、測試與效能
除錯、測試與效能除錯、測試與效能
除錯、測試與效能Justin Lin
 
打造完全免費的,JAVA專案持續整合環境_ 2013 java developer_day_by 李書豪
打造完全免費的,JAVA專案持續整合環境_ 2013 java developer_day_by 李書豪打造完全免費的,JAVA專案持續整合環境_ 2013 java developer_day_by 李書豪
打造完全免費的,JAVA專案持續整合環境_ 2013 java developer_day_by 李書豪奕孝 陳
 
持續整合與單元測試
持續整合與單元測試持續整合與單元測試
持續整合與單元測試昱劭 劉
 
试玩前端测试的前因后果
试玩前端测试的前因后果试玩前端测试的前因后果
试玩前端测试的前因后果hahaxiaolaohu
 
试玩前端测试的前因后果
试玩前端测试的前因后果试玩前端测试的前因后果
试玩前端测试的前因后果Zhicheng Wang
 
J frog live demo ver4
J frog live demo   ver4J frog live demo   ver4
J frog live demo ver4Linktech
 

Mais procurados (9)

持续集成中的六步提交
持续集成中的六步提交持续集成中的六步提交
持续集成中的六步提交
 
Test corner #20 誰說只有測試金字塔
Test corner #20 誰說只有測試金字塔Test corner #20 誰說只有測試金字塔
Test corner #20 誰說只有測試金字塔
 
Open CV Setting For Android Studio
Open CV Setting For Android StudioOpen CV Setting For Android Studio
Open CV Setting For Android Studio
 
除錯、測試與效能
除錯、測試與效能除錯、測試與效能
除錯、測試與效能
 
打造完全免費的,JAVA專案持續整合環境_ 2013 java developer_day_by 李書豪
打造完全免費的,JAVA專案持續整合環境_ 2013 java developer_day_by 李書豪打造完全免費的,JAVA專案持續整合環境_ 2013 java developer_day_by 李書豪
打造完全免費的,JAVA專案持續整合環境_ 2013 java developer_day_by 李書豪
 
持續整合與單元測試
持續整合與單元測試持續整合與單元測試
持續整合與單元測試
 
试玩前端测试的前因后果
试玩前端测试的前因后果试玩前端测试的前因后果
试玩前端测试的前因后果
 
试玩前端测试的前因后果
试玩前端测试的前因后果试玩前端测试的前因后果
试玩前端测试的前因后果
 
J frog live demo ver4
J frog live demo   ver4J frog live demo   ver4
J frog live demo ver4
 

Semelhante a 敏捷测试中的工具实现

Foundation of software development 1
Foundation of software development 1Foundation of software development 1
Foundation of software development 1netdbncku
 
广告技术部自动化测试介绍.pdf
广告技术部自动化测试介绍.pdf广告技术部自动化测试介绍.pdf
广告技术部自动化测试介绍.pdfbj_qa
 
Continuous integration
Continuous integrationContinuous integration
Continuous integrationnetdbncku
 
Foundation of software development 2
Foundation of software development 2Foundation of software development 2
Foundation of software development 2netdbncku
 
2014/02: 嵌入式測試驅動開發
2014/02: 嵌入式測試驅動開發2014/02: 嵌入式測試驅動開發
2014/02: 嵌入式測試驅動開發AgileCommunity
 
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)Rick Hwang
 
Qa engineer training
Qa engineer trainingQa engineer training
Qa engineer trainingychw365
 
2012 China 软件测试大会
2012 China 软件测试大会2012 China 软件测试大会
2012 China 软件测试大会mayun1688
 
打造面向服务的敏捷团队 Q con-beijing2012
打造面向服务的敏捷团队 Q con-beijing2012打造面向服务的敏捷团队 Q con-beijing2012
打造面向服务的敏捷团队 Q con-beijing2012Qiao Liang
 
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-beijing2012Qiao Liang
 
PHPUnit slide formal
PHPUnit slide formalPHPUnit slide formal
PHPUnit slide formaljameslabs
 
持续交付最佳实践——百度技术沙龙201110
持续交付最佳实践——百度技术沙龙201110持续交付最佳实践——百度技术沙龙201110
持续交付最佳实践——百度技术沙龙201110Qiao Liang
 
豆瓣I os自动化测试实践和经验
豆瓣I os自动化测试实践和经验豆瓣I os自动化测试实践和经验
豆瓣I os自动化测试实践和经验drewz lin
 
Tcon分享 芈峮
Tcon分享 芈峮Tcon分享 芈峮
Tcon分享 芈峮mijun_hlp
 
Software Engineer Talk
Software Engineer TalkSoftware Engineer Talk
Software Engineer TalkLarry Cai
 
持續交付高品質程式碼 公開版
持續交付高品質程式碼 公開版持續交付高品質程式碼 公開版
持續交付高品質程式碼 公開版Kirk Chen
 
手机自动化测试解决方案
手机自动化测试解决方案手机自动化测试解决方案
手机自动化测试解决方案懿民 施
 

Semelhante a 敏捷测试中的工具实现 (20)

Foundation of software development 1
Foundation of software development 1Foundation of software development 1
Foundation of software development 1
 
Xpp
XppXpp
Xpp
 
广告技术部自动化测试介绍.pdf
广告技术部自动化测试介绍.pdf广告技术部自动化测试介绍.pdf
广告技术部自动化测试介绍.pdf
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Foundation of software development 2
Foundation of software development 2Foundation of software development 2
Foundation of software development 2
 
2014/02: 嵌入式測試驅動開發
2014/02: 嵌入式測試驅動開發2014/02: 嵌入式測試驅動開發
2014/02: 嵌入式測試驅動開發
 
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)
 
PHP 单元测试
PHP 单元测试PHP 单元测试
PHP 单元测试
 
Qa engineer training
Qa engineer trainingQa engineer training
Qa engineer training
 
2012 China 软件测试大会
2012 China 软件测试大会2012 China 软件测试大会
2012 China 软件测试大会
 
打造面向服务的敏捷团队 Q con-beijing2012
打造面向服务的敏捷团队 Q con-beijing2012打造面向服务的敏捷团队 Q con-beijing2012
打造面向服务的敏捷团队 Q con-beijing2012
 
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
 
PHPUnit slide formal
PHPUnit slide formalPHPUnit slide formal
PHPUnit slide formal
 
持续交付最佳实践——百度技术沙龙201110
持续交付最佳实践——百度技术沙龙201110持续交付最佳实践——百度技术沙龙201110
持续交付最佳实践——百度技术沙龙201110
 
豆瓣I os自动化测试实践和经验
豆瓣I os自动化测试实践和经验豆瓣I os自动化测试实践和经验
豆瓣I os自动化测试实践和经验
 
Tcon分享 芈峮
Tcon分享 芈峮Tcon分享 芈峮
Tcon分享 芈峮
 
Software Engineer Talk
Software Engineer TalkSoftware Engineer Talk
Software Engineer Talk
 
持續交付高品質程式碼 公開版
持續交付高品質程式碼 公開版持續交付高品質程式碼 公開版
持續交付高品質程式碼 公開版
 
PHPUnit
PHPUnitPHPUnit
PHPUnit
 
手机自动化测试解决方案
手机自动化测试解决方案手机自动化测试解决方案
手机自动化测试解决方案
 

Mais de drewz lin

Web security-–-everything-we-know-is-wrong-eoin-keary
Web security-–-everything-we-know-is-wrong-eoin-kearyWeb security-–-everything-we-know-is-wrong-eoin-keary
Web security-–-everything-we-know-is-wrong-eoin-kearydrewz lin
 
Via forensics appsecusa-nov-2013
Via forensics appsecusa-nov-2013Via forensics appsecusa-nov-2013
Via forensics appsecusa-nov-2013drewz lin
 
Phu appsec13
Phu appsec13Phu appsec13
Phu appsec13drewz lin
 
Owasp2013 johannesullrich
Owasp2013 johannesullrichOwasp2013 johannesullrich
Owasp2013 johannesullrichdrewz lin
 
Owasp advanced mobile-application-code-review-techniques-v0.2
Owasp advanced mobile-application-code-review-techniques-v0.2Owasp advanced mobile-application-code-review-techniques-v0.2
Owasp advanced mobile-application-code-review-techniques-v0.2drewz lin
 
I mas appsecusa-nov13-v2
I mas appsecusa-nov13-v2I mas appsecusa-nov13-v2
I mas appsecusa-nov13-v2drewz lin
 
Defeating xss-and-xsrf-with-my faces-frameworks-steve-wolf
Defeating xss-and-xsrf-with-my faces-frameworks-steve-wolfDefeating xss-and-xsrf-with-my faces-frameworks-steve-wolf
Defeating xss-and-xsrf-with-my faces-frameworks-steve-wolfdrewz lin
 
Csrf not-all-defenses-are-created-equal
Csrf not-all-defenses-are-created-equalCsrf not-all-defenses-are-created-equal
Csrf not-all-defenses-are-created-equaldrewz lin
 
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21drewz lin
 
Appsec usa roberthansen
Appsec usa roberthansenAppsec usa roberthansen
Appsec usa roberthansendrewz lin
 
Appsec usa2013 js_libinsecurity_stefanodipaola
Appsec usa2013 js_libinsecurity_stefanodipaolaAppsec usa2013 js_libinsecurity_stefanodipaola
Appsec usa2013 js_libinsecurity_stefanodipaoladrewz lin
 
Appsec2013 presentation-dickson final-with_all_final_edits
Appsec2013 presentation-dickson final-with_all_final_editsAppsec2013 presentation-dickson final-with_all_final_edits
Appsec2013 presentation-dickson final-with_all_final_editsdrewz lin
 
Appsec2013 presentation
Appsec2013 presentationAppsec2013 presentation
Appsec2013 presentationdrewz lin
 
Appsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitations
Appsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitationsAppsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitations
Appsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitationsdrewz lin
 
Appsec2013 assurance tagging-robert martin
Appsec2013 assurance tagging-robert martinAppsec2013 assurance tagging-robert martin
Appsec2013 assurance tagging-robert martindrewz lin
 
Amol scadaowasp
Amol scadaowaspAmol scadaowasp
Amol scadaowaspdrewz lin
 
Agile sdlc-v1.1-owasp-app sec-usa
Agile sdlc-v1.1-owasp-app sec-usaAgile sdlc-v1.1-owasp-app sec-usa
Agile sdlc-v1.1-owasp-app sec-usadrewz lin
 
Vulnex app secusa2013
Vulnex app secusa2013Vulnex app secusa2013
Vulnex app secusa2013drewz lin
 
基于虚拟化技术的分布式软件测试框架
基于虚拟化技术的分布式软件测试框架基于虚拟化技术的分布式软件测试框架
基于虚拟化技术的分布式软件测试框架drewz lin
 
新浪微博稳定性经验谈
新浪微博稳定性经验谈新浪微博稳定性经验谈
新浪微博稳定性经验谈drewz lin
 

Mais de drewz lin (20)

Web security-–-everything-we-know-is-wrong-eoin-keary
Web security-–-everything-we-know-is-wrong-eoin-kearyWeb security-–-everything-we-know-is-wrong-eoin-keary
Web security-–-everything-we-know-is-wrong-eoin-keary
 
Via forensics appsecusa-nov-2013
Via forensics appsecusa-nov-2013Via forensics appsecusa-nov-2013
Via forensics appsecusa-nov-2013
 
Phu appsec13
Phu appsec13Phu appsec13
Phu appsec13
 
Owasp2013 johannesullrich
Owasp2013 johannesullrichOwasp2013 johannesullrich
Owasp2013 johannesullrich
 
Owasp advanced mobile-application-code-review-techniques-v0.2
Owasp advanced mobile-application-code-review-techniques-v0.2Owasp advanced mobile-application-code-review-techniques-v0.2
Owasp advanced mobile-application-code-review-techniques-v0.2
 
I mas appsecusa-nov13-v2
I mas appsecusa-nov13-v2I mas appsecusa-nov13-v2
I mas appsecusa-nov13-v2
 
Defeating xss-and-xsrf-with-my faces-frameworks-steve-wolf
Defeating xss-and-xsrf-with-my faces-frameworks-steve-wolfDefeating xss-and-xsrf-with-my faces-frameworks-steve-wolf
Defeating xss-and-xsrf-with-my faces-frameworks-steve-wolf
 
Csrf not-all-defenses-are-created-equal
Csrf not-all-defenses-are-created-equalCsrf not-all-defenses-are-created-equal
Csrf not-all-defenses-are-created-equal
 
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21
 
Appsec usa roberthansen
Appsec usa roberthansenAppsec usa roberthansen
Appsec usa roberthansen
 
Appsec usa2013 js_libinsecurity_stefanodipaola
Appsec usa2013 js_libinsecurity_stefanodipaolaAppsec usa2013 js_libinsecurity_stefanodipaola
Appsec usa2013 js_libinsecurity_stefanodipaola
 
Appsec2013 presentation-dickson final-with_all_final_edits
Appsec2013 presentation-dickson final-with_all_final_editsAppsec2013 presentation-dickson final-with_all_final_edits
Appsec2013 presentation-dickson final-with_all_final_edits
 
Appsec2013 presentation
Appsec2013 presentationAppsec2013 presentation
Appsec2013 presentation
 
Appsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitations
Appsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitationsAppsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitations
Appsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitations
 
Appsec2013 assurance tagging-robert martin
Appsec2013 assurance tagging-robert martinAppsec2013 assurance tagging-robert martin
Appsec2013 assurance tagging-robert martin
 
Amol scadaowasp
Amol scadaowaspAmol scadaowasp
Amol scadaowasp
 
Agile sdlc-v1.1-owasp-app sec-usa
Agile sdlc-v1.1-owasp-app sec-usaAgile sdlc-v1.1-owasp-app sec-usa
Agile sdlc-v1.1-owasp-app sec-usa
 
Vulnex app secusa2013
Vulnex app secusa2013Vulnex app secusa2013
Vulnex app secusa2013
 
基于虚拟化技术的分布式软件测试框架
基于虚拟化技术的分布式软件测试框架基于虚拟化技术的分布式软件测试框架
基于虚拟化技术的分布式软件测试框架
 
新浪微博稳定性经验谈
新浪微博稳定性经验谈新浪微博稳定性经验谈
新浪微博稳定性经验谈
 

敏捷测试中的工具实现