查看原文
其他

全新亮相:软件测试能力图谱

2017-09-01 朱少民 软件质量报道

(有那么一闪而过的想法——将文章名定为“史上最全的软件测试能力图谱”,但我具有良好的批判性思维素质,深知“没有最全,只有更全” ;还有那么一闪而过的想法——将文章名定为“让你尖叫的软件测试能力图谱.....” 但有某种倾向 😄, 还是回归朴实为好)

经常被测试人员问到这样的问题:

  • 测试工程师的需要什么能力?

  • 我要掌握什么方面的知识?

  • 测试人员最重要的能力是什么?

  • 如何不断提升自己的能力?


今天就呈现自己利用业余时间做的一幅软件测试能力图谱, 全方位解析研发人员(不局限于测试人员) 需要哪些方面的测试能力、具有哪些能力才能成为一名合格的测试工程师。并说明这些能力之间有什么关系、以及如何不断提升自己的能力、向哪些点进行突破......


先从基本能力看,把它归为三项,没有这个基础,不仅难以开展测试工作,今后的成长也会很困难。(由于时间关系,不细谈了,以后见面或在学习平台上再详细交流):

  1. 软实力

  2. 测试基础理论

  3. 基本测试能力

(由于微信自动打上水印,个别看不清楚,别急,后面还有机会:竖条、完整图谱)


低水平的测试就会执行,像用户那样执行,几乎没有门槛,那不是专业人员,可以忽略。谈到专业测试,人们往往首先想到的是测试设计。但测试设计的基础是分析而分析的基础是测试思维方式和思维能力。而且测试人员最好先做几年开发——理解架构、程序和代码等,具备良好的开发能力,了解开发人员的思维和习惯,然后再做测试,就更容易成长为优秀测试工程师。在许多公司(如华为),把开发者测试(主要是单元测试、集成测试)称为“LLT:Low Level Testing (底层测试、甚至可以翻译为低层测试、下层测试)”,只有具备底层测试能力,才能走向高层测试。

  1. 测试思维方式能力

  2. 测试分析能力

  3. 开发者测试能力


有了上面两层能力,基本可以干活了,做LLT、做功能测试,但还缺一层能力。纯碎的算法、工具等测试,可能不需要业务,但绝大多数的测试工作都和业务相关,需要业务理解能力。不理解业务,一定做不好测试基于业务、基于分析,培养自己的设计能力、自动化测试能力,才是靠谱、坚固耐用的如果没有业务、没有分析、没有测试基础,自动化测试能力只是空中楼阁。现在流行“测试开发”岗位,也应该是“测试在先、开发在后”。

  1. 业务理解拓展能力

  2. 测试设计能力

  3. 测试自动化能力


具备了良好的前三层能力总共有33种能力,不容易吧)才算是一个合格的工程师。这时,可以追求一些突破,在专项测试上的突破、在测试效率/速度上的突破、在管理上的突破,成为测试领域技术专家、成为技术管理者。

  1. 专项测试能力

  2. 快速测试能力

  3. 测试管理能力


为了让大家看得清楚,换个方向看,可以粗糙地(不够准确)分为三种能力:

  1. 专业测试能力:测试基础、分析、设计等能力;

  2. 计算机技术能力:偏计算机技术,如开发者测试、性能测试、自动化测试工具和框架开发等;

  3. 软实力与业务能力:如沟通交流、思维能力、管理能力等。


最好上一张完整的测试图谱:


当然,欢迎大家批评、建议和补充。


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存