您好,欢迎来到诺达名师!
客服热线:18898361497

当前位置: 首页 > 项目管理 > 研发项目 > 软件测试管理高级研修班

杨学明

软件测试管理高级研修班

杨学明 / 产品创新与研发管理讲师、研发测式管理讲师

课程价格: 具体课酬和讲师商量确定

常驻地: 深圳

预定该课 下载课纲

咨 / 询 / 热 / 线 18898361497

在线咨询

课程背景

据中国软件行业协会研究报告显示,2010年1-11月,我国软件业呈快速增长态势,同比增长30%,增速比去年同期提高8.6个百分点,软件产业已成为中国高科技发展重要支柱之一,但中国软件产品质量保证手段以及测试流程和管理的规范性,与国外同行(美国、印度等)存在较大的的差距。 在软件业较发达的国家, 软件测试不仅早已成为软件开发的一个重要组成部分,而且在整个软件开发的系统工程中占据着相当大的比重。例如,在美国的软件开发中,需求分析和规划确定的比重只有3%,设计占5%,编程占7%,而测试要占到15%,其余67% 是投产和维护。微软为打造Windows2000,用了250 多个项目经理、1700 多个开发人员,而测试人员则用了3200 人,几乎是开发人员的两倍。而且,每修改一个错误,都花费大量时间以确保没有新错误产生。 而在我国,由于总体上,国内软件项目过程不规范,导致重视编码和轻视测试的现象,对于软件测试的重要性、测试方法和流程等还存在很多错误的认识。主要表现在: (1)软件开发完成后进行软件测试 (2)软件发布后如果发现质量问题,是软件测试人员的责任 (3)软件测试哪个人员都行 (4)软件测试是测试人员的事情,与程序员无关 (5)项目进度紧张时少做测试,时间富裕时多做测试 (6)软件测试是没有前途的工作,只有程序员才是软件高手 以上几点是中国很多研发管理人员的误区,虽然很多领导试图提高软件质量,并且大部分领导已认识到测试是提高软件质量的重要手段之一,但总是不得要领,不知如何建立软件测试管理体系,设置了人员但不知如何明确职责,明确了职责但不知如何建立测试流程,建立了流程但不知如何参与研发团队进行测试,测试人员与开发人员之间矛盾重重,很多公司的软件开发团队采用敏捷开发模式,测试人员无从下手等等现象枚不胜举。 本次课程为期三天,将全面的从以下几个方面进行培训: 1、软件测试管理系统理论和实践(第一天) 2、软件测试需求分析和测试用例设计(第二天) 3、软件测试团队管理和职业规划(第三天) 关注于软件测试管理体系建设,包括纯管理软件、互联网软件、嵌入式软件等系统级产品。它将从软件测试概念、软件测试工程、软件测试项目管理、软件测试组织与团队、软件测试技术与自动化、敏捷测试管理等几个层面进行培训。

课程大纲

1、 软件测试概述

本章节学习目标:主要让学员了解为什么需要软件测试,软件测试对于软件质量保证的重要性,以及软件测试在整个产品质量体系中的位置。并列举软件测试的原则与方法。

1.1 软件测试管理面临的常见问题

1.2 测试在质量体系中的位置

1.3 测试原则与方法

1.4 为什么要尽早测试

1.5 木桶原理 ·20/80原则 ·Good-Enough原则·多快好省原则

1.6 错误、缺陷、故障、失效 ·测试成本分析

1.7 测试、调试、测试与调试的关系和区别

1.8 测试方法分类

1.8.1 白盒测试、黑盒测试、灰盒测试

1.8.2 测试策略 ·单元测试、集成测试、系统测试、验收测试

1.8.3 ALPHA测试、BETA测试、功能测试、性能测试

1.8.4 动态测试、静态测试

1.8.5 手工测试、自动化测试、负载测试、压力测试、性能测试

本单元研讨案例:A公司软件项目测试环节存在的典型问题,并分组讨论,派代表上台发言。

 

2、 软件测试工程过程

本章节学习目标:让学员了解测试工程过程和流程管理,掌握软件测试的关键活动和管理流程,并向学员展现每个阶段的测试模板。

2.1 什么是软件测试工程 (从阿里巴巴的性能测试谈起)

2.2 测试在软件工程中的位置(基于不同开发流程中的测试角色)

