.P
U%k%P~E_lr0
测试能力如何提升?从哪里可以借鉴?一直是困惑我及很多测试同行的苦恼。今年我才发现其实我们可以从软件开发领域和硬件测试领域去参考,毕竟这2个行业对我们
软件测试行业而言是先行几步的前辈,从他们的经验中可以给予我们一些共性的参考,例如:我们可以借鉴硬件测试领域的工程方法FMEA,改造为软件FMEA,作为我们软件可靠性分析和测试设计的工程工具;借鉴硬件测试中老化测试原理,来构建长时间测试方案,同样可发现时间积累性的软件缺陷和概率性发生的缺陷。
.^o0Rv;p/oF5E)O}
m0
那么我们可以从软件开发架构师领域的积累总结中,获得哪些软件测试架构师发展的参考意见呢?为此,我决定把我平时在阅读软件架构资料过程中积累的一些材料与大家做一分享,希望我们大家能从这些借鉴材料中找到我们测试人员能力提升的一些方向,改变测试
工作盲目,工程化程度差的局面:
.U*[M*jl5|F0
架构师应该具备将复杂问题简单化的能力,将复杂问题抽象化的能力。
/~"Br4D3[0{0
架构师应该具备很广的知识面,不一定要很深入,由于这个角色更倾向于制定全局方向的战略,因此架构师应该有很好的全局观。
:K;{:U)F+_
Q
O0
架构师必须具备逻辑思维能力,也就是分析问题和解决问题的能力。
B
g|6Dl]!I[/t0
架构师应该具备关联不同知识领域的敏感性,从中受到启发。
)U(K:R}(ZK
w0
要比别人领先一步去了解一些知识和技术,事先有一个清晰的认识,才能帮助团队
其他人。
51Testing软件测试网es9YZ{3vi
x
技术架构总是在不断演变的,对于架构师来说,解决问题的思想和思维方式最为重要。有了这样的思想和思考框架,再借助一定的工具,就能吧自己的思想转化为解决问题的具体方案。
YT;y5a)_t0
架构师要能“无中生有地建立一个模型”
51Testing软件测试网*H#ten$D8y3\8H_
架构师必须足够成熟,因为他们往往需要在无法获得完整信息的情况下,迅速领会问题,并根据经验做出审慎判断,
微软内部有能力要求,能把一张比较模糊的图片清晰化。
51Testing软件测试网I{T7Gu ~2q#F
抽象思维相比具体思维的好处在于:具体思维比较注重细节,也往往会把问题复杂化,使头绪增多而无法收敛。抽象思维能帮助架构师从大量信息、系统文件中,看出一些规律来,并找出与之相关的方面,归纳关键问题。
S'q |9eF
I0
架构师的定位和职责:
1、架构设计;2、设计评审;3、框架及基础库的开发和维护;4、技术攻关;5、技术传播(培训)6、技术管理;7、技术基础设施构建。
51Testing软件测试网]\%N'\J)H'IcD;k4|
架构师从高于代码的抽象角度进行对系统的整体或部分的表达,能对问题域进行尽可能地细化和分解。
51Testing软件测试网)I
vkl G
通常情况下,架构师的主要工作是分析需求,设计实现架构,并给出设计问题。最宏观的设计视图类似于
51Testing软件测试网fj*ONv0L
技术选型,即选择合适的平台,工具,第三方组件。
eo]"Z/r+m0K!s0
当软件规模足够大之后,架构师本身也需要再次分工,此时需要所谓的首席架构师关注系统整体,其他架构师关注各个部分。
51Testing软件测试网V|W{mAl3AB:P
架构师在一定程度上有点像医生,有时会依赖经验和直觉来思考及判定,坚实的代码基础有助于提供判断的正确率。同时,应该不断回顾和重构自己的代码。多做设计练习,给自己一个应用课题,尝试不断地分解、设计。阅读他人的代码,尝试抽取其中的设计。
(ioW,a4eY,}0
沟通力是架构师最重要的基本技能之一,沟通力不仅仅是能协调能说,更重要的是想的清楚和说的清楚。例如:尽管我可能知道我想要做什么,或把某件事做成什么样子,但我没法用语言系统化的表达。因为系统化的表达必须先基于一个系统工程,这也是一个需要训练的过程。无论你把它理解成为抽象能力也好,洞察能力也罢,今天的知识工作者所面临的重要问题就是抽象、归纳与描述。
ju!A pS$d7?v$hX0
在一次调查中架构师能力的反馈结果为:
TOP1: 沟通能力;NO.2: 抽象能力; NO.3:规划能力;NO.4 决策能力; NO.5控制能力;NO.6平衡力;
51Testing软件测试网#e `!x{ t.j$F&p
51Testing软件测试网D\eeqTQ5A?*s+e@
51Testing软件测试网rQ2e^1q
v$e