微软的秘诀 -- 软件开发中的测试管理 李丹软件测试工程师视窗数字媒体事业部 Microsoft Corporation.

Slides:



Advertisements
Similar presentations
Web Role 的每台虚机运行有 IIS ,用于处理 Web 请求 Worker Role 用于运行后台进程 Cloud Service 是什么? 支持多层架构的应用容器 由多个 Windows 虚拟机集群构成 集群有两种类型: Web 和 Worker Cloud Service 做什么 进行应用的自动化部署.
Advertisements

泛舆情管理平台 ——助力媒体业务创新 新模式 新格局 创新盈利增长点 2/26/2017 1:59 AM 屈伟: 创始人,总裁
中国银行业前置端操作系统移植研究.
借助公有云实现游戏的弹性运营 Shaun Fang (方兴) Azure开发技术顾问
吴峻 软件设计工程师组长 Exchange Server 微软有限公司
软件质量保证与测试 第2讲 软件测试的基本概念和方法
王书贵 资深分析师 CCW Research 计世资讯
深市协助执法及证券查询业务介绍 客户服务部 China Securities Depository
顏協邦 慧盟資訊 商業智慧導入服務部 資深經理
Database Architecture, not only DBA
抱怨處理技巧 高雄捷運公司 公共事務處 胡宜萍 安全 ‧ 便捷 ‧舒適 ‧ 可靠
请点击以下链接下载WinHEC的演讲材料
Eliyas Yakub 首席开发经理 US-Device & Storage
1. 设定愿景,确定业务场景 Microsoft Corporation
金融信息安全人才培养的思考与实践 中央财经大学 朱建明 2012年11月24日.
广东省广州市花都区教育局教研室 汤少冰 优化评估方式, 促进中学英语的教与学 广东省广州市花都区教育局教研室 汤少冰
張書源 Microsoft MVP MCT 趨勢科技 技術經理 網酷科技 資深顧問 集英信誠 資深顧問
Office 2013 全新功能介紹 台灣微軟 Office 大使 楊承恩 Marcus Microsoft Office
2012 Project Planning 2012 年技术规划
——打造科技金融升级版 中国建设银行顺德分行 2015年6月.
四川省集体林权流转平台 中国西部林权交易网
云实践引导产业升级 沈寓实 博士 教授 MBA 中国云体系产业创新战略联盟秘书长 微软云计算中国区总监 WinHEC 2015
DEV323 .NET架构:全球化思想! 定制各种文化及国际数据
MBL 340 Tablet PC SDK:在您的应用程序中使用数字墨水
今天很高兴能够利用Web Cast和大家讲解嵌入式XP的新增功能。
什麼是電子軟體下載 Electronic Software Download (ESD).
11/17/2018 5:15 PM 病毒,间谍软件最新趋势 © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes.
Mobile & Embedded DevCon 2005 朱敏博士 微软有限公司
OFC 302 InfoPath2007新特性及解决方案.
最新 Windows Server 徽标 要求和计划
从UNIX到Windows的 电信软件移植实践
Microsoft Office SharePoint Server 2007 事件追蹤與專案管理
朝雲端專業DBA邁進: 深入剖析 Windows Azure SQL Database 完整資料庫管理、雲端報表建立、建置分散式雲端資料庫
Windows Server 2008 NAP整合802.1x網路安全控管
BizTalk Server 2004.
互聯網安全資訊 助您達至更安全的網上體驗.
服務啟用、導入流程、 郵件移轉步驟簡介 Microsoft Office 12/2/2018
OFC351 利用Office System开发复杂的商务解决方案 架构、模式、场景
构建 Windows TV Tuner 产业 生态环境的重要观点
微软新一代云计算 面向企业的 Office 365 客户培训大纲
使徒行傳 21:17-23章「保羅的見證(一)」 引言 預言保羅為主的名受許多的苦難的實現
凌宁 系统工程师 亚洲区嵌入式系统事业群 微软(中国)有限公司
2/24/2019 5:40 AM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Microsoft SQL Server 2008 報表服務_設計
利用 ASP.NET MVC 提升您的 Web 應用程式