2.3 瀑布模型测试过程

2.4 W型测试过程

2.5 V型测试过程

2.5.1 单元测试计划 ·单元测试 ·单元测试报告与详细设计关系

2.5.2 集成测试计划 ·集成测试·集成测试报告与概要设计关系

2.5.3 系统测试计划 ·系统测试 ·系统测试报告与需求规格设计关系

2.5.4 测试用例

2.5.5 测试缺陷管理

2.5.6 测试报告

2.6 代码审查与走读过程

2.6.1 召开审查走读会议

2.6.2 专人书面评审

2.6.3 使用统计和分析工具

2.7 单元测试过程

2.7.1 什么是桩(Stub)、驱动器(Driver)、模拟器(Simulator)

2.7.2 单元测试环境

2.7.3 单元测试工具选型

2.7.4 单元/部件测试准备

2.7.5 单元/部件测试执行

2.7.6 测试计划和用例评审查检表、测试记录、缺陷报告

2.8 集成测试过程

2.8.1 集成测试策略的确定时机

2.8.2 集成测试基本概念 ·集成测试对象  ·集成测试中的角色定义

2.8.3 集成测试的特点

2.8.4 集成测试顺序确定

2.8.5 集成测试准备 ·集成测试执行   ·缺陷跟踪

2.8.6 集成测试质量目标   ·典型集成测试平台构造

2.8.7 集成测试工作开展的制约因素

2.8.8 集成测试成败关键因素分析

2.9 系统测试过程

2.9.1 转测试操作流程和标准

2.9.2 系统测试基本概念(定义、对象、依据)

2.9.3 系统测试过程 ·系统测试输入、输出

2.9.4 系统测试准备

2.9.5 系统测试执行

2.9.6 测试环境的规划和管理

2.9.7 问题跟踪反馈  ·基于产品平台的测试策略

2.9.8 系统测试成败关键因素分析 ·“黑白唱”

2.10 文档测试过程

2.10.1 安装包文字和图片

2.10.2 安装与设置指南

2.10.3 用户手册

2.10.4 在线帮助

2.11 验收测试

2.11.1 验收的基本定义与目的

2.11.2 验收测试类型

2.11.3 根据合同验收

2.11.4 用户验收测试

2.11.5 运行测试

2.11.6 现场测试

2.11.7 测试人员在客户验收过程中的职责

模板展示:测试计划、测试用例、单元测试、集成测试、验收测试、文档测试等模板展示。

 

3、 产品开发中的测试项目管理

本章节学习目标:掌握完整的测试项目的管理方法,分为项目级测试管理,产品级测试管理以及项目外包测试管理三个方面。

研讨案例:某知名通讯企业一个成功的项目测试案例,让学员分组讨论得到的启发,从流程到模板分别进行进述。

3.1 软件测试人员参与开发项目遇到的常见问题

3.2 项目级测试管理

3.2.1 测试管理平台的建立

3.2.2 测试模板的设计

3.2.3 测试交付件的管理

3.2.4 测试计划裁剪

3.2.5 测试工作量的估算

3.2.6 测试过程监控

3.2.7 测试的成本控制

3.2.8 测试过程的风险控制

3.2.9 失效模式和影响分析(FMEA)

3.3 版本测试开始标准及结束标准

3.3.1 每个阶段开始的标准

3.3.2 每个阶段结束的标准

3.3.3 测试中断的标准

3.3.4 版本测试结束的标准

3.4 缺陷管理流程

3.5 测试模板

3.6 制订测试验收标准

3.7 测试问题定级标准

3.8 测试评估

3.9 产品级测试管理

3.9.1 产品测试的全局性

3.9.2 产品测试用例库的建立

3.9.3 测试用例的管理

3.9.4 测试用例的维护

3.9.5 产品自动化测试策略

3.9.6 每日构建的(Daily Build)的管理方法

3.9.7 缺陷生命周期管理

3.9.8 测试覆盖率评估

3.9.9 其于软件缺陷的质量评估

3.10 测试外包管理

3.10.1 降低成本

3.10.2 保证质量

3.10.3 提高效率

3.10.4 灵活的人力资源

3.11 软件测试与度量

3.11.1 软件测试成熟度模型(TMM)

3.11.2 软件开发过程阶段性度量指标

