本帖最后由 hsjzfling 于 2012-8-27 17:53 编辑
完整仔细的读了一遍,相当的不错,支持一下先,稍后上个评论
-----------------------------------------------------------------
评论整理好了
现阶段来看,对QTP部分功能重新定制封装,形成新的关键字驱动框架的设计方式,已经逐渐为越来越多同行接受并应用在实际工作项目中。正如作者的介绍,其好处是不言而喻的,能够尽可能的提高可维护性、易用性、重用性、稳定性以及脚本开发效率等等。就框架而言,做成什么样子算好呢?这个没有一个统一的标尺,一般来说,能用尽量少的开发成本获得一个正好适用的框架,就足够了。可以预留扩展功能的接口,但没必要一次性把框架做成万能的,这样不现实。 就lifr提供的分享来看,这方面做得很好,针对web测试过程中的一般性问题与部分场景都做了定制分析,增加了screen的概念,可以看成是一个不错的页面用例模板,一系列底层的封装与控制机制保证了框架能够很好的进行工作,下面就对几个关键点来分别做下讨论。 1. 用哪些QTP内置功能不用哪些内置功能 这点上理解不一样,技术能力不一样所做的取舍就不太一样,并不是所有人都有能力去舍弃掉内置功能而重写一份替代之,部分内置功能若理解得很透彻也是可以很好的融入框架中工作的 2. 业务逻辑抽象 从数年前HP推出的BPT的思想来看,就是编写一系列的原子级业务处理单元,编写用例时只需要逐一调用这些业务单元即可快速生成。Lifr所强调的那个原则非常好。 3. GUI元素库 这个是QTP工作的一个核心,曾经QTP插件都是单独卖的方面就可以确认这一点。作者通过一系列的定制和封装,重写一个web插件与对象库管理,将QTP对象库的大部分功能用更容易被使用的方式呈现出来,并定制部分识别逻辑。这方面lifr介绍得非常详细,值得很好的学习和参考,本人也获益匪浅。对于同类框架而言,封装思路各有千秋,适用就好。 4. Screen-Field 应用在web上很棒,如果要应用在其它的环境中,可能要考虑下扩展性和适用性,当然公司只有web项目那就无所谓了。 5. 其它1 脚本的驱动、数据处理、容错处理、日志等部分,作者并未过多介绍,不过这几个方面可自成体系,与作者介绍的核心没有必然联系。不过从完整框架结构的考虑来看,作者若能补充这方面的大致结构,会对想要学习的朋友有更多的帮助。作者也可以考虑在框架中预留足够的标准接口,为将来的某些可能做准备。 6. 其它2 作者是否有考虑过用其它开源工具来做自动化呢,比如watij, selenium等,都是用java编写的框架,java实现,扩展性好,做web测试也非常不错,关键还免费。 再次感谢lifr的分享。 |