培训时长 | 245 |
授课对象 | |
授课方式 | 内训 |
课程大纲: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.手工测试、自动化测试、负载测试、压力测试、性能测试本单元研讨案例:列举我公司在软件测试中遇到的问题,并分组讨论,派代表上台发言。2.软件测试工程过程本章节学习目标:让学员了解测试工程过程和流程管理,掌握软件测试的关键活动和管理流程,并向学员展现每个阶段的测试模板。2.1.什么是软件测试工程 (从阿里巴巴的性能测试谈起)2.2.测试在软件工程中的位置(基于不同开发流程中的测试角色)2.3.瀑布模型测试过程2.4.W型测试过程2.5.H型测试过程2.6.V型测试过程2.6.1.单元测试计划 •单元测试 •单元测试报告与详细设计关系2.6.2.集成测试计划 •集成测试•集成测试报告与概要设计关系2.6.3.系统测试计划 •系统测试 •系统测试报告与需求规格设计关系2.6.4.测试用例2.6.5.测试缺陷管理2.6.6.测试报告2.7.代码审查与走读过程2.7.1.召开审查走读会议2.7.2.专人书面评审2.7.3.使用统计和分析工具2.8.单元测试过程2.8.1.什么是桩(Stub)、驱动器(Driver)、模拟器(Simulator)2.8.2.单元测试环境2.8.3.单元测试工具选型2.8.4.单元/部件测试准备2.8.5.单元/部件测试执行2.8.6.测试计划和用例评审查检表、测试记录、缺陷报告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.10.5.系统测试执行 2.10.6.测试环境的规划和管理2.10.7.问题跟踪反馈 •基于产品平台的测试策略 2.10.8.系统测试成败关键因素分析 •“黑白唱”2.11.文档测试过程2.11.1.安装包文字和图片2.11.2.安装与设置指南2.11.3.用户手册2.11.4.在线帮助2.12.验收测试2.12.1.验收的基本定义与目的2.12.2.验收测试类型2.12.3.根据合同验收2.12.4.用户验收测试2.12.5.运行测试2.12.6.现场测试2.12.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.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.11.CTP、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.测试团队的培养和提升实例演练:在进度紧张的情况下,测试人员如何处理好和项目经理,开发人员的关系?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 lutos notes)5.3.测试用例管理工具(TD、TESTLINK、BUGFREE等)5.4.测试工具部署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.如何建设高水平的测试部门?