橫跨電腦、手機與軟體的全方位端點管控解決方案
呂政周 精誠恆逸教育訓練處 資深講師 Windows PowerShell 呂政周 精誠恆逸教育訓練處 資深講師
TechNet 技術講座 Entry Slide 0
4/30/2019 7:40 AM 約翰福音 15:9;17:20-23 加拉太書 6:1-2 © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product.
模式与实践:Windows Mobile 5.0应用程序架构
DEV 343 VS2005超快速开发方案/EEP2006控件包.
第二章 軟體測試概論.
5/4/2019 4:42 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
微軟資安稽核解決方案 System Center 2012
使徒行傳 24-26章 [ 保羅的見證(二)] 徒9:15 “  主 對 亞 拿 尼 亞 說 、 你 只 管 去 . 他 是 我 所 揀 選 的 器 皿 、 要 在 外 邦 人 和 君 王 並 以 色 列 人 面 前 、 宣 揚 我 的 名 。 ”]
Windows 徽标计划工具:综述与发展趋势
5/5/2019 7:06 PM 两跨框架梁截面配筋图的绘制 © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may.
SQL Server Mobile 2005 程序开发(二)
MBL302 设计Windows Mobile应用程序的用户界面
5/15/2019 姓名: 公司名称: 云赛空间BP模板 Now let’s take a look at who we are, what we’re doing and why we’re doing it in China... This is an image of a technology.
DEV 343 VS2005超快速开发方案/EEP2006控件包.
MGT 213 System Management Server的昨天,今天和明天
MSG 361 如何从Exchange 5.5迁移 胡义 咨询顾问 上海星移软件有限公司 2019年7月31日8时9分
Bob Combs Lead Program Manager Microsoft Corporation
強化 Windows 平台 唐任威 資深講師.
第十章 : 系統建置與運轉 1. 前言 讓系統順利運轉之三類工作 : a) 轉換設計文件成為軟體 : 程式撰寫、軟體測試 、系統安裝
高擴充高穩定高安全 企業級資料管理平台 Report Builder概論 錢曉明 資策會 資深講師 台灣微軟 資深講師.
Windows Workflow Foundation CON 230
Presentation transcript:

微软的秘诀 -- 软件开发中的测试管理 李丹软件测试工程师视窗数字媒体事业部 Microsoft Corporation

Windows XP 有多少行编码? YearOperating SystemSLOC (Million) 1990Windows Windows NT4 1997Windows Windows NT Windows Windows NT Windows Windows XP40

问题 “ 连 Daily build 都没有,怎么做测试? ” “ 连 Daily build 都没有,怎么做测试? ” “ 应该用 Rational? 还是 Load runner?” “ 应该用 Rational? 还是 Load runner?” “ 什么时候开始测试? ” “ 什么时候开始测试? ” “ 测试计划应包括哪些内容? ” “ 测试计划应包括哪些内容? ” “ 一个好的测试人员须具备什么条件? “ 一个好的测试人员须具备什么条件? “ 怎么做测试的预算? “ 怎么做测试的预算? ??? ???

这个课程将 … 简介 “ 产品开发周期 ”- PCM 简介 “ 产品开发周期 ”- PCM 简介产品开发的指南针 – 5 P’s 简介产品开发的指南针 – 5 P’s 窥视微软的十个秘诀 窥视微软的十个秘诀

秘诀之一 -- 测试举足轻重

三国鼎立 Dev PM Test 立法 监控 执法

组织结构 产品 项目经理开发测试

组织结构 大团队 项目经理开发测试 产品 1 产品 2

开发人员 vs 测试人员 比例 比例 薪水 薪水 发展 发展 代表用户 代表用户

小结一下 … 测试工作改善产品的质量 测试工作改善产品的质量 测试工作改善项目的质量 测试工作改善项目的质量 从生意的角度认识 从生意的角度认识 从组织结构来认识 从组织结构来认识 从人员配备来认识 从人员配备来认识

秘诀之二 --- 测试贯彻始终

规划设计 贯彻 稳定 发布 产品开发周期 – PCM Model