3.11.3 缺陷度量或缺陷分布度量

3.11.4 测试用例的深度、质量和有效性

3.11.5 测试执行的效率和质量

3.11.6 缺陷报告的质量

3.11.7 测试覆盖度

3.11.8 测试环境的稳定性或有效性

3.11.9 测试过程改进(TPI:Test Process Improvement)

3.11.10 缺陷预防与分析(ODC缺陷分析、Gompertz分析、Rayleigh分析、四象限分析、根本原因分析、缺陷注入分析、DRE/DRM分析等)

3.11.11 CTP、STEP、CMMI等模型探讨

n 案例研讨:为什么要进行测试度量?

 

4、 软件测试技术与自动化

本章节学习目标:了解软件测试自动化工具的应用与实践,掌握什么时候需要引入自动化测试,以用自动化测试所需的条件及自动化工具的选型,了解自动化测试的好处与不足;

4.1 测试工具的概念

4.1.1 成本效益和风险

4.1.2 测试工具策略

4.1.3 测试工具集成

4.1.4 脚本和脚本语言(TCL/TK、PYTHON、VB、RUBY、SHELL等)

4.2 测试缺陷管理工具(QC、BUGZILLA、IBM lutos notes)

4.3 测试用例管理工具(TD、TESTLINK、BUGFREE等)

4.4 测试工具部署

4.5 自动化测试框架介绍

4.6 开源测试工具

4.7 测试工具开发

4.8 测试工具分类

4.9 测试工具的收益分析

4.10 项目研讨:自动化测试是否可以促进项目进度,节省质量成本?


5、 基于敏捷开发模式的测试管理

本章节学习目标:了解在敏捷开发模式下的测试管理,测试人员如何参与敏捷项目。


5.1 敏捷测试的必要性

5.2 敏捷的价值

5.3 敏捷测试团队中角色与活动场景演练

5.4 敏捷测试团队的运作方式

5.5 敏捷测试员的十条法则

5.6 面向技术的测试管理

5.7 敏捷测试四象限管理

5.8 敏捷测试成功的关键要素

5.9 敏捷开发过程中的自动化测试策略

5.10 敏捷测试的佳实践

5.11 研讨:如何构建高效敏捷测试团队?

 

6、 构建企业级测试体系建设

6.1 案例:某企业测试体系存在的问题分析

6.2 企业测试体系典型问题分析

6.3 测试技能发展历程

6.4 测试体系如何从无到有建设?

6.5 如何从功能测试到测试平台建设?

6.6 测试组织发展历程

6.7 建立独立的测试组织

6.8 如何建设高水平的产品测试部门?



【第二天课程大纲:软件测试需求分析和测试用例设计】

7、 测试需求与测试设计

本章节学习目标:掌握测试需求分析和测试设计技巧。

研讨案例:某知名通讯企业一个成功的项目测试案例,让学员分组讨论得到的启发,从流程到模板分别进行进述。

7.1 软件测试人员参与需求分析的常见问题

7.2 测试需求分析

7.2.1  测试需求文档与测试用例的关系

7.2.2  测试需求文档与设计文档的关系

7.2.3  测试需求文档与测试计划的关系

7.2.4  测试需求要做哪些工作

7.2.5  测试设计要做哪些工作

7.2.6  测试需求的优先级划分

7.2.7  如何对测试需求进行分类?

7.2.8  测试需求的变更管理

7.2.9  测试需求跟踪矩阵(RTM)

7.2.10  测试需求的评审要素(CHECKLIST):模板展示

7.3 软件需求跟踪

7.4 测试架构设计

7.5 测试计划设计

7.6 测试用例颗粒度

7.6.1  大纲型测试用例的设计

7.6.2  解决方案型测试用例的设计

7.6.3  详细步骤型测试用例的设计

7.7 测试用例的设计

7.7.1 等价类划分法

7.7.2 边界值分析法

7.7.3 因果图法(根据因果图直接输出判定表)

7.7.4 功能图法

7.7.5 错误推断法

7.7.6 正交实验设计方法

7.7.7 测试用例设计的技巧:“弱化定性思维 破坏性假设”

举例并分组演练:等价类设计法

ü 举例并分组演练:边界值分析法

ü 举例并分组演练:场景分析法

ü 举例并分组演练:错误推断法

ü 举例并分组演练:因果图法

