领导力大挑战
在实施Scrum项目的过程中,Scrum Master的角色是相当关键的,因为他是团队的推动者。本文围绕什么是仆人式领导、仆人式领导的起源、如何将领导力传达给团队、Scrum Master作为仆人式领导者的角色展开叙述,同时重点阐述仆人式领导者应有的基本内外特征。
该内容已经被标记书签!
标记书签错误,请重试!
作者 霍泰稳 发布于 2010年7月28日
在7月24日InfoQ和百度联合举办的第4期百度技术沙龙活动上,来自百度的工程师孙景卫和ThoughtWorks的工程师张晓庆分别和与会者分享了测试相关的话题,包括百度研发团队在Web测试自动化方面的尝试和实践,以及测试驱动开发实战。本次活动还增设了促进交流的OpenSpace环节,让“每一个人都是讲师”!
在孙景卫的演讲中,他从Web测试自动化的目标谈起,认为让测试自动化并不是为了赢得老板的赞赏,或者认为这是一个很潮的技术,不用就会落后,而是为了网站的质量。随后他介绍了测试自动化的原理,包括感性的时间和空间,记录鼠标键盘的动作;利用如Http协议和Web服务协议进行测试;或者直接操纵页面控件,如利用JavaScript操纵Dom等。在分享百度研发团队在测试自动化方面的一些实践时,孙景卫重点介绍了常用的测试工具Selenium,以及做测试时需要重点考虑的一些地方:
最后,孙景卫还介绍了如何设计一个好的模式或者框架来让测试自动化更加便捷,包括要对业务进行分层,关注数据存储和数据驱动,重视DRY/WET原则,以及要能够对结果进行验证等。在提问环节,有听众问如何设计Case,以及当某个Case位置变更的时候,应该如何处理,孙景卫分享了百度在设计Case时常用的原则:
一般情况下,我们写Case的时候倾向于Case之间是没有关联的,但是这种情况很难做到,这是我们努力的一个方向。我们希望一个Case在执行的时候,它自己能够将初始化和结尾的工作先做好,A Case和B Case不应该有关系,B Case的成功与失败不应该依赖于A Case的成功与失败,一个好的Case应该这样设计。但是有时候A Case做完,我们需要先添加一个用户,然后再删除这个用户,这种情况下,如果没添加就去删除,则是失败的,两者之间存在一种依赖关系。在这种设计的情况下,有一个解决的思路是支持Case间的依赖,你可以定义一个标签去说明某个Case依赖于其他的Case,这样就先执行被依赖的Case,然后再执行这个Case,确保了执行的顺序。
也有与会者提到如何使用Selenium来对不同的浏览器进行兼容性测试,以及百度的自动化测试率能达到多少,孙景卫的观点是:
Selenium本身设计上是比较适合做兼容性测试的,但实际上效果并不是那么好,可能会有各种各样的问题,比如对JavaScript的支持不同,可能会导致在Firefox上运行是OK的,在IE上运行可能就会失败。兼容性测试方面并没有一个比较好的方法,还是要用Selenium来做,虽然它对非Firefox浏览器有时候支持的不好,但基本还是可以做的。如果你能提取几个主流的浏览器,比如Firefox和IE,其他的浏览器暂时不关注的话,就可以针对性地设计一些Case。
至于百度的自动化测试率,各个开发小组的数据是不一样的,但估计不是很高。在2008年我们大批做的时候,这个数据达到过60%~70%,但是现在这个数据已经下来了,估计是30%这个级别。我们对这个数据本身已经没有太多的强制要求,有的组可能适合做自动化测试,数据可能高一些,有的组不适合,可能就低一些。
在ThoughtWorks工程师,也是InfoQ中文站敏捷社区编辑张晓庆的“测试驱动开发(TDD)实战”演讲中,他主要结合代码演示介绍了TDD的一些原则,包括:
在会后部分参会者所写的博客中,详细记录了两位分享嘉宾演讲的一些要点,比如YanHua的“测试专题活动和奇遇咖啡的rails活动小记”以及sunway00的“参加Web测试自动化与TDD应用的沙龙心得笔记:
为了让参会者能够有更多的时间进行相互的交流,本次活动在最后的1.5小时中设置了OpenSpace(开放空间)环节,将大家分成不同的小组,然后自己选择组长自己选择话题,然后和其他人员进行分享。从而让每个人都有发言的机会,“每一个人都是讲师”,并能在相同的单位时间内聆听到关于一个话题更多的观点,更靠近百度技术沙龙所强调的“交流”和“争鸣”目的。这一环节的效果,正如一位参会者会后在网易论坛中对这次活动的图片报道中写到,“真是很活跃丰富的沙龙活动,互动性很强,是我最喜爱的交流方式!希望百度延续这样的方式,给大家一个自由的交流平台。”关于OpenSpace环节的讨论,InfoQ随后会有更深入的总结,本次活动的演讲资料下载链接为:百度技术沙龙第4期(7月24日)演讲资料下载!
霍泰稳 霍泰稳是InfoQ中文站的联合创始人兼CEO,有多年的软件开发经验和媒体从业经历。
首先感谢百度和 InfoQ 为大家提供交流平台,便于大家分享!
不过从内容和形式上还有很多值得商榷的地方。
希望百度能在技术上更加精深,为国人提供更好的服务!
没有视频吗?
有的,但是要稍等几天发布 :)
To 翌翔:“从内容和形式上还有很多值得商榷的地方”,能否再提一些更具体的建议,以便我们改进?谢谢。
编辑怎么找到我的博客的
用百度搜出来,哈哈
没想到我运气那么好, 成了剪刀石头布的终极pk赢家,呵呵.再次感谢InfoQ和百度.
百度和Google都有博客搜索功能,平常做过活动之后,我都会有意识地到网上看看有没有相关的博客,然后可以拿过来做总结 L
视频地址有了吗?
第五期活动的视频已经有了,第四期的视频能提供么?
相关人员帮着看看啊!多谢。
在实施Scrum项目的过程中,Scrum Master的角色是相当关键的,因为他是团队的推动者。本文围绕什么是仆人式领导、仆人式领导的起源、如何将领导力传达给团队、Scrum Master作为仆人式领导者的角色展开叙述,同时重点阐述仆人式领导者应有的基本内外特征。
论道WP第三篇专栏,以应用程序栏的使用为中心,包括了软键盘带来的问题、应用程序栏介绍、如何绑定应用程序栏的属性等几个方面的具体话题,为开发者顺利使用应用程序栏开发提供了具体指导。
在多线程并发编程中Synchronized一直是元老级角色,很多人都会称呼它为重量级锁,但是随着Java SE1.6对Synchronized进行了各种优化之后,有些情况下它并不那么重了,本文详细介绍了Java SE1.6中对于锁的性能优化,以及锁的存储结构及升级过程。
本次分享将首先介绍现代富文本编辑器的组成和实现,然后结合UEditor的开发过程,与参会者分享UEditor在设计和实现的过程中,所涉及到的核心功能的细节实现。
本次演讲视频录制于百度技术沙龙。
我们所开发的应用程序大多都需要提供一个图形用户界面(GUI)。关于GUI应用的架构设计,已经有了Form & Control、MVC,、MVP、 Passive View等多种模式。模式可以帮助我们建立优雅的架构,但前提是弄清楚模式的应用场景。弄清楚GUI应用面临的设计上的问题,有助于我们正确的挑选设计方案。
MongoDB是一种非常易用的NoSQL方案,Brian C. Dilley在这篇文章里介绍了MongoDB的优劣势,并介绍了MJORM项目。MJORM用于MongoDB,是一个没有注解的Java ORM库。
随着网络基础设施的逐步成熟,从RPC进化到Web Service,并在业界开始普遍推行SOA,再到后来的RESTful平台以及云计算中的PaaS与SaaS概念的推广,分布式架构在企业应用中开始呈现出不同的风貌,然而殊途同归,这些分布式架构的目标仍然是希望回到建造巴别塔的时代,系统之间的交流不再为不同语言与平台的隔阂而产生障碍。
11 条回复
关注此讨论 回复