第一阶段 --- 规划 目标 : 产品定位, 用户定位, 时间 定位 目标 : 产品定位, 用户定位, 时间 定位 定义小组组建计划 定义小组组建计划 其他 其他  简略功能定义 (Functional Specification)  概念性设计 (Conceptual design)  简略测试计划 (Preliminary test plans)  运作预测 (Operations forcasting)  简略用户协助计划简略地区化计 划 进行测试部门的预算 ( Budget/Estimate) 进行测试部门的预算 ( Budget/Estimate) 调查将可使用于测试的的 流程, 技术, 和工具 调查将可使用于测试的的 流程, 技术, 和工具 建立测试团队 建立测试团队

第二阶段 --- 设计 完成总体的测试计划 完成总体的测试计划 由下至上的成本和日程 预算 由下至上的成本和日程 预算 团队已经组成 团队已经组成 n 予功能说明书的审查 n 予功能说明书的审查 撰写测试计划 撰写测试计划 建立管理流程 建立管理流程  工具, Bug 管理,报告 系统等等 目标 : 怎样开发 目标 : 怎样开发 完成功能规范设计 (Functional Specs) 完成功能规范设计 (Functional Specs) 详细开发体系结构 (Architecture Specs) 详细开发体系结构 (Architecture Specs) 定义工具和技术的应用 定义工具和技术的应用 完成由下至上的日程表 完成由下至上的日程表 总体测试计划( Master Test Plan) 总体测试计划( Master Test Plan) 用户协助, 地区化, 用户界面 用户协助, 地区化, 用户界面

第三阶段 --- 贯彻 主要里程碑 (Mn); 多个小产品周期

第三阶段 - 完成标准 完成市场定位和咨询策略 完成市场定位和咨询策略 完成代码 ( Code Complete) 完成代码 ( Code Complete) 测试完成设计测试工具和规范 测试完成设计测试工具和规范 完成用户界面的详细设计规范文件 完成用户界面的详细设计规范文件 完成用户协助功能规范文件 完成用户协助功能规范文件 完成产品上市发布计划 完成产品上市发布计划 开始 Bug triage/tradeoffs 开始 Bug triage/tradeoffs 开始产品地区化工作 开始产品地区化工作

第三阶段 – 测试部门责任 初步接收测试 Acceptance/BVT testing 初步接收测试 Acceptance/BVT testing 国际化测试 Globalizability 国际化测试 Globalizability 基本功能测试 Feature Functionality Testing 基本功能测试 Feature Functionality Testing 参予编码的审查 Participate in Code review 参予编码的审查 Participate in Code review 进行测试优化 Test prioritization 进行测试优化 Test prioritization 撰写测试案例 Write test cases 撰写测试案例 Write test cases 测试自动化编码 Write test automation script 测试自动化编码 Write test automation script 编写测试工具 Writing test tools 编写测试工具 Writing test tools

第四阶段 --- 稳定 目标 : 满足用户对稳定, 可靠和安全的产品需 要和期望.

第四阶段 - 完成标准 发布市场测试 (Beta) 版 发布市场测试 (Beta) 版 发布技术测试 (Beta) 版 发布技术测试 (Beta) 版 其他 其他  产品发布的推广计划  继续 Bug Triage  达到零个 bug (Zero Bug Bounce)  完成对用户协助文件的检验  测试板被内部 Servers 采用

第四阶段 – 测试 部门责任 总体测试 总体测试  表现,压力,用户界面,地区化,耐力,装机, 实况摹拟,等等 Performance, stess, UI, loc, longhaul, setup, scenarios, help, etc 编码覆盖研究和优化测试顺序 Code coverage and test prioritization 编码覆盖研究和优化测试顺序 Code coverage and test prioritization Bug 的报告与跟踪 Bug 的报告与跟踪  Bug bash, test pass, scenarios, cross area testing, etc 内部应用 内部应用  dog food

第五阶段 --- 发布 目标 : 满足企业对发布新产品的需求. 满足用 户对使用新产品的需求.

第五阶段 - 完成标准 发布零售制造版 (RTM) 发布零售制造版 (RTM) 发布网络版 (RTW) 发布网络版 (RTW) 最后的文件 (Help, Release Note) 最后的文件 (Help, Release Note) 地区化准备同步发布 地区化准备同步发布 产品支持部 (PSS) 和快速修补工程 (QFE) 开 始运作 产品支持部 (PSS) 和快速修补工程 (QFE) 开 始运作 市场运用的研究开始 市场运用的研究开始

