上海艾纵企业管理咨询有限公司 - 课程体系 - 专题课程 - 测试专题


您好!欢迎来到上海艾纵企业管理咨询有限公司!

加入收藏

登录注册

400-676-1955

专题课程

软件单元测试管理

我要报名

编辑日期 2018-06-11  阅读次数:1301 次


【课程简介】

单元测试是在软件开发过程中要进行的很低级别的测试活动,在单元测试活动中,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。相对于系统测试,单元测试发现缺陷的成本更低。而对于嵌入式系统,单元测试是检查软件缺陷最经济有效的一种方法,他能使测试尽早开始,并且可以独立于目标硬件平台,不受硬件缺陷的影响,降低测试成本。

在国内许多较成熟的软件企业已有了专门的测试工程师,对测试工作已经比较专业化了,然而这些专业化的工作大都局限于黒盒化的系统测试,很少有企业在项目中要求执行单元测试,就算有些组织号称做单元测试,其实也不是真正的单元测试。因此,程序员掌握单元测试技能对于提升产品质量、降低开发成本和缩短开发周期都有重要的意义。

【培训特色】

Ø  课程完整介绍项目级以及产品级测试体系,以及软件测试4大活动(单元测试、集成测试、系统测试、验收测试)的基本职责、方法。

Ø  系统化的课程内容:全面分析测试理论、测试实践、测试流程、团队管理、工具模板及敏捷测试管理。

Ø  讲师在国内成熟企业(华为、阿里巴巴、蓝韵集团)工作时的切身实践体会和16年多的软件开与与测试管理经历,能够深入浅出地分析讨论各种软件测试管理遇到的问题, 并列举大量的测试管理案例,有助于管理人员借鉴与参考。

Ø  讲师有国外项目背景,曾参与国际化项目的测试项目管理工作,与美国及印度的同事深入合作,积累了很多国际化软件测试的典型实践。

Ø  课程专业,内容丰富而精彩,不但让测试管理者了解测试知识,而且还能从中学习到研发管理流程,QA等方面的知识。

Ø  课程实践性较强,所有的方法、工具和模板都是来自讲师从事一线管理时的经验和教训。

 

【目标收益】

本课程将以什么是单元测试、为什么做单元测试为切入点,澄清人们普遍对单元测试的一些误解,揭开单元测试的神秘面纱,同时,会对测试相关概念和方法。接下来会以单元测试过程为主线,对单元测试计划、单元测试环准备、单元测试用例设计,单元测试执行和测试结果分析,在测试计划环节会对单元测试所涉及测试工具做介绍。后期讲解集成测试。集成测试是若干单元集成起来的测试,如果采用自底向上不打桩的单元测试方法,这样的单元测试实际同时完成了集成测试,因此,本课程对集成测试不做突出介绍。

本课程是以讲解、演练和点评相穿插的形式进行,40%时间是知识讲解,40%时间演练,20%时间演练结果点评,所有演练都是以JAVA系统为对象的。在第二天的课程里,所有的演练都是以一个虚拟的软件项目作为演练对象,从单元测试计划开始,到最后的测试结束,学员会经历完整的单元测试过程,从而系统地掌握单元测试技能,培训后能够立刻从事单元测试活动,而不是仅仅停留在对知识的理解层面上。培训中演练活动所使用的工具、模板等都可以直接为学员在日后的实际工作中使用。

【培训对象】

Ø  研发副总裁、研发总监、项目总监、研发经理、测试经理、软件测试人员、软件开发人员、项目经理、质量保证人员等

【课程大纲】

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.1.1   单元测试计划内容:制定测试策略,选择需要进行单元测试的模块

3.1.2   确定各模块的测试顺序

3.1.3   测试工具的选择

3.1.4   进行时间安排,单元测试活动贯穿于项目始终,并非只有在编码结束后才开始进行单元测试活动

3.1.5   人员安排,为了保证测试的有效性,可采用交叉测试,同时交叉人员能够熟悉对方模块,有能力发现问题

3.1.6   演练:针对虚拟的软件项目,制定单元测试计划

3.2      单元测试环境准备

