测试架构师与产品架构师的合作

上一篇 / 下一篇  2012-02-10 11:41:38 / 个人分类:文档

 

 

今日与一友人聊起,测试架构师与产品架构师对产品的最终的贡献有什么区别?是不是测试架构师就只是识别出产品设计需求和架构设计中的缺陷而已?51Testing软件测试网!`W6o:G$`u

我带着这个问题思考许久后得到如下想法:当一个测试人员经过多个产品的历练后。应该能成为一个设计高质量产品,而非仅满足基本应用的“山寨”产品的设计师,成为产品实现架构师的顾问,告诉产品实现架构师在考虑实现基本数据流和业务流之外,做一个真正质量周全的产品还需要增加哪些设计内容?51Testing软件测试网"n!m+M`9['N

传统意义上的产品架构师更多考虑产品内部实现。弊端是:投入太多的思考在主业务处理流程的实现上,难免会对质量属性考虑投入少,导致设计出的产品只有基本功能和性能和不够全面的可靠性。这样的现象是完全可以理解的,因为人的时间和精力毕竟是有限的,一个高质量的产品除了主业务流程实现外,还需要把很多质量属性(性能,可靠性,可测试性,可用性,可扩展性,可集成性,可移植性,可维护性,安全性等)和容错处理能力的功能进行完善,才是一个可以适用大面积推广使用的产品。否则就只能在限定范围内进行使用,因为产品只实现了限定的有限功能。51Testing软件测试网+Y uhg w c+i

SEI的架构设计质量中,明确说明:产品的质量属性决定产品的架构设计。只不过在中国基本没有对质量属性有深刻认识的老板,产品经理,开发工程师或测试工程师,导致大部分的项目中,架构设计工作只是一个主业务流完成的实现思考过程,什么是质量属性,大家并没有系统的了解和认识?甚至很可能就没思考过,或听说过。

:i U y4tCU72047

曾见过有网友提问:如何测试架构?我的建议是:最好自己去SEI搜索关于架构的一些资料。先明白一个好的架构应该包含的哪些内容?然后自己再把这些内容做成checklist,看看自己项目的架构是否有遗漏。

qmv5IhnV U72047

因此我们在评审架构时,应该先知道决定产品竞争力的质量属性是什么?然后以这些质量属性为树顶,从上往下细化这项质量属性需要有哪些功能,产品架构初稿是否有考虑实现这些功能?如果没有考虑,测试人员就可以帮助产品架构师来补充相关的功能。51Testing软件测试网*j e(diHK

如果我是一个公司的老板,我会让来自开发人员的架构师专注思考主业务流的实现架构和技术,并兼顾要负责思考可重用性,可移植性,可扩展性的质量属性。来自测试人员的架构师专注于:性能,可靠性,可用性,可服务性,可测试性,安全性的质量设计需求。两者合作优势互补相加后的成果,至少最后不是一个仅有基本功能产品架构。依据我的经验和思考,测试人员应该依托自己在系统测试活动中多年积累的经验,特别是多年只做一种系统产品的测试经验积累的基础上,自己注意反思总结【要牢记一个人的提升70%来自实践之后的“反思”】哪些bug是属于产品设计不佳导致的,并针对设计不佳的bug按质量属性进行分类,然后自己再学习一些架构设计的知识,这样以后成长为高级测试人员后,是能够成为有质量产品架构设计的顾问,从正向反馈的方向上帮助产品架构做好高质量设计。

Sf?e _!^#l72047

测试人员未来亲自参与产品早期设计工作时,应该是做有质量属性的高质量产品,如果还是只做基本的产品设计,你就浪费了你这一段测试经历所获得的特有的技能和经验,这些经验有可能是一般开发人员可以需要十年以上摔跤,教训的经验才能获得的。

.xo;z[b%x0g*fEBEe72047

想到这里,明天我就在自己所负责的产品线执行上面的想法:把已发现的设计bug按质量属性进行分类。不但可加强测试人员的质量属性意识,学会用质量属性来思考产品质量,思考测试活动的目的,同时还可以为测试架构师团队更高质量的评估产品架构提供更多的“炮弹”。


TAG:

 

评分:0

我来说两句

日历

« 2024-04-30  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 36707
  • 日志数: 104
  • 建立时间: 2011-10-10
  • 更新时间: 2012-04-12

RSS订阅

Open Toolbar