第五阶段 – 测试部门责任 确定测试 sign-off 的程序 确定测试 sign-off 的程序 Regression 重测 Regression 重测 QFE/SE 测试交接 QFE/SE 测试交接 移向新的项目 移向新的项目

规划设计 贯彻 稳定 发布 产品开发周期 – PCM Model

秘诀之三 --- 坚持原则

管理的指南针 ( 5Ps) 管理的指南针 ( 5Ps)  Purpose 目的  Principle 原则  Priority 优序  Plan 规划  People 人选

秘诀之四 --- 建立高效的团队

组织结构 Test Manager Test Lead STE Test Lead SDET Test Lead

下面哪一个是好的测试人员 ? 发现最多的 bug? 发现最多的 bug? 发现最多被除掉的 bugs ? 发现最多被除掉的 bugs ? 发现,推动除掉最多对用户有影响的 Bugs ? 发现,推动除掉最多对用户有影响的 Bugs ?

测试人员的素质 适应性 适应性 逻辑思维 逻辑思维 细心 细心 有勇气 有勇气 有效的追求结果 有效的追求结果

好的测试人员 优秀的测试基本功 优秀的测试基本功 准确地报告 Bugs, 包括准确的步骤和 debugging 信息 准确地报告 Bugs, 包括准确的步骤和 debugging 信息 能写好的,经已测试的自动化编码,加以 清晰的文件 能写好的,经已测试的自动化编码,加以 清晰的文件 对自己的领域负责任 对自己的领域负责任  总是自我检察有无漏洞  总是敢於对自己的工作负责

优秀的测试人员 有能力超越自己的领域 有能力超越自己的领域 视野开阔,可看得更远 视野开阔,可看得更远 可对质量和进度可做权衡 可对质量和进度可做权衡 司机的性格 司机的性格

测试人员角色的转变 企业意识 企业意识 技术要求 技术要求  Black box, White box, Gray-box 沟通技术 沟通技术 代表顾客 代表顾客

秘诀之五 --- 完整的臭虫 (Bugs) 管理体系

什么是 Bug? 什么是 Bug? Bug 的生命周期 Bug 的生命周期 Bug 的处理流程 Bug 的处理流程 Bug 的分类 Bug 的分类 Bug 的数据库各个阶段的含义 Bug 的数据库各个阶段的含义 除害三国会议 (Bug Triage) 除害三国会议 (Bug Triage)

什么是 Bug? 编码或逻辑中的错误 编码或逻辑中的错误  Any error in code or logic 与 spec 或说明书有出入 与 spec 或说明书有出入  Disparity from a spec, or applicable guidelines 预料不到或不正确的结果 预料不到或不正确的结果  Incorrect or unexpected results 与合理的顾客期望有出入 与合理的顾客期望有出入  Deviation from a reasonable customer’s expectations - Myers

Reopened Bug Open Bugs Closed Bugs Resolved Bugs Investigate & Resolve Resolved Verify Resolutions Rejected FixedVerified Regression Testing Fixed Bugs Regression Bug Bug 的生命周期

Bug 报告中的一些问题 不完整的步骤 不完整的步骤 缺乏调查的细节 缺乏调查的细节 少了数据支持文件 少了数据支持文件 少了环境 / 调试的信息 Environment / configuration information 少了环境 / 调试的信息 Environment / configuration information 少了期待的结果 少了期待的结果 重复 重复 少了 Debug 信息 少了 Debug 信息 多个 Bugs 放在一起 多个 Bugs 放在一起

最佳实践 记录最基本的数据 记录最基本的数据  状态,类别,解决办法,客户影响,等等 Create custom fields 记录有意义的信息 记录有意义的信息 用 template 来输入信息 用 template 来输入信息 记录所有的 bug 记录所有的 bug Policy – 只有测试人员才能 Close Bugs Policy – 只有测试人员才能 Close Bugs

基本数据

防止无意义的纪录 Meaningless data is completely worthless Meaningless data is completely worthless No way to determine test method effectiveness No way to determine test method effectiveness

防止无用的纪录 Microsoft only produces products in about 39 languages Microsoft only produces products in about 39 languages No “localization” difference between Arabic (Algeria) and Arabic (Qatar) No “localization” difference between Arabic (Algeria) and Arabic (Qatar)