3.2.1   针对嵌入式系统,如何搭建单元测试环境,包括建立测试运行环境,制定测试驱动和结果输出的代码模板,以及工具如何嵌入到测试环境当中

3.2.2   演练:针对虚拟的软件项目,并根据测试计划的演练结果,进行单元测试环境准备

3.3      单元测试用例设计

3.3.1   根据前面环节所搭建好的测试环境,如何简洁高效的进行单元测试用例设计

3.3.2   演练:针对虚拟的软件项目,并根据测试环境准备的演练结果进行单元测试用例设计

3.4      单元测试执行

3.4.1   根据前面环节所设计的测试用例,编写测试代码,构造测试数据

3.4.2   执行测试

3.4.3   缺陷管理,如何对一个缺陷从提出到后期关闭进行跟踪管理

3.4.4   演练:针对虚拟的软件项目,并根据测试用例设计的演练结果执行单元测试

3.4.5   根据前面环节所设计的测试用例,编写测试代码,构造测试数据

3.4.6   执行测试

3.4.7   缺陷管理,如何对一个缺陷从提出到后期关闭进行跟踪管理

3.4.8   演练:针对虚拟的软件项目,并根据测试用例设计的演练结果执行单元测试

3.5      单元测试结果分析

3.5.1   根据测试所产生的数据,如工作量、测试数、缺陷数和缺陷分类,评估测试的有效性,评估测试对象的质量情况

3.5.2   介绍测试度量分析方法

3.5.3   演练:针对虚拟的软件项目,并根据测试执行的演练结果进行单元测试结果分析

4、  单元测试组织与团队

本章节学习目标:了解如何管理一个测试团队,包括个人技能,团队能力,冲突管理,绩效考核,测试团队成员的选、用、育、留等环节。

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

4.2      测试技能发展历程

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

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

4.5      测试组织发展历程

4.6      建立独立的测试组织

4.7      如何建设高水平的测试部门?

4.8      企业测试文化的建立及培养

4.9      团队组织架构

4.10    个能技能

4.11    测试团队角色分类

4.12    测试团队的沟通

4.13    测试团队冲突管理

4.13.1       正确对待缺陷

4.13.2       具备良好的态度

4.13.3       开发和测试的合作

4.14    绩效考核管理

4.15    招聘优秀的软件测试工程师

4.16    测试人员的职业通道

4.17    激励测试人员

4.18    测试团队的培养和提升

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

 

5、            单元测试过程和工具介绍(包括开源工具和商用工具举例)

本单元学习目标:熟悉单元测试过程和所使用的工具,包括嵌入式系统的测试工具的介绍和使用。

5.1      介绍单元测试活动整个软件开发过程中的分布,以及与其它项目活动之间的关系

5.2      介绍单元测试所涉及测试工具,如覆盖度统计工具、内存检查工具等

5.3      演练:工具使用练习

5.4       脚本和脚本语言(TCL/TKPYTHONVBRUBYSHELL等)

5.5      测试缺陷管理工具(QCBUGZILLAIBM lutos notes

5.6      测试用例管理工具(TDTESTLINKBUGFREE等)

5.7      测试工具部署

5.8      自动化测试框架介绍

5.9      开源测试工具

5.10    单元测试工具开发

5.11    单元测试工具分类

5.12    单元测试工具的收益分析

5.13    项目研讨:单元测试是否可以促进项目进度,节省质量成本?

 

6、  基于敏捷开发模式的单元测试管理

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

6.1      敏捷测试的必要性

6.2      敏捷的价值

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

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

6.5      敏捷测试员的十条法则

6.6      面向技术的测试管理

6.7      敏捷测试四象限管理

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

6.9      敏捷开发过程中的单元测试策略

6.10    测试人员和开发人员的单元测试任务的分工

6.11    敏捷单元测试的典型实践

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

 

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

本章节主要学习单元测试如何推进?

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

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

7.3      测试技能发展历程

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

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

7.6      测试组织发展历程

7.7      建立独立的测试组织

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

 

 

8、  课程总结与回顾

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

 研讨:根据我公司现状,如何推进软件单元测试管理体系?