记录部分读书过程当中的要点和感受,感谢刘琛梅老师出版的这种书,相信完全读完以后也能给自己许多的新思路。
第一章 软件测试工程师的“三年之痒”
1、书中提到的一些核心观点
1.1 软件产品质量模型是测试的基础。测试类型和测试方法都是在此基础上衍生出来的;
1.2 测试点不等于测试用例。测试点通过测试设计来得到测试用例;
p.s. 这里的测试点个人感觉更贴近于我们所说的需求点,即对应需求所要求的核心功能
1.3 软件测试构架师虽然是测试团队的技术官,但也不应忽视沟通协调和文档写作的能力;
1.4 测试策略是测试的核心
1.5 测试应该基于质量目标,基于风险,围绕研发流程,通过测试分层来进行“刚刚好”的测试
2、软件测试的发展
从最初的投入极少的“调试”开始发展,最初的测试大多数仅仅只是由开发人员自己完成。
曾经的著作《软件测试艺术》提到,测试是“为了发现错误而执行的活动”,核心的2个活动是“证实”和“证伪”;
《软件测试完全指南》中则表示,“测试是以评价一个程序或者系统属性为目标的任何一种活动,测试是对软件质量的度量”;
1996年提出了2个系统的软件测试评估方法,包括“测试成熟度模型TMM”和“测试能力成熟度模型TCM”,软件测试体系逐渐完善;
2002年,《系统的软件测试》则对软件测试进行了进一步的定义,“测试是为了度量和提高被测软件的质量,对测试软件进行工程设计、实施和维护的整个生命周期过程”。
3、国内软件测试行业的一些现状
3.1 进入软件测试岗位的新人们对岗位认识不足,亦或是有着较强的编码情结,又或是将产品质量问题直接和开发人员的能力挂钩;
3.2 管理决策者对于测试的认知不足,认为测试本身是一种“开销”,不理解测试人员的价值不全部在于发现bug,而是预防缺陷。管理者盲目的压缩测试的时间,没有让测试人员在正确的时间做正确的事情;
4、软件测试的优势
4.1 对比于软件开发,软件测试的入门确实更加容易一些;
4.2 软件测试人员由于天生的工作需求,对于整个软件系统的理解会更加全面;
4.3 软件测试人员在进行黑盒测试时模拟的其实是用户的使用场景,需要理解用户的“隐形”需求;
4.4 软件测试人鱼会有更强的沟通协调能力,有助于和外部用户、内部开发人员的沟通,软件测试更加注重于“广度”
5、软件测试的劣势
5.1 入门门槛低,导致大家对测试存在着较多的刻板印象
5.2 软件测试的发展门槛较高,上升的岗位选择和空间都较小
5.3 如果仅仅只是想在软件测试的领域深耕, 测试注重于“广度”的优势反而变成了劣势
第二章 软件测试工程师的职业规划
1、软件测试在技术上的发展
作者将测试技术主要分为了2类,产品测试技术和专项测试技术。
1.1 产品测试软件:软件测试构架师
也可以称呼为软件测试技术专家或者软件测试构架师(测试SE),测试构架师负责的是在业务(需求)向测试技术转换的过程中起桥梁作用,负责产品测试的整体构架设计;
测试构架师和系统构架师一样,都需要拥有一定的战略规划能力、业务建模能力、数据分析处理能力、面向产品生命周期的质量保证和持续改进能力;
1.2 专项测试工程师
从测试技术的层面,自动化测试技术、测试工具(测试模拟工具和测试管理工具)、缺陷分析和测试评估技术,这些都是可以专项深入发展的方向;
从产品质量属性的层面来看,专项测试技术还可以包含性能测试技术、可靠性测试技术和安全性测试测试技术等;
1.3 质量领域的发展
软件测试还可以向质量管理的领域发展,一些企业就会设置质量总工这样的岗位,往往都是由高水平的测试人员胜任。
软件测试所做的“预防缺陷”,这件事情的理念和质量管理的思想也是一致的,将软件测试称为一种“质量活动”也是完全可以的。
2、测试段位
这里不展开说明,因为这里也仅是作者给出的一种评估方案。测试人员们会苦恼自己的提升能够如何体现,除了升职加薪以外,似乎直接的岗位提升路径也很有限,那么是否能有其他的评教机制?
我个人理解,这里其实是和企业的岗位晋升制度密切相关的,对于企业的软件测试这个岗位来说,是否能够通过分级清晰地体现出差别,并形成软件测试能力提升的标杆,这是很重要的。