Bug 报告 Template 题目 : 简略描述 : 步骤 : 实际结果 : 预期结果 : 其他 note:

分类 Severity 严重性 Severity 严重性  Crash  功能上的错误  Uncommon or minor feature failure  Suggestion Priority 优先性 Priority 优先性  Blocking test  Must fix before ship  Would like to fix before ship  Minor issue

三国大战 怎样开好三国会审? 怎样开好三国会审?  关上门  每个决定是会议的决定 - 支持  最好各方派一个代表  有一个最后下决定的人  用 “ 无一反对 ” , 而不用 “ 全部赞成 ”

秘诀之六 --- 投资测试自动化

推动测试自动化 自动化需一定成本 自动化需一定成本 为什么要自动化? 为什么要自动化? 挑战 挑战

PCM – 自动化投资的阶段 早投资 早投资 在设计时考虑 在设计时考虑 Planning (M0) Major Milestone Phase M1,2… Release Phase Time Testing Investment Testing Phase

PCM – 自动化回收的阶段 Planning (M0) Major Milestone Phase M1,2… Release Phase Time Automation Payback Testing Phase 早期无回收 早期无回收 稳定,发布以及发布后的支持阶段受益 稳定,发布以及发布后的支持阶段受益

自动化的优势 Why Automate ? 机器代替人 机器代替人  可以更频繁的测试  每一次做同样的测试 做更多的测试 做更多的测试  减少了烦闷的,重复性的工作。可用时间来检 查结果  更多的时间用来做手工测试和寻找 bugs.

优势 ( 继续 ) 自动化可进行一些高难度的测试 自动化可进行一些高难度的测试  Perf, Stress, Scalability, Config, OM/API, Matrix 一至性 一至性  Performance, Regression 可重复使用 可重复使用  How many File Open drivers are there?  Logging, etc. 稳定性 稳定性 容易交接 容易交接 Easy to hand off (external teams & sustaining engineering) Easy to hand off (external teams & sustaining engineering)

风险和问题 过分依赖自动化结果 过分依赖自动化结果 维持计划 维持计划 同样的测试 同样的测试 错误的 “ 失败 ” 或 “ 成功 ” 错误的 “ 失败 ” 或 “ 成功 ” 需要有技术才能找出问题 需要有技术才能找出问题

使你的自动化更有效  分析成本  重复使用  写扎实的编码  写详细文件  自动化英根据测试案例  如不行应立既放弃  利用框架

测试分配系统 – 组件 用户界面 用户界面 数据库 数据库 机器管理和控制 机器管理和控制 用户端 agent 用户端 agent 测试的 harness 测试的 harness 机器成像 机器成像 Other common tasks Other common tasks Results Viewer Results Viewer

秘诀之七 --- 测试文件的管理

有趣的事实 70% of all defects are introduced at the specification phase 70% of all defects are introduced at the specification phase Where bugs live Where bugs live  General: 80% of bugs live in 20% of the code (Parado lives!)  IBM published 50% of bugs live in 7% of code base

微软的测试文件系统 Master Test Plan “Business” focus Test spec “Technical” focus Test spec “Technical” focus Test spec “Technical” focus Test cases

定义:总体测试计划 一个测试计划是 … 大方向,总体进度表,目标,资源 大方向,总体进度表,目标,资源 Contract 合同 Contract 合同 Road map 指南针 Road map 指南针

定义:测试设计说明书 确认测试方法 确认测试方法 确认欲测试的功能 确认欲测试的功能 确认测试的案例 确认测试的案例

定义:测试案例 一个测试案例 : 目的 目的 步骤 步骤 预期结果 预期结果

定义:报告和报表 个别案例结果记录 个别案例结果记录 整体测试报表 整体测试报表 整体项目报表 整体项目报表

好的测试文件 清晰的目的 清晰的目的 容易维持 容易维持 容易明白 容易明白 保持更新 保持更新 完整 完整 ?

秘诀之八 --- 重视流程的管理

秘诀之九 – 工欲善其事, 必先利其 器

秘诀之十 – 不断研究更新

问题?

下一步 更多培训机会 – MAT 更多培训机会 – MAT 请加入微软高级培训论坛 请加入微软高级培训论坛微软高级培训论坛

© 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.