ü 举例并分组演练:正交设计法

7.8 测试工具设计

7.9 测试评审

7.9.1 需求规格评审(演示:需求规格评审检查表.DOC)

7.9.2 详细设计评审(演示:详细设计评审检查表.DOC)

7.9.3 测试计划评审(演示:测试计划评审检查表.DOC)

7.9.4 测试用例评审(演示:测试用例评审检查表.DOC)

7.9.5 测试报告评审(演示:测试报告评审检查表.DOC)

7.10 产品级测试管理

7.10.1 产品测试的全局性

7.10.2 产品测试用例库的建立(举例说明如何建立系统级的测试用例库)

7.10.3 测试用例的管理

7.10.4 测试用例的维护


8、 基于需求规格的测试设计

8.1 什么是软件需求规格?

8.2 举例说明华为和阿里巴巴的需求规格形式

8.3  需求规格应包括哪些内容

8.4  软件测试需求规划和评审

8.5 需求规格之用例设计方法 – 规格导出法

8.6 需求规格之用例设计方法 – 正反用例设计法

8.7 需求规格之用例设计方法 – 需求跟踪矩阵法

8.8 需求规格之用例设计方法 – 思维导图法

研讨:如何**需求覆盖提高测试设计的有效性?


9、 基于质量问题的测试设计

9.1 软件的质量问题主要来自于哪些方面?

9.2 如何对质量问题进行分析(内部问题和外部问题)

9.3 质量问题分析的方法

9.4 针对质量问题进行测试用例的设计

 

10、 基于测试经验的用例设计

10.1 功能方面的测试经验

10.2 性能方面的测试经验

10.3 非功能方面的测试经验

10.4 基于经验的测试设计


11、 基于风险的用例设计

11.1  什么DFMEA?

11.2 DFME的流程和风险顺序指数

11.3  什么是测试风险评估?测试过程有哪些风险?

11.4 选择测试重点与优先级

11.5 确定软件测试策略


12、 基于用户体验(UCD)的用例设计

12.1  什么UCD(以用户为中心的设计)?

12.2  测试人员如何设计用户体验的测试用例?

12.3  在软件开发的每个阶段,测试人员如何介入?

12.4  测试人员如何与UCD团队打交道?

12.5  UCD测试的重点与难点分析

12.6 案例:某公司测试人员在UCD的活动和交付标准

 

【第三天课程大纲:软件测试团队管理】

13、 测试组织管理面临的困惑

本章节学习目标:总结目前测试组织与团队管理面临的几大问题.

13.1 案例分析: 李华的测试团队为什么失败?

13.2 国内测试团队的现状及未来

13.3 测试管理人员的心病(“上面不重视,下面不配合”)

13.4 测试管理的问题总结

13.4.1  流程问题

13.4.2  技术问题

13.4.3  人员问题

13.4.4  组织结构问题

13.5 测试过程有效性的衡量方法

13.5.1  如何提升测试过程的有效性? (研讨5分钟)

13.5.2  如何提升测试用例的覆盖率?

13.5.3  如何避免问题漏测?

 

14、 软件测试团队任职资格及职业素养

本章节学习目标:让学员了解软件测试组织的任职资格及职业素养,如何培养合格的测试人员;

2.1. 职业态度之一:积极主动

§ 何为主动性?(主动承担、主动沟通、主动寻找资源……)

§ 主动性的不同层次及表现

§ 为何要主动承担?企业发展中的职责空白地带谁去做?

§ 案例:H公司员工狼性成长法则

§ 研发人员主动积极的具体体现

2.2. 职业态度之二:阳光自信

§ 挖掘工作中的闪光点

§ 案例讨论:干一行、爱一行、专一行

§ 阳光思维:正确看待企业问题,“要做麻烦的解决者,不要成为麻烦的一部分”

§ 正确看待困难,困难与机会并存,困难和挑战才是员工成长的重要机会

§ 自信是战胜困难、走向成功的前提

2.3. 职业态度之三:负责有为

§ 责任感与使命感

§ 先有为,后有位

§ 正确认知自己的角色和责任

§ 成就动机是个人成长的源动力

§ 成就动机的层次及各层次表现

§ 成就动机在研发工作中的具体表现

2.3. 职业态度之四:测试人员需要“三心二意”:

§ 细心

§ 耐心

