由Java设计模式想到测试技术

导读:作者怪怪写了一篇《由Java设计模式想到测试技术》文章,他认为一个合格的测试架构师要完全的理解测试技术、要能实时的掌握新的测试技术并应用于团队、要能抽象并创新出新的能应用于本身团队的测试技术。以下是文章内容:

最近一直在看Junit源码,也看了很多Junit的源代码分析,看到里面都提到了Java设计模式,什么Command模式,Observer模式,Composite模式等等。以前就知道有Java设计模式,这次通过看Junit源码发现这个设计模式真的是非常的有用,而且对于代码设计和架构设计有很多的指导作用,那大部分的Java开发人员在使用Java设计模式的时候,主要是为了可重用和扩展代码,增加代码的逻辑性和可靠性。让人感觉就是非常的High,也让人感觉这才是真的有技术含量,这里我就会联想到架构师,系统分析师等比较牛的人,那些人至少是把这些设计模式理解和使用的非常精通的境界,什么情况下使用什么设计模式能启动什么样的效果,这些东西一说出来,在项目的系统技术方案评审和架构设计的时候,这就代表着水平和技术实力。甚至是很牛的架构师就是开发一些新的设计模式出来,让其他的开发人员来使用这些设计模式,使其写的代码更具有可靠性和扩展性。

这里我就想到了测试架构师,自从了解了Java设计模式,就大概了解了开发架构师的一些内部职能,自己从事测试行业这么长时间了,还是不能完全明确体会到测试架构师到底具体是做什么呢,给其他的测试人员能够带来什么,给需要开发的项目或系统能带来什么,这里就不说其他人的见解,就谈下我个人的理解:

首先,一个合格的测试架构师要完全的理解测试技术。

这里的测试技术包括需求分析技术,测试设计技术,测试执行技术等;对比与开发架构师,有哪个开发架构师不了解甚至是使用基本编程技术,编程语言语法,设计模式,肯定是对这些方法和设计模式使用的炉火纯青,达到非常精通的境界。这里就不能看出作为一个测试架构师能具有的能力了,开发架构师对项目或系统的贡献是技术方案,架构设计的合理,设计模式的合理应用,能够让开发人员的代码更有质量和可测试性;测试架构师对项目或系统的贡献是最佳的测试策略,测试模型的合理应用,测试设计技术和需求分析技术的合理应用,能够让测试人员更快的进行测试设计,进行测试代码的编写,发现较隐含的bug。

其次,一个合格的测试架构师要能实时的掌握新的测试技术并应用于团队。

这里同样对比与开发架构师,我们的开发架构师不仅仅提供一些技术方案的指导,还掌握了JVM,J2EE,EJB等一系列技术的发展和动态,了解这些是否有最新的技术来改变或替代,并探索是否适合本公司内部应用,或作出较有深度的分析报告。那我们的测试架构师也是一样,不仅仅能够完全的应用和指导测试策略和测试模型,而且还需要了解国内外最新发展的新的测试技术(需求分析技术,测试设计技术,测试执行技术,优秀的工具),并探索这些技术在本公司内部应用,研究并定制化或完善这些最新的测试技术,提供最新技术的实施方案并亲自实践拿到最新的分析报告,知道其他的测试人员参与最新技术的应用,目的只有一个提升测试人员的技术能力,或是掌握多样化测试技术手段,或是更快的发现bug,或是发现更深层次的bug。

最后,一个合格的测试架构师要能抽象并创新出新的能应用于本身团队的测试技术。

这里说合格,估计有点高,我们可以看到开发架构师,能够抽象并开发新的设计模式的毕竟是少数,内部团队使用的设计模式相对来说容易一点。那么对于测试架构师也是一样,需要针对新的业务模式,新的系统架构模式抽象和创新出新的测试技术(需求分析技术,测试设计技术,测试执行技术,优秀的工具),并能实践与公司内部团队,并提供新测试技术指导和完善,如果能够服务于整个测试行业的测试人员的话,那就成了真正的大师了,我们的24个经典的设计模式不就是真是大师开发的吗。就好比等价类分析或因果图分析一样,牛B的测试架构师就应该可以开发或创新出类似的测试技术出来,让所有测试人员能够快速的进行测试设计,提高测试覆盖率。

总结:

这里用到了测试技术,个人理解的需要再次强调一下,由于是和设计模式相对,本来个人觉得使用测试模型更合适,类似于探索式测试的三大模型;但后来觉得有点狭隘,相比较与开发架构师所掌握的技术来说,测试技术要少一些,但是测试需要站在整个系统质量的角度来看,就必须在了解这些开发技术上,充分的利用测试技术来体现出自己的价值,就是提供最优的服务。所谓最优就是在成本,质量和进度上达到完美的结合点,那么测试架构师的作用就是帮助一个测试团队怎么去找到这个结合点,怎么去实施并取得相应的结果,怎么能去不断的优化自己提供的测试方案,测试技术指导,优秀工具等。

对于一个开发人员来说,我们敬佩一个开发架构师,绝不是因为他代码写的好,写的快,没有bug,最关键的是他能给我们在开发过程中,甚至在未来的新技术中都能提供很好且很合理的建议和指导。那么我作为一个测试人员,我也会敬佩一个测试架构师,我敬佩他的原因肯定是他能完全的透析我要测试的项目或系统,并给出非常合理的测试策略或方案,对于一些异常或特殊模块进行测试技术的指导来提高测试覆盖率,也可以快速的进行开发小工具帮助我进行更有效的测试,更多异常的测试。这些技能无不需要厚重的测试技术的积累和相关经验的抽象和创新。

原文链接:http://www.cnblogs.com/guaiguai/archive/2011/01/28/1946977.html

时间: 2024-10-25 18:52:41

由Java设计模式想到测试技术的相关文章

JAVA:将反射技术应用于工厂模式(Factory)和单例模式(Singleton)的简单代码

反射技术大量用于Java设计模式和框架技术,最常见的设计模式就是工厂模式(Factory)和单例模式(Singleton). 参考URL: http://blog.csdn.net/xiaohai798/article/details/11640427 用接口来沟通不同程序的开发进度,不必等上游程序写好代码之后,再注入后面流程的程序员.且在实现上,可以用配置文件灵活变更,而不用重编译整个项目. InterfaceTest.java: interface InterfaceTest { //基于接

浅谈Java设计模式关于原型模式(Prototype)思索建议

java教程:关于Java设计模式关于原型模式(Prototype) IT信息技术http://www.52ij.com/jishu/ 首先需要弄清楚什么叫原型模式,或者说为什么要有原型模式,运用它会给我们带来什么或能解决什么问题?原型模式(Prototype)同抽象工厂模式同属于创建型模式,它主要关注于大量相同或相似对象的创建问题,应用原型模式就是先需要一个原对象,然后通过对原对象进行复制(克隆),来产生一个与原对象相同或相似的新对象.注意这里所说的对象相同不是指复制出来的副本对象与原对象是同

实例讲解:Java中的SOAP技术

开始之前,我想就本文即将讨论的主题和读者需要具备的起点知识做一些必需的描叙.本文的主题是讨论SOAP技术,我们将尽可能的讲得通俗易懂一些,所以,我们引入了一个普通的"Hello World"范例来给读者说明它们是怎么运作的,让读者知道它们的运作方式.我认为,如果光看官方文档是很难开始学习这门新技术的,官方文档中包含大量的范例,并解释了所有的特性和优点,但是没解释它们的运作方式.在这篇文章中,我不打算只肤浅的解释SOAP技术的定义,我们假设读者熟悉JAVA语言,Web技术,具有XML语言

Android开发之Java设计模式基础篇

今天我们就Android开发中的一些设计模式做一些基础性的掌握,本次就Android项目的架构设计相关内容做分析: 1. 静态工厂方法 静态工厂方法可以算是工厂方法加单例模式的整合在Android平台上,由于Android的Context可以很好的传递实例,静态工厂方法可以提到传统的类构造器,对于一些逻辑的服务提供类可以考虑这样的设计,比如文件下载.图片裁剪等操作. 2. Java的类访问权限 对于程序的可靠性而言,成员变量尽量私有,通过暴漏公开的方法来访问这些私有成员,提供类似getXXX和s

Java设计模式(三—四)----工厂模式

Java设计模式 工厂模式 一.引言 二.分类 三.简单工厂模式 四.工厂方法模式 五.抽象工厂模式 六.和工厂方法模式区别 七.总结 工厂模式 在面向对象编程中, 最通常的方法是一个new操作符产生一个对象实例,new操作符就是用来构造对象实例的.但是在一些情况下, new操作符直接生成对象会带来一些问题.举例来说, 许多类型对象的创造需要一系列的步骤: 你可能需要计算或取得对象的初始设置; 选择生成哪个子对象实例; 或在生成你需要的对象之前必须先生成一些辅助功能的对象.在这些情况,新对象的建

Java设计模式之责任链模式简介_java

对于使用过宏的朋友应该知道,利用宏可以实现一个键绑定多个技能.例如如果排在前面的技能有CD,则跳过此技能,执行之后的技能.记得曾经玩DK,打怪的时候,就是用一个键,一直按就行了.在servlet里的doGet和doPost方法,我们一般都把doGet请求发动到doPost里来处理,这也是一种责任链的模式. 这里,有个宏,绑定了"冰血冷脉"和"寒冰箭"两个技能,程序实例如下所示: package responsibility; /** * DOC 技能接口,要绑定的技

Java设计模式之创建者模式简介_java

Java的创建者模式与工厂模式有点类似,不过关注点不同.工厂模式往往只关心你要的是什么,而不关心这个东西的具体细节是什么.相对而言创建模式则是关心这个东西的具体细节的创建.拿创建人物来说,我们关心的不仅是创建一个人物,还要关心他的性别,肤色和名字,则可以使用创建者模式. 程序实例如下所示: package builder; /** * * DOC 种族角色 * */ public class Race { private String name;// 名字 private String skin

您的设计模式,我们的设计模式 java设计模式

http://download.csdn.net/download/yangxin00000000/3212729   您的设计模式,我们的设计模式 java设计模式

2016及以后的自动化测试趋势 -《测试技术六月刊》

业界前沿 2016及以后的自动化测试趋势 测试自动化的博客joecolantonio.comtesttalks主持者和创始人,Joe Colantonio带来了15年的自动化测试经验,他分享了他的专业知识和预测如何从2016自动化测试的魅力中获取成功.Joe预测: 未来将是Dev + Test + Ops的模式:我们正朝着行为驱动开发(BDD)的模式发展:2020,Selenium WebDriver将成为功能测试执行标准等等.查看视频 浅谈Docker在测试领域的应用 Docker是PaaS供