测试的进阶之道

测试的进阶之道

目录

测试的阶梯(角色) 2

管理类 2

技术类 2

如何拾级而上 3

技能获取的德雷福斯模型 3

参考 3

关键任务 3

测试管理(目标) 3

测试计划和策略 4

测试系统建设 4

看结果,更看过程 4

测试过程的定义 5

角色的定义 5

关键动作(输入,处理,输出 IBO模型) 5

TMMi 5

方法论 5

测试设计 6

测试执行 6

专项测试 6

日常执行 7

测试设计 7

测试执行 7

用例管理,缺陷管理 7

测试评估 7

手工、自动化之辩 7

每一个部分都可以展开成一篇文章,一本书,甚至多本书来讨论,这里只是概述;提纲挈领。不免挂一漏万,只要能够领会主干应该就够了。

测试的阶梯(角色)

按照不宜混淆的层次,大题上可以分为这么一些关键角色/阶段

管理类

测试总监 TD

负责公司级,产品线级别的测试管理工作;保障产品快速,高质量的交付。

测试经理 PM

一个产品的测试管理任务,质量看门人。

测试组长 PL

一个模块,一个版本的日常管理,如用例管理,缺陷管理,人员管理,环境,资源管理等

技术类

测试系统工程师(架构类) TST/TAE

全局统筹,环境,计划,策略的协同能力;

基于风险的测试能力,测试计划和策略的拟定;环境规划设计;

测试设计(功能,专项)TDE

要求的是对需求,业务的理解;

开放的测试思维;

专业的测试设计方法和技巧;不断丰富的实践经验;

测试执行(功能,专项)TE

功能测试,业务的理解能力;

利用各种执行工具的能力,操作系统,数据库等;

测试开发(自动化,单元测试)

这个是开发类方向发展; 需要的更多的是开发的能力;测试算式业务;

自动化是方式,工具,讲的是规模效应,适合的才好;

要结合团队的规模,资源,能力来采用何种程度、类型的自动化;

前期投入大,维护成本,小团队不一定适合;

如何拾级而上

- 确定自己的特点,喜欢什么,擅长什么?

技术还是管理;

- 细分的领域,需要专注

技能获取的“德雷福斯模型

专家

精通

胜任

高级新手

新手

参考

一万小时天才理论

程序员的思维修炼

软件架构师的12项修炼

关键任务

测试管理(目标)

管理的本质

基于环境(需求)和资源制定目标,

提供基础设施,人力,物料资源等保障;

- 制定目标,准备资源

拟定计划,策略;如何达成目标

这个其实是一个偏重管理的层次,

当然对测试工作本身的理解是拟定目标的前提条件;

符合SMART原则

- 好坏的体现;

尽早发现问题,降低项目的总体成本,保证质量;

测试的目的不是发现的问题越多越好;而是越早越好,预防问题,减少问题;

- 测试过程管理、过程改进

- 测试资源管理

- 测试人员管理等

测试计划和策略

- RBT - 基于风险的测试;评估风险等级,优先考虑高风险的问题,

测试的本质,其实是基于统计概率来发现常见的问题

理论上讲,测试的空间是无限大的,所以只能选择有效的测试集来保证 有限的质量保证;学问在于选择什么样的测试集,数据来测试;

- 计划的执行,执行,跟踪,回顾等 PDCA 循环,来保证质量

测试系统建设

看结果,更看过程

再次说明,测试不是发现的问题越多越好,要看测试的覆盖度,测试集的选择是否合理,有效;看结果,更要看过程,通过过程来保证质量。

测试过程的定义

采取的模型,

和开发模型的协同(瀑布,迭代等,TDD)

角色的定义

根据分工,职责范围;测试相关的关键的角色可以分为;

测试经理、测试组长(管理 PL/PM)

测试系统工程师(TSE设计)

测试设计工程师(TDE设计)

测试开发工程师(TDE开发)

测试工程师(TE);

自动化测试工程师(开发 ATE)

专项测试工程师(性能,安全,易用性,可移植性,文档等)

关键动作(输入,处理,输出 IBO模型)

IBO模型和开发的一样的道理,可以使用到有关过程的活动中。

适合于线性的系统;

测试日常

角色之间如何配合,相互分工;

TMMi

TMAP/Next

测试能力成熟度模型

方法论

使用的工具,方法,模板,系统,质量要求等;

针对每个关键的动作,都有对应的

测试设计

环境的设计

过程的设计

用例的设计(执行的过程,数据设计)

测试执行

手工执行

自动化执行

专项测试

- ISO9126 质量体系

功能测试

性能测试

易用性测试

安全测试

可移植性测试

兼容性测试

文档测试

安装测试

国际化测试

本地化测试

- MonkeyTest

随机测试;当然可以很快,但是需要验证,这个是人的

- Explorer Test 探索性测试

- Model Based Test 基于模型的测试

日常执行

测试设计

环境设计,

用例设计

数据设计

自动化设计(框架,用例等)

测试执行

单元测试

集成测试

系统测试

功能测试

专项测试

用例管理,缺陷管理

执行任务分配,执行等,日常的小的管理

测试组长的角色就可以了

测试评估

测试过程的评估

测试结果的评估

产品质量的评估

手工、自动化之辩

手工方式,自动化方式不同而已,自动化不是全部;

自动化的定位,

1. 应该是辅助的,保护网的角色;

2. 创造性的,设计的工作还是要人来完成;

3. 结果的检查,异常情况的处理还是需要借助人;依赖人;

自动化的范围,理论上讲

计划,策略,设计,执行,结果检查;

评估等都可以全部,或者部分的自动化;

适合 数据类型,接口类,标准化操作的测试,

规则明确(输入,输出,关系明确,可以通过计算处理的情况)

不要夸大,也不要贬低自动化的作用; 适合才是最好的。

目的是为了提升效率和质量;在这里要体现投资收益的平衡。

你可能感兴趣的:(测试的进阶之道)