§ 责任心

§ 质量意识

§ 团队意识

2.4. 测试组织及团队的任职资格管理

2.5. 研发人员职业生涯规划

研发人员的多种职业发展通道

发展通道之一:从普通测试工程师到系统测试讲师

发展通道之二:从普通测试工程师到职能部门管理

发展通道之三:从普通测试工程师到项目管理和产品管理

不同发展通道对职业素养的不同要求


15、 测试组织与团队激励

本章节学习目标:了解如何改进测试的过程与组织,对测试的绩效如何进行度量?

15.1 测试过程改进的20个方面(TPI,包括测试流程、测试工具、测试用例、测试分析等)

15.2 如何衡量测试的效率,及人员绩效考核?

15.3 软件测试如何度量,如何建立测试的标准及基线?

15.4 市场优先的公司测试体系如何改进?(如何说服老板在测试方面投入更多的资源?)

15.5 测试团队与开发的冲突管理

15.5.1 正确对待缺陷

15.5.2 具备良好的态度

15.5.3 开发和测试的合作

15.6 五招解决测试人员的成就感问题

15.7 敏捷开发模式下测试流程的改进

15.8 测试人员流动性较大,稳定性如何控制?

15.9 测试团队的培养和提升途径(业务能力、设计能力、团队沟通及协调能力)

实例演练1:在进度紧张的情况下,测试人员如何处理好和项目经理,开发人员的关系?

 

16、 测试团队成员的养、用、育、留管理

本章节学习目标:了解如何对测试团队的成员进行养、用、育、留等管理。

 

16.1 招聘合适的测试人员

16.1.1  建立测试人员的招聘标准

16.1.2     校园招聘的好处

16.1.3     社会招聘有哪些注意事项

16.2  测试人员培养

16.2.1  建立奖罚机制

16.2.2     能力的提升与KPI挂钩(自学加组织培养)

16.2.3     业务能力的提升通道

16.2.4     测试方法及策略的提升通道

16.2.5     沟通能力、表达能力、团队协调能力的得升通道

16.2.6     对测试人员进行定期的考试

16.3 测试人员的使用

16.3.1  选择合适的测试人员参与项目

16.3.2     采用“猴子管理法”,让每个测试人员明确自已的责任

16.3.3     定期进行辅导和帮助

16.3.4     对测试人员表现给出评价

16.3.5     从客户那里得到反馈

16.3.6     预知测试人员使用的风险

16.4 测试人员的劝留

16.4.1  方法一:画饼充饥法

16.4.2     方法二:需求满足法

16.4.3     方法三:全面分析法

16.4.4     方法四: 赋予更多的责任,参与决策

16.4.5     方法五: 参与技能提升训练,给予机会

16.4.6     方法六: 领导辅助沟通法

 

17、 打造高效率测试团队的“六脉神剑”

本章节学习目标:如何建立高效率的测试团队,包括建立规范的测试流程体系、测试人员的任职资格管理、测试与开发的融合、测试流程的培训、选择合适的测试工具、测试人员全生命周期的参与;

17.1 建立规范的测试流程体系

17.1.1  测试人员参与全生命周期的测试流程体系的建立

17.1.2  测试的活动要相对独立

17.2  测试人员的任职资格体系的建立(包括TSE、TPM、TDE、TE等角色的职责)

17.3  测试人员与开发人员的融合(既是合作也是对立)

17.4  测试流程的培训

17.5  选择合适的自动化测试工具

17.5.1  脚本工具

17.5.2  UI回归自动化工具

17.5.3  单元测试工具

17.5.4  接口测试工具

17.5.5  兼容性测试工具

17.5.6  安全性测试工具

17.6  测试项目管理:

17.6.1 软件测试项目管理概述

17.6.2 软件测试过程

17.6.3 软件测试过程的控制

17.6.4 软件测试组织

17.6.5 软件测试人员

17.6.6 软件测试度量

17.6.7 建立测试管理体系


18、 课程总结与回顾

本章节学习目标:针对两天的课程,进行课程回顾,总结学习成果。

18.1  研讨:根据我公司现状,如何提高测试团队的效率和稳定性? 测试团队如何更加快速成长?


上一篇: 基于IPD开发流程的测试管理 下一篇:软件测试需求分析与系统测试用例设计

下载课纲

X
""