测试工程师职业发展
- 管理路线
- 测试组长
- 测试经理、测试主管
- 测试总监
- 技术路线
- 产品测试技术
- 把产品测试的更好的技术
- 专项测试技术
- 不针对具体的产品,而是测试领域普遍适用的技术
- 产品测试技术
- 产品测试专家(即测试架构师)
- 专项测试工程师
- 像测试架构师一样思考
- 测试的目标是什么
- 验证产品质量是否满足用户需求
- 测试的范围是什么
- 测试的深度和广度是什么
- 测试的重点和难点是什么
- 如何安排测试
- 如何评估测试结果
- 测试的目标是什么
向软件测试架构师的目标迈进
测试架构师的知识能力模型
-
测试的基础
- 正确、全面、深入的理解用户需求
-
测试策略定义
- 根据产品的质量目标、产品的风险分析来确定测试的重点和难点、深度和广度
-
软件产品质量模型
- 一个产品需要满足的质量划分为六大属性,概括了产品设计时需要考虑的地方
- 功能性
- 可靠性
- 易用性
- 效率(性能)
- 可维护性
- 可移植性
-
测试类型
- 功能测试
- 安全性测试
- 兼容性测试
- 配置测试
- 可靠性测试
- 易用性测试
- 性能测试
- 安装测试
-
测试方法
-
产品测试车轮图
-
功能测试方法
- 单运行正常值输入法
- 单运行边界值输入法
- 多运行顺序执行法
- 多运行相互作用法(并发)
-
可靠性测试方法
- 异常值输入法
- 故障植入法
- 稳定性测试法(多用户、并发、反复操作、异常操作)
- 压力测试法(持续执行超规格负载)
- 恢复测试法(持续超负载后,降低负载至规格内的测试)
-
性能测试方法
- 测试流程
- 1)测试出系统最好的性能值
- 系统能够正确处理新业务的最大能力
- 系统能够同时正确处理的最大业务能力
- 2)分析会影响性能的因素,测试它对性能的影响
- 3)以场景为单位,测试每个场景下的性能
- 1)测试出系统最好的性能值
- 测试流程
-
易用性测试法
- 一致性测试法
- 可用性测试法
- 测试设计技术
- 根据测试类型产生测试点,把测试点加工为测试用例,就叫测试设计
- 四步测试设计法
- step1 建模
- step2 设计基础测试用例
- step3 补充测试数据
- step4 扩展
- 对测试点进行分类
- 四步测试法之前,先对测试点进行分类,对每类测试点使用四步测试设计法
- 分类的依据:
- 流程类
- 参数类
- 数据类
- 组合类
- 流程类测试设计:路径分析法
- 路径分析法:指对能够覆盖流程的各种路径进行分析,得到一个路径的集合
- 常见的覆盖策略
- 语句覆盖
- 分支覆盖
- 全覆盖
- 最小线性无关覆盖
-
参数类测试设计:输入-输出表分析法
-
数据类测试设计:等价类和边界值分析法
-
组合类测试设计:正交分析法
-
探索式测试
- step1 确定探索式测试任务
- step2 设计探索地图并执行探索式测试
- step3 探索式测试总结
- 自动化测试
- 如何评估自动化的收益
- 自动化测试的实施成本(前期开发成本+后期维护成本)
- 自动化的运行次数
- 自动化测试的实施成本比
测试架构师的软能力修炼
- 沟通和协商
- 沟通原则:
- 尽早沟通
- 既要对事,也要对人(换位思考)
- 写出漂亮的测试用例
- 测试用例模板
- 测试用例标题要是一个完整的句子
- 用条件而不是参数来描述测试用例标题
- 如果一个用例中包含有多个参数,用例中应该是每个参数的取值
- 不要在测试用例中引用别的测试用例
- 避免测试用力中包含过多的用户接口细节
- 明确测试步骤和预期结果的对应关系
- 避免在测试步骤中使用笼统的词
软件测试架构师的核心技能
如何制定好测试策略
- 测试策略
- 测什么
- 怎么测
- 四步测试策略制定法及用到的方法或模型
- step1:明确“产品质量目标”
- 产品质量评估模型
- 缺陷分析技术
- step2:进行“风险分析”
- 风险分析技术
- 老功能分析技术
- step3:适配“产品开发流程”
- step4:进行“测试分层”
- 分层测试技术(单元、集成、系统测试)
- 测试覆盖度评估
- 1)需求覆盖度评估
- 直接在需求表中确认测试情况
- 建立测试用例和需求的对应关系
- 2)路径覆盖度评估
- 路径覆盖度是“已经测试到的语句数量”和“程序中可执行语句的总数量”的比值
- step1 确定路径覆盖策略
- step2 使用路径分析法设计测试用例
- 跟踪测试用例的执行情况
- 测试过程评估
- 测试用例评估
- 指标1 测试用例执行率
- 指标2 测试用例执行通过率
- 测试用例和非测试用例发现缺陷比
- 测试方法分析
- 测试投入分析
- 缺陷分析
- 缺陷密度
- 缺陷修复率
- 缺陷趋势分析
- 缺陷年龄分析(缺陷引入时间)
- 缺陷触发因素分析
- 组合使用多种缺陷分析技术
- 风险分析技术
- 风险识别
- step1 分析该想测试活动需要关注那些内容
- step2 分析上述内容都能够保质保量顺利进行,需要哪些条件
- step3 逐一分析这些条件是否能够满足
- 风险评估
- 风险优先级
- 需求类的风险
- 设计类的风险
- 流程类的风险
- 历史类的风险
- 风险应对
- 回避风险
- 转移风险
- 减轻风险
- 接受风险
- 分层测试技术
- V 模型
- 设计测试层次
版本质量评估
- 使用软件产品质量评估模型来进行质量评估
- 在版本质量评估中记录需求和实现的偏差
- 在版本质量评估中进行测试过程评估
- 在版本质量评估中进行缺陷分析
- 调整测试策略
- 建立特性版本质量档案