此篇由于涉及一些职业道德规范,为了不损害雇主的利益,因此内容稍简,还请大家谅解。但是本篇可以给大家提供一些破冰的方向,然后自己去实践摸索。我唯一可以证明的是:我所提供的破冰方向是已经被证明可行有效的。
1、 发现产品架构设计中欠考虑的部分,并提供设计补充意见和方案;
2、 证明架构或设计方案中算法设计,有错误或风险的地方;
3、 承担架构设计中可测试性模块的架构设计工作;
系统的可以使用的知识来源:
http://www.sei.cmu.edu/architecture/
ISO9126
我再分享一句通用的架构设计核心思想:
“质量属性决定架构设计”
那么我们要系统地进行架构设计的缺陷识别,就可以考虑从这句话入手突破。
首先:什么样的人能够具备参与架构或设计方案缺陷识别的能力呢?
1、如果一直是在同一个产品的黑盒测试工作,并且很聪明,之前也明白产品的设计方案,通过黑盒测试发现过多个设计缺陷。 那么1年经验的人也勉强能做,他可以通过异常处理分析,以及功能组合分析来发现部分设计缺陷,但是生产率较低。
2、5年以上测试经验,并且5年中每年都发现并定位过多个产品架构和设计方案的bug,那么可以在一定时间通过了解新产品的架构和设计方案后,进行架构和设计方案的评审,生产率较高。
3、做黑盒系统测试的人更适合做产品架构和设计的静态测试。做测试工具开发和自动化测试开发的人反而不适合,因为他们没有足够多的通过手工测试发现产品设计缺陷的经验,总得来说:他们是开发人员不是测试人员。
4、必须具备很强的发散思维能力和非常严谨的思维能力。发散能给你提供很多可能出错的假设场景,严谨能够让你发现设计中的漏洞。
误区: 架构和设计方案缺陷的识别不能只依赖参加评审会。因为评审会的时间最多也就8-16个小时,且大家你一言我一句,自己用于思考的时间是不多的,所以到评审现场再进行架构缺陷的识别工作,就明显有些摸着石头过河效率不高,产出也不多。