软件测试管理
课程背景:
软件测试管理是提高软件质量的重要手段。一些企业软件质量总是在较低水平徘徊,这些企业也想试图提高软件质量,了解到测试是提高软件质量的重要手段之一,但总是不得要领,不知如何建立测试管理体系,设置了人员但不知如何明确职责,明确了职责但不知如何建立测试流程,建立了流程但不知如何参与
研发团队进行测试,等等现象枚不胜举。目前国内在
产品开发过程中“重开发,轻测试”的思维普遍存在,软件产品质量问题频频暴露,导致顾客满意度下降,利润降低,甚至召回,给企业的正常运作带来的许多不利的影响。这些常见的问题主要表现在:
产品需求不明确,上线时间确定,测试部门压力山大,怎么办?
未立项,开发已进行过半,前期无控制,后期无保障,测试人员如何应对?
开发交付的文件,质量差,测试跟着做集成,上线交付质量无底线,测试需要背“黑锅”?
为什么BUG测试不出来,在用户使用中,在合作伙伴那里反而被测试出来?
如何在短时间和资源不足的情况下,尽可能测试出多的BUG?
如何改变公司老板市场优先的意识?
什么是测试策略?如何做好测试设计?
如何减少测试重复工作的工作量?
如何更好对组员的测试质量进行监控?
测试文档很多,如何保证测试文档的质量?
测试对象评价,对于领导来说,如何通过只看对象,得知该对象的哪些部分有问题,哪些部分没有问题,同时得知对该对象的质量评价。
如何衡量测试的效率,及人员绩效考核?
如何改进测试过程?如何衡量测试过程的有效性?
如何通过自动化工具来降低产品测试的成本?
软件试如何度量,如何建立测试的标准及基线?
测试管理者、工程师应该如何跟周边部门配合?
本课程关注于软件测试管理体系建设,包括纯管理软件、互联网软件、嵌入式软件等系统级产品。它将从软件测试概念、软件测试工程、产品研发过程中的测试管理、软件测试组织与团队、软件测试技术与自动化、敏捷测试管理等几个层面进行培训。
课程收获:
学习如何提高测试过程的有效性,进一步提高测试效率
学习如何通过完整的测试设计,进一步保证软件产品质量
分析为什么测试环节是许多企业的“短板”,深度剖析提升测试效率和质量的技巧
找到如何管理软件测试组织及团队的方法和思路
系统掌握业界领先的产品开发过程中测试
项目管理方法,测试人员如何参与项目
掌握国际化标准测试流程的建立思路,高效率软件测试的标准及规范
掌握软件测试涉及的关键技术,如单元测试、集成测试、系统测试及验收测试
学习软件测试的度量指标,以及测试团队的绩效考核
找到测试团队跨部门协调困难的解决之道,如何使测试团队发挥最大的价值
掌握建立自动化测试平台和方法和思路
学习基于敏捷开发流程的测试管理
学习企业级测试体系建设的方法和技巧
课程大纲
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.3ALPHA测试、BETA测试、功能测试、性能测试
1.8.4动态测试、静态测试
1.8.5手工测试、自动化测试、负载测试、压力测试、性能测试
本单元研讨案例:A公司软件项目测试环节存在的典型问题,并分组讨论,派代表上台发言。
2、软件测试工程过程
本章节学习目标:让学员了解测试工程过程和
流程管理,掌握软件测试的关键活动和管理流程,并向学员展现每个阶段的测试模板。
2.1.什么是软件测试工程 (从阿里巴巴的性能测试谈起)
2.2.传统测试流程中出现的问题
2.3.渐增式测试模型在产品开发中的应用
2.4.什么是BB
2.5.BUILD的划分
2.6.原型样机的软件测试活动
2.7.工程样机的软件测试活动
2.8.小批量试产样机的软件测试活动
2.9.BETA测试流程
2.10.端到端的测试工程过程
2.10.1.可测试性需求的提出
2.10.2.测试策略设计
2.10.3.测试计划及测试方案的准备
2.10.4.测试用例的设计
举例:等价类设计法
举例:边界值分析法
举例:场景分析法
举例:错误推断法
举例:因果图法
举例:正交设计法
2.10.5.测试环境准备
2.10.6.测试执行
2.10.7.测试报告
2.10.8.测试度量
2.10.9.测试总结
模板展示:测试计划、测试用例、单元测试、集成测试、验收测试、文档测试等模板展示。
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.4测试架构设计
3.5测试计划设计
3.6测试用例设计
3.7测试用例的设计
3.7.1等价类划分法
3.7.2边界值分析法
3.7.3因果图法
3.7.4功能图法
3.7.5错误推断法
3.7.6正交实验设计方法
3.7.7测试用例设计的技巧:“弱化定性思维+ 破坏性假设”
3.8测试工具设计
3.9测试评审
3.9.1需求规格评审
3.9.2详细设计评审
3.9.3测试计划评审
3.9.4测试用例评审
3.9.5测试报告评审
3.10版本测试开始标准及结束标准
3.10.1每个阶段开始的标准
3.10.2每个阶段结束的标准
3.10.3测试中断的标准
3.10.4版本测试结束的标准
3.11缺陷管理流程
3.12测试模板
3.13制订测试验收标准
3.14测试问题定级标准
3.15测试评估
3.16产品级测试管理
3.16.1产品测试的全局性
3.16.2产品测试用例库的建立
3.16.3测试用例的管理
3.16.4测试用例的维护
3.16.5产品自动化测试策略
3.16.6每日构建的(Daily Build)的管理方法
3.16.7缺陷生命周期管理
3.16.8测试覆盖率评估
3.16.9其于软件缺陷的质量评估
3.17测试外包管理
3.17.1降低成本
3.17.2保证质量
3.17.3提高效率
3.17.4灵活的人力资源
3.18软件测试与度量
3.18.1软件测试成熟度模型(TMM)
3.18.2软件开发过程阶段性度量指标
3.18.3缺陷度量或缺陷分布度量
3.18.4测试用例的深度、质量和有效性
3.18.5测试执行的效率和质量
3.18.6缺陷报告的质量
3.18.7测试覆盖度
3.18.8测试环境的稳定性或有效性
3.18.9测试过程改进(TPI:Test Process Improvement)
3.18.10缺陷预防与分析(ODC缺陷分析、Gompertz分析、Rayleigh分析、四象限分析、根本原因分析、缺陷注入分析、DRE/DRM分析等)
3.18.11CTP、STEP、CMMI等模型探讨
案例研讨:为什么要进行测试度量?
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.1.1成本效益和风险
5.1.2测试工具策略
5.1.3测试工具集成
5.1.4脚本和脚本语言(TCL/TK、PYTHON、VB、RUBY、SHELL等)
5.2测试缺陷管理工具(QC、BUGZILLA、IBM Rational等)
5.3测试用例管理工具(TD、TESTLINK、BUGFREE等)
5.4单元测试工具 (XUNIT、PC-LINT、C++ TEST等)
5.5测试工具部署
5.6开源测试工具
5.7测试工具开发
5.8测试工具分类
5.9测试工具的收益分析
项目研讨:自动化测试是否可以促进项目进度,节省
质量成本?
6、基于敏捷开发模式的测试管理
本章节学习目标:了解在敏捷开发模式下的测试管理,测试人员如何参与敏捷项目。
6.1敏捷测试的必要性
6.2敏捷的价值
6.3敏捷测试团队中角色与活动场景演练
6.4敏捷测试团队的运作方式
6.5敏捷测试员的十条法则
6.6面向技术的测试管理
6.7敏捷测试四象限管理
6.8敏捷测试成功的关键要素
6.9敏捷开发过程中的自动化测试策略
6.10敏捷测试的最佳实践
6.11研讨:如何构建高效敏捷测试团队?
7、构建企业级测试体系建设
7.1案例:某企业测试体系存在的问题分析
7.2企业测试体系典型问题分析
7.3测试技能发展历程
7.4测试体系如何从无到有建设?
7.5如何从功能测试到测试平台建设?
7.6测试组织发展历程
7.7建立独立的测试组织
7.8如何建设高水平的产品测试部门?
8、课程总结与回顾
本章节学习目标:针对两天的课程,进行课程回顾,总结学习成果。
8.1 研讨:根据我公司现状,如何推进软件测试管理体系?