课程特点
● 内容系统、实用、精彩,不仅讲解做什么、如何做,而且讲解为什么这样做。
● 所有课程内容都结合被培训公司的实际业务案例或场景展开讨论,确保培训内容即学即用,对学员的能力提升立竿见影。
● 强调和学员的交互和讨论,不仅提出问题,有利于学员思考,而且在课堂上有练习、实践,现场点评,加深理解所学内容,获得更佳培训效果。
● 分享十多年在国际一流企业的软件测试实践和经验,深入浅出地分析测试分析和设计中遇到的实际问题,对学员的将来工作具有很高的借鉴与参考价值。
课程收益
通过本课程的学习,能够获得下列收益(达到下列培训效果):
● 能够理解测试软件工作中一些关键的概念:测试目标、测试需求、test Oracle、测试充分性、测试覆盖率等;
● 能够结合项目的实际需求,完成项目或模块的测试需求分析;
● 比较系统地掌握软件测试用例的设计方法,并能知道这些方法的应用场景;
● 针对某个具体的测试项,能够选择正确的测试设计方法和工具;
● 能结合产品的具体应用场景有针对性地进行测试用例设计,达到良好的测试效果;
● 测试用例结构设计,包括测试目标的分解、确定合适的测试用例颗粒度等;
● 能对测试用例的覆盖率进行评估和分析,从而能够不断完善测试用例;
● 在测试用例设计中,能够适当考虑测试策略,确定测试用例的优先级等;
● 在测试分析和设计中思路清晰,能够处理常见的问题。
课程对象
测试工程师、软件开发工程师、测试经理等。
课程大纲
Day 1:软件测试分析
虽然人们习惯讨论测试设计,但测试分析是基础,只有将质量要求、业务场景、业务流程、测试目标、测试范围等分析清楚了,才能确保测试的设计建立在坚实的基础之上,获得有效且充分的测试用例集。
1) Survey:接受到一个测试任务时,如何开始?
2) 软件产品需求的层次性
3) 业务需求的多个维度
4) 如何识别用户角色
5) 从用户角色维度来分析应用场景
6) 场景分析过程
7) 业务流程分析和场景分析有什么不同?
8) 练习
9) 项目中哪些因素会影响测试?
10) 产品的结构是如何构成的?可以分层测试吗?
11) 从系统运维角度看,对产品有什么要求?
12) 练习
13) 如何理解测试充分性?
14) 如何衡量测试的覆盖率?
15) 如何明确测试目标?
16) 小组讨论:测试目标和项目目标有冲突吗?
17) 如何确定测试范围?
18) 测试风险分析
19) 什么是测试策略?
20) 如何确定合适的测试策略?
21) 如何确定测试项的优先级?
22) 有什么工具可以用于测试分析的?
23) 练习
24) 讨论:如何确保产品交付的质量?
25) 测试分析的小结
Day 2:测试用例设计
测试用例设计是测试执行的基础,没有设计的质量就没有测试执行的质量,也就不能做好质量把关工作。如何做好测试设计呢?关键是在测试分析的基础上,善于运用测试设计方法,并且持续评审和优化。
1) 快速Survey:自己团队的用例设计问题有哪些?
2) 了解测试流派和测试思想
3) 测试方法体系
4) 基于需求验证的设计方法
5) 结构化的设计方法
6) 基于用户场景的设计方法
7) 上下文驱动的测试设计方法
8) 小组讨论:你喜欢哪种方法?您的项目适合哪种方法?
9) 边界值分析和等价类划分方法的运用
10) 常用的决策表方法
11) 因果图方法有何特别价值?
12) 练习
13) 为什么会用Pairwise方法?
14) 什么情况下可以用分类树吗?
15) 练习
16) 进一步理解基于控制流覆盖的设计方法
17) 基于数据流覆盖的设计方法
18) 讨论:如何确保测试设计的质量?
19) 功能状态与迁移
20) 基于场景的测试方法
21) 练习
22) 错误故障模式与错误猜测法
23) 探索式测试有助于优化测试用例
24) 如何评审测试用例?
25) 如何组织何维护测试用例?
26) 小组讨论:如何提高团队的测试用例设计水平?
27) 小结