<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_Don't think you are, know you are</title><subtitle type="text"/><id>http://feed.cnblogs.com/blog/u/19103/rss</id><updated>2012-02-08T01:49:34Z</updated><author><name>炭炭</name><uri>http://www.cnblogs.com/waitrabbit/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/waitrabbit/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/19103/rss"/><entry><id>http://www.cnblogs.com/waitrabbit/archive/2012/01/31/2333288.html</id><title type="text">测试策略的两个终极问题</title><summary type="text">测试的本质就是模拟用户的行为，首先要了解产品，分为positive 测试 negetive 测试，这似乎没有什么好说的。测试的配置管理就是两个：测试用例管理和缺陷管理关于测试策略，这是重点，其中我概括的两个终极问题为1， 测试能在何时（那个阶段）、何地（那个层次）参与？2， 如何保证测试的有效性（测试的质量与最终发布的质量的一致，这涉及到regression， code freeze ， sanity check）。</summary><published>2012-01-31T08:26:00Z</published><updated>2012-01-31T08:26:00Z</updated><author><name>炭炭</name><uri>http://www.cnblogs.com/waitrabbit/</uri></author><link rel="alternate" href="http://www.cnblogs.com/waitrabbit/archive/2012/01/31/2333288.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/waitrabbit/archive/2012/01/31/2333288.html"/><content type="html">&lt;p&gt;测试的本质就是模拟用户的行为，首先要了解产品，分为positive 测试 negetive 测试，这似乎没有什么好说的。&lt;/p&gt;&#xD;
&lt;p&gt;测试的配置管理就是两个：测试用例管理和缺陷管理&lt;/p&gt;&#xD;
&lt;p&gt;关于测试策略，这是重点，其中我概括的两个终极问题为&lt;/p&gt;&#xD;
&lt;p&gt;1， 测试能在何时（那个阶段）、何地（那个层次）参与？&lt;/p&gt;&#xD;
&lt;p&gt;2， 如何保证测试的有效性（测试的质量与最终发布的质量的一致，这涉及到regression， code freeze ， sanity check）。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/waitrabbit/aggbug/2333288.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/waitrabbit/archive/2012/01/31/2333288.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/waitrabbit/archive/2012/01/18/2326045.html</id><title type="text">Eclipse Hot key</title><summary type="text">Eclipse快捷键大全(转载)Ctrl+1快速修复(最经典的快捷键,就不用多说了)Ctrl+D:删除当前行Ctrl+Alt+↓复制当前行到下一行(复制增加)Ctrl+Alt+↑复制当前行到上一行(复制增加)Alt+↓当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑当前行和上面一行交互位置(同上)Alt+←前一个编辑的页面Alt+→下一个编辑的页面(当然是针对上面那条来说了)Alt+Enter显示当前选择资源(工程,or文件or文件)的属性Shift+Enter在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置,不一定是最后)Shift+Ctrl+Enter在当前</summary><published>2012-01-18T15:57:00Z</published><updated>2012-01-18T15:57:00Z</updated><author><name>炭炭</name><uri>http://www.cnblogs.com/waitrabbit/</uri></author><link rel="alternate" href="http://www.cnblogs.com/waitrabbit/archive/2012/01/18/2326045.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/waitrabbit/archive/2012/01/18/2326045.html"/><content type="html">&lt;div  style="widows: 2; text-transform: none; background-color: #ffffff; text-indent: 0px; font: bold 14px/20px georgia, verdana, Arial, helvetica, sans-seriff; white-space: normal; orphans: 2; margin-bottom: 10px; letter-spacing: normal; color: #4b4b4b; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;a id="viewpost1_TitleUrl"  style="color: #4371a6; text-decoration: none;" href="http://www.blogjava.net/action/articles/17339.html"&gt;Eclipse快捷键大全(转载)&lt;/a&gt;&lt;/div&gt;&#xD;
&lt;div  style="widows: 2; text-transform: none; background-color: #ffffff; text-indent: 0px; font: 13px/20px georgia, verdana, Arial, helvetica, sans-seriff; white-space: normal; orphans: 2; letter-spacing: normal; color: #4b4b4b; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span style="font-size: x-small;"&gt;Ctrl+1&amp;nbsp;快速修复(最经典的快捷键,就不用多说了)&lt;br /&gt;Ctrl+D:&amp;nbsp;删除当前行&amp;nbsp;&lt;br /&gt;Ctrl+Alt+&amp;darr;&amp;nbsp;复制当前行到下一行(复制增加)&lt;br /&gt;Ctrl+Alt+&amp;uarr;&amp;nbsp;复制当前行到上一行(复制增加)&lt;br /&gt;Alt+&amp;darr;&amp;nbsp;当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)&lt;br /&gt;Alt+&amp;uarr;&amp;nbsp;当前行和上面一行交互位置(同上)&lt;br /&gt;Alt+&amp;larr;&amp;nbsp;前一个编辑的页面&lt;br /&gt;Alt+&amp;rarr;&amp;nbsp;下一个编辑的页面(当然是针对上面那条来说了)&lt;br /&gt;Alt+Enter&amp;nbsp;显示当前选择资源(工程,or&amp;nbsp;文件&amp;nbsp;or文件)的属性&lt;br /&gt;Shift+Enter&amp;nbsp;在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置,不一定是最后)&lt;br /&gt;Shift+Ctrl+Enter&amp;nbsp;在当前行插入空行(原理同上条)&lt;br /&gt;Ctrl+Q&amp;nbsp;定位到最后编辑的地方&lt;br /&gt;Ctrl+L&amp;nbsp;定位在某行&amp;nbsp;(对于程序超过100的人就有福音了)&lt;br /&gt;Ctrl+M&amp;nbsp;最大化当前的Edit或View&amp;nbsp;(再按则反之)&lt;br /&gt;Ctrl+/&amp;nbsp;注释当前行,再按则取消注释&lt;br /&gt;Ctrl+O&amp;nbsp;快速显示&amp;nbsp;OutLine&lt;br /&gt;Ctrl+T&amp;nbsp;快速显示当前类的继承结构&lt;br /&gt;Ctrl+W&amp;nbsp;关闭当前Editer&lt;br /&gt;Ctrl+K&amp;nbsp;参照选中的Word快速定位到下一个&lt;br /&gt;Ctrl+E&amp;nbsp;快速显示当前Editer的下拉列表(如果当前页面没有显示的用黑体表示)&lt;br /&gt;Ctrl+/(小键盘)&amp;nbsp;折叠当前类中的所有代码&lt;br /&gt;Ctrl+&amp;times;(小键盘)&amp;nbsp;展开当前类中的所有代码&lt;br /&gt;Ctrl+Space&amp;nbsp;代码助手完成一些代码的插入(但一般和输入法有冲突,可以修改输入法的热键,也可以暂用Alt+/来代替)&lt;br /&gt;Ctrl+Shift+E&amp;nbsp;显示管理当前打开的所有的View的管理器(可以选择关闭,激活等操作)&lt;br /&gt;Ctrl+J&amp;nbsp;正向增量查找(按下Ctrl+J后,你所输入的每个字母编辑器都提供快速匹配定位到某个单词,如果没有,则在stutes&amp;nbsp;line中显示没有找到了,查一个单词时,特别实用,这个功能Idea两年前就有了)&lt;br /&gt;Ctrl+Shift+J&amp;nbsp;反向增量查找(和上条相同,只不过是从后往前查)&lt;br /&gt;Ctrl+Shift+F4&amp;nbsp;关闭所有打开的Editer&lt;br /&gt;Ctrl+Shift+X&amp;nbsp;把当前选中的文本全部变味小写&lt;br /&gt;Ctrl+Shift+Y&amp;nbsp;把当前选中的文本全部变为小写&lt;br /&gt;Ctrl+Shift+F&amp;nbsp;格式化当前代码&lt;br /&gt;Ctrl+Shift+P&amp;nbsp;定位到对于的匹配符(譬如{})&amp;nbsp;(从前面定位后面时,光标要在匹配符里面,后面到前面,则反之)&lt;br /&gt;&lt;br /&gt;下面的快捷键是重构里面常用的,本人就自己喜欢且常用的整理一下(注:一般重构的快捷键都是Alt+Shift开头的了)&lt;br /&gt;Alt+Shift+R&amp;nbsp;重命名&amp;nbsp;(是我自己最爱用的一个了,尤其是变量和类的Rename,比手工方法能节省很多劳动力)&lt;br /&gt;Alt+Shift+M&amp;nbsp;抽取方法&amp;nbsp;(这是重构里面最常用的方法之一了,尤其是对一大堆泥团代码有用)&lt;br /&gt;Alt+Shift+C&amp;nbsp;修改函数结构(比较实用,有N个函数调用了这个方法,修改一次搞定)&lt;br /&gt;Alt+Shift+L&amp;nbsp;抽取本地变量(&amp;nbsp;可以直接把一些魔法数字和字符串抽取成一个变量,尤其是多处调用的时候)&lt;br /&gt;Alt+Shift+F&amp;nbsp;把Class中的local变量变为field变量&amp;nbsp;(比较实用的功能)&lt;br /&gt;Alt+Shift+I&amp;nbsp;合并变量(可能这样说有点不妥Inline)&lt;br /&gt;Alt+Shift+V&amp;nbsp;移动函数和变量(不怎么常用)&lt;br /&gt;Alt+Shift+Z&amp;nbsp;重构的后悔药(Undo)&lt;br /&gt;&lt;br /&gt;编辑&lt;br /&gt;作用域&amp;nbsp;功能&amp;nbsp;快捷键&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;查找并替换&amp;nbsp;Ctrl+F&amp;nbsp;&lt;br /&gt;文本编辑器&amp;nbsp;查找上一个&amp;nbsp;Ctrl+Shift+K&amp;nbsp;&lt;br /&gt;文本编辑器&amp;nbsp;查找下一个&amp;nbsp;Ctrl+K&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;撤销&amp;nbsp;Ctrl+Z&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;复制&amp;nbsp;Ctrl+C&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;恢复上一个选择&amp;nbsp;Alt+Shift+&amp;darr;&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;剪切&amp;nbsp;Ctrl+X&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;快速修正&amp;nbsp;Ctrl1+1&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;内容辅助&amp;nbsp;Alt+/&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;全部选中&amp;nbsp;Ctrl+A&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;删除&amp;nbsp;Delete&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;上下文信息&amp;nbsp;Alt+？&lt;br /&gt;Alt+Shift+?&lt;br /&gt;Ctrl+Shift+Space&amp;nbsp;&lt;br /&gt;Java编辑器&amp;nbsp;显示工具提示描述&amp;nbsp;F2&amp;nbsp;&lt;br /&gt;Java编辑器&amp;nbsp;选择封装元素&amp;nbsp;Alt+Shift+&amp;uarr;&amp;nbsp;&lt;br /&gt;Java编辑器&amp;nbsp;选择上一个元素&amp;nbsp;Alt+Shift+&amp;larr;&amp;nbsp;&lt;br /&gt;Java编辑器&amp;nbsp;选择下一个元素&amp;nbsp;Alt+Shift+&amp;rarr;&amp;nbsp;&lt;br /&gt;文本编辑器&amp;nbsp;增量查找&amp;nbsp;Ctrl+J&amp;nbsp;&lt;br /&gt;文本编辑器&amp;nbsp;增量逆向查找&amp;nbsp;Ctrl+Shift+J&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;粘贴&amp;nbsp;Ctrl+V&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;重做&amp;nbsp;Ctrl+Y&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;查看&lt;br /&gt;作用域&amp;nbsp;功能&amp;nbsp;快捷键&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;放大&amp;nbsp;Ctrl+=&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;缩小&amp;nbsp;Ctrl+-&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;窗口&lt;br /&gt;作用域&amp;nbsp;功能&amp;nbsp;快捷键&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;激活编辑器&amp;nbsp;F12&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;切换编辑器&amp;nbsp;Ctrl+Shift+W&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;上一个编辑器&amp;nbsp;Ctrl+Shift+F6&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;上一个视图&amp;nbsp;Ctrl+Shift+F7&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;上一个透视图&amp;nbsp;Ctrl+Shift+F8&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;下一个编辑器&amp;nbsp;Ctrl+F6&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;下一个视图&amp;nbsp;Ctrl+F7&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;下一个透视图&amp;nbsp;Ctrl+F8&amp;nbsp;&lt;br /&gt;文本编辑器&amp;nbsp;显示标尺上下文菜单&amp;nbsp;Ctrl+W&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;显示视图菜单&amp;nbsp;Ctrl+F10&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;显示系统菜单&amp;nbsp;Alt+-&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;导航&lt;br /&gt;作用域&amp;nbsp;功能&amp;nbsp;快捷键&amp;nbsp;&lt;br /&gt;Java编辑器&amp;nbsp;打开结构&amp;nbsp;Ctrl+F3&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;打开类型&amp;nbsp;Ctrl+Shift+T&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;打开类型层次结构&amp;nbsp;F4&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;打开声明&amp;nbsp;F3&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;打开外部javadoc&amp;nbsp;Shift+F2&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;打开资源&amp;nbsp;Ctrl+Shift+R&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;后退历史记录&amp;nbsp;Alt+&amp;larr;&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;前进历史记录&amp;nbsp;Alt+&amp;rarr;&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;上一个&amp;nbsp;Ctrl+,&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;下一个&amp;nbsp;Ctrl+.&amp;nbsp;&lt;br /&gt;Java编辑器&amp;nbsp;显示大纲&amp;nbsp;Ctrl+O&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;在层次结构中打开类型&amp;nbsp;Ctrl+Shift+H&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;转至匹配的括号&amp;nbsp;Ctrl+Shift+P&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;转至上一个编辑位置&amp;nbsp;Ctrl+Q&amp;nbsp;&lt;br /&gt;Java编辑器&amp;nbsp;转至上一个成员&amp;nbsp;Ctrl+Shift+&amp;uarr;&amp;nbsp;&lt;br /&gt;Java编辑器&amp;nbsp;转至下一个成员&amp;nbsp;Ctrl+Shift+&amp;darr;&amp;nbsp;&lt;br /&gt;文本编辑器&amp;nbsp;转至行&amp;nbsp;Ctrl+L&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;搜索&lt;br /&gt;作用域&amp;nbsp;功能&amp;nbsp;快捷键&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;出现在文件中&amp;nbsp;Ctrl+Shift+U&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;打开搜索对话框&amp;nbsp;Ctrl+H&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;工作区中的声明&amp;nbsp;Ctrl+G&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;工作区中的引用&amp;nbsp;Ctrl+Shift+G&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;文本编辑&lt;br /&gt;作用域&amp;nbsp;功能&amp;nbsp;快捷键&amp;nbsp;&lt;br /&gt;文本编辑器&amp;nbsp;改写切换&amp;nbsp;Insert&amp;nbsp;&lt;br /&gt;文本编辑器&amp;nbsp;上滚行&amp;nbsp;Ctrl+&amp;uarr;&amp;nbsp;&lt;br /&gt;文本编辑器&amp;nbsp;下滚行&amp;nbsp;Ctrl+&amp;darr;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;文件&lt;br /&gt;作用域&amp;nbsp;功能&amp;nbsp;快捷键&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;保存&amp;nbsp;Ctrl+X&amp;nbsp;&lt;br /&gt;Ctrl+S&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;打印&amp;nbsp;Ctrl+P&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;关闭&amp;nbsp;Ctrl+F4&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;全部保存&amp;nbsp;Ctrl+Shift+S&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;全部关闭&amp;nbsp;Ctrl+Shift+F4&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;属性&amp;nbsp;Alt+Enter&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;新建&amp;nbsp;Ctrl+N&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;项目&lt;br /&gt;作用域&amp;nbsp;功能&amp;nbsp;快捷键&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;全部构建&amp;nbsp;Ctrl+B&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;源代码&lt;br /&gt;作用域&amp;nbsp;功能&amp;nbsp;快捷键&amp;nbsp;&lt;br /&gt;Java编辑器&amp;nbsp;格式化&amp;nbsp;Ctrl+Shift+F&amp;nbsp;&lt;br /&gt;Java编辑器&amp;nbsp;取消注释&amp;nbsp;Ctrl+\&amp;nbsp;&lt;br /&gt;Java编辑器&amp;nbsp;注释&amp;nbsp;Ctrl+/&amp;nbsp;&lt;br /&gt;Java编辑器&amp;nbsp;添加导入&amp;nbsp;Ctrl+Shift+M&amp;nbsp;&lt;br /&gt;Java编辑器&amp;nbsp;组织导入&amp;nbsp;Ctrl+Shift+O&amp;nbsp;&lt;br /&gt;Java编辑器&amp;nbsp;使用try/catch块来包围&amp;nbsp;未设置，太常用了，所以在这里列出,建议自己设置。&lt;br /&gt;也可以使用Ctrl+1自动修正。&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;运行&lt;br /&gt;作用域&amp;nbsp;功能&amp;nbsp;快捷键&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;单步返回&amp;nbsp;F7&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;单步跳过&amp;nbsp;F6&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;单步跳入&amp;nbsp;F5&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;单步跳入选择&amp;nbsp;Ctrl+F5&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;调试上次启动&amp;nbsp;F11&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;继续&amp;nbsp;F8&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;使用过滤器单步执行&amp;nbsp;Shift+F5&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;添加/去除断点&amp;nbsp;Ctrl+Shift+B&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;显示&amp;nbsp;Ctrl+D&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;运行上次启动&amp;nbsp;Ctrl+F11&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;运行至行&amp;nbsp;Ctrl+R&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;执行&amp;nbsp;Ctrl+U&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;重构&lt;br /&gt;作用域&amp;nbsp;功能&amp;nbsp;快捷键&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;撤销重构&amp;nbsp;Alt+Shift+Z&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;抽取方法&amp;nbsp;Alt+Shift+M&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;抽取局部变量&amp;nbsp;Alt+Shift+L&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;内联&amp;nbsp;Alt+Shift+I&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;移动&amp;nbsp;Alt+Shift+V&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;重命名&amp;nbsp;Alt+Shift+R&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;重做&amp;nbsp;Alt+Shift+Y&lt;/span&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/waitrabbit/aggbug/2326045.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/waitrabbit/archive/2012/01/18/2326045.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/waitrabbit/archive/2011/09/26/2192317.html</id><title type="text">开始Scrum 4 : Defects of Scrum</title><summary type="text">1, 整体架构上缺少规划，要注意后期的重构和优化。2，会议很多，某些时候增加了沟通的成本，对技术人员也是一种干扰。3，需要客户不断的参与4, 定了质量这个轴，时间这个轴就不确定了.即你无法确定在一个release内deliver多少feature.5, 民主导致的低效。6, 关于测试的一点, 如果你的测试用例是根据User Story设计的，那么你可能要整合一些测试用例，因为User Story 是缺乏整体性的。你需要后期把一些测试用例合并或串联起来。</summary><published>2011-09-26T13:59:00Z</published><updated>2011-09-26T13:59:00Z</updated><author><name>炭炭</name><uri>http://www.cnblogs.com/waitrabbit/</uri></author><link rel="alternate" href="http://www.cnblogs.com/waitrabbit/archive/2011/09/26/2192317.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/waitrabbit/archive/2011/09/26/2192317.html"/><content type="html">&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;1, 整体架构上缺少规划，要注意后期的重构和优化。&lt;/p&gt;&#xD;
&lt;p&gt;2，会议很多，某些时候增加了沟通的成本，对技术人员也是一种干扰。&lt;/p&gt;&#xD;
&lt;p&gt;3，需要客户不断的参与&lt;/p&gt;&#xD;
&lt;p&gt;4, 定了质量这个轴，时间这个轴就不确定了.即你无法确定在一个release内deliver多少feature.&lt;/p&gt;&#xD;
&lt;p&gt;5, 民主导致的低效。&lt;/p&gt;&#xD;
&lt;p&gt;6, 关于测试的一点, 如果你的测试用例是根据User Story设计的，那么你可能要整合一些测试用例，因为User Story 是缺乏整体性的。你需要后期把一些&lt;/p&gt;&#xD;
&lt;p&gt;测试用例合并或串联起来。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/waitrabbit/aggbug/2192317.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/waitrabbit/archive/2011/09/26/2192317.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/waitrabbit/archive/2011/09/09/2171990.html</id><title type="text">开始 Scrum 3: Values of Scrum</title><summary type="text">1,Agility (for requirement)2,Commitment3,Focus4,Openness5,Respect6,Courage</summary><published>2011-09-08T16:19:00Z</published><updated>2011-09-08T16:19:00Z</updated><author><name>炭炭</name><uri>http://www.cnblogs.com/waitrabbit/</uri></author><link rel="alternate" href="http://www.cnblogs.com/waitrabbit/archive/2011/09/09/2171990.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/waitrabbit/archive/2011/09/09/2171990.html"/><content type="html">&lt;p&gt;1,Agility (for requirement)&lt;/p&gt;&#xD;
&lt;p&gt;2,Commitment&lt;/p&gt;&#xD;
&lt;p&gt;3,Focus&lt;/p&gt;&#xD;
&lt;p&gt;4,Openness&lt;/p&gt;&#xD;
&lt;p&gt;5,Respect&lt;/p&gt;&#xD;
&lt;p&gt;6,Courage&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/waitrabbit/aggbug/2171990.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/waitrabbit/archive/2011/09/09/2171990.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/waitrabbit/archive/2011/09/09/2171979.html</id><title type="text">People management skill</title><summary type="text">转贴一篇作为结束。结合前面的Manager role in AgileJust Have Conversations About anything! Talking to and more importantly, listening to your people regularly and informally is a great asset. It doesn&amp;#39;t matter what it&amp;#39;s about, Your understanding of them and their trust in you will magnify if you devote prio</summary><published>2011-09-08T16:04:00Z</published><updated>2011-09-08T16:04:00Z</updated><author><name>炭炭</name><uri>http://www.cnblogs.com/waitrabbit/</uri></author><link rel="alternate" href="http://www.cnblogs.com/waitrabbit/archive/2011/09/09/2171979.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/waitrabbit/archive/2011/09/09/2171979.html"/><content type="html">&lt;div style="overflow: hidden;"&gt;&#xD;
&lt;p&gt;&lt;b&gt;转贴一篇作为结束。结合前面的Manager role in Agile&lt;/b&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;b&gt;&lt;/b&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;&lt;b&gt;Just Have Conversations&lt;/b&gt; About anything! Talking to and more importantly, listening to your people regularly and informally is a great asset. It doesn't matter what it's about, Your understanding of them and their trust in you will magnify if you devote priority time to this each and every day.&lt;/li&gt;&#xD;
&lt;li&gt;&lt;b&gt;Listen &amp;amp; Show you are Listening&lt;/b&gt; Take the time to really listen to each of your people, rather than just tell. If you truly hear, they will respond. Hearing is more - it is about what you do with the stuff you've listened to. And by using your face, your body language, eye contact and what you say (see 3 below), you will go a long way to showing that you are listening closely.&lt;/li&gt;&#xD;
&lt;li&gt;&lt;b&gt;Ask Another Question&lt;/b&gt; Such a simple tactic. Ask secondary questions about what you've been told. Nothing, but nothing builds rapport and relationships like this. It shows that what they have been telling you is valuable, is interesting and builds their confidence. And you have been there to make that happen.&lt;/li&gt;&#xD;
&lt;li&gt;&lt;b&gt;Support&lt;/b&gt; Your people need you to help them along the way. With your support, they will flower and grow. Support is what they hear from you - it works both ways.&lt;/li&gt;&#xD;
&lt;li&gt;&lt;b&gt;Coach&lt;/b&gt; Don't get bogged down with technicalities. Coaching is about helping them see where they want to get to from where they are now. It's about exploring the possibilities - their possibilities, not yours and calling to action. Simple as that.&lt;/li&gt;&#xD;
&lt;li&gt;&lt;b&gt;Clear Expectations&lt;/b&gt; By ensuring that all your people know exactly what you expect of them, they will tune in to delivering it. Confusion over performance is demoralizing and saps energy. Take the time to be clear.&lt;/li&gt;&#xD;
&lt;li&gt;&lt;b&gt;Pay attention&lt;/b&gt; In any conversation with your people, take the time to give your full attention. Do your utmost to avoid being interrupted or distracted and truly value them for what they are saying to you - or the message you are giving them.&lt;/li&gt;&#xD;
&lt;li&gt;&lt;b&gt;Show an Interest in Them&lt;/b&gt; These are real people and if you delve a little, it will show up. Having a real interest in who they are, their hopes and fears, their passions and what's important to them makes a big, big difference to how they perceive you. Get to know the name of their dog, if their dog is their most prized possession!&lt;/li&gt;&#xD;
&lt;li&gt;&lt;b&gt;Follow Through&lt;/b&gt; During conversations you may offer actions that will be of value to them. Responses to what they have said to you. Make sure that you deliver these. Follow up and report back. Take actions you say you will. If you can't, tell them why.&lt;/li&gt;&#xD;
&lt;li&gt;&lt;b&gt;Remember Conversations&lt;/b&gt; When you have subsequent conversations, recall something that was said previously and bring it up. This is hugely rewarding for them and lets them know that they said something of value.&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;br /&gt;&lt;br /&gt;Article Source: http://EzineArticles.com/101619&lt;/div&gt;&lt;img src="http://www.cnblogs.com/waitrabbit/aggbug/2171979.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/waitrabbit/archive/2011/09/09/2171979.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/waitrabbit/archive/2011/09/08/2170483.html</id><title type="text">自动化脚本准备数据的几种方式</title><summary type="text">1， 一个测试用例一个脚本一组数据，每个脚本创建按自己的数据，然后清理。好处显而易见：独立，灵活。坏处：累2，一个测试集，一组数据。我觉得这样平衡比较好。当然你说，我想只run一个脚本怎么办？这种一般是改了bug，那么你不需要做一下回归吗？也许run一个测试集比较好吧。</summary><published>2011-09-08T00:24:00Z</published><updated>2011-09-08T00:24:00Z</updated><author><name>炭炭</name><uri>http://www.cnblogs.com/waitrabbit/</uri></author><link rel="alternate" href="http://www.cnblogs.com/waitrabbit/archive/2011/09/08/2170483.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/waitrabbit/archive/2011/09/08/2170483.html"/><content type="html">&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;1， 一个测试用例一个脚本一组数据，每个脚本创建按自己的数据，然后清理。好处显而易见：独立，灵活。坏处：累&lt;/p&gt;&#xD;
&lt;p&gt;2，一个测试集，一组数据。我觉得这样平衡比较好。当然你说，我想只run一个脚本怎么办？这种一般是改了bug，那么你不需要做一下回归吗？也许run一个测试集比较好吧。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/waitrabbit/aggbug/2170483.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/waitrabbit/archive/2011/09/08/2170483.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/waitrabbit/archive/2011/09/07/2170410.html</id><title type="text">适合自动化的测试与不适合做自动化的测试</title><summary type="text">适合的：l 单元组件测试l API， webservice 测试l UI 底层测试，（比如自动生成的XHTML代码）l UI 测试l 这几种，从前往后，需要的投入越大，ROI 越低，但对开发的要求越低。不适合的：l 易用性测试l 探索性测试l 重复率非常低的测试l 不能快速返回结果的测试（比如说你需要等某个时间点完成一个job,与其这样，不如maual 来做。</summary><published>2011-09-07T15:50:00Z</published><updated>2011-09-07T15:50:00Z</updated><author><name>炭炭</name><uri>http://www.cnblogs.com/waitrabbit/</uri></author><link rel="alternate" href="http://www.cnblogs.com/waitrabbit/archive/2011/09/07/2170410.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/waitrabbit/archive/2011/09/07/2170410.html"/><content type="html">&lt;p&gt;&lt;span style="font-family: 宋体;" face="宋体"&gt;&lt;span style="color: black; font-size: 9pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"&gt;适合的：&lt;/span&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: black; font-size: 9pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -21pt; margin-left: 21pt; mso-list: l1 level1 lfo1;"&gt;&lt;span style="font-family: Wingdings; color: black; font-size: 9pt; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings;" lang="EN-US"&gt;&lt;span style="mso-list: Ignore;"&gt;l&lt;span style="font: 7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体;" face="宋体"&gt;&lt;span style="color: black; font-size: 9pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"&gt;单元组件测试&lt;/span&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: black; font-size: 9pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -21pt; margin-left: 21pt; mso-list: l1 level1 lfo1;"&gt;&lt;span style="font-family: Wingdings; color: black; font-size: 9pt; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings;" lang="EN-US"&gt;&lt;span style="mso-list: Ignore;"&gt;l&lt;span style="font: 7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: black; font-size: 9pt;" lang="EN-US"&gt;API&lt;/span&gt;&lt;span style="color: black; font-size: 9pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"&gt;&lt;span style="font-family: 宋体;" face="宋体"&gt;，&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: black; font-size: 9pt;" lang="EN-US"&gt; webservice &lt;/span&gt;&lt;span style="font-family: 宋体;" face="宋体"&gt;&lt;span style="color: black; font-size: 9pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"&gt;测试&lt;/span&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: black; font-size: 9pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -21pt; margin-left: 21pt; mso-list: l1 level1 lfo1;"&gt;&lt;span style="font-family: Wingdings; color: black; font-size: 9pt; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings;" lang="EN-US"&gt;&lt;span style="mso-list: Ignore;"&gt;l&lt;span style="font: 7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: black; font-size: 9pt;" lang="EN-US"&gt;UI &lt;/span&gt;&lt;span style="color: black; font-size: 9pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"&gt;&lt;span style="font-family: 宋体;" face="宋体"&gt;底层测试，（比如自动生成的&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: black; font-size: 9pt;" lang="EN-US"&gt;XHTML&lt;/span&gt;&lt;span style="font-family: 宋体;" face="宋体"&gt;&lt;span style="color: black; font-size: 9pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"&gt;代码）&lt;/span&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: black; font-size: 9pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -21pt; margin-left: 21pt; mso-list: l1 level1 lfo1;"&gt;&lt;span style="font-family: Wingdings; color: black; font-size: 9pt; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings;" lang="EN-US"&gt;&lt;span style="mso-list: Ignore;"&gt;l&lt;span style="font: 7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: black; font-size: 9pt;" lang="EN-US"&gt;UI &lt;/span&gt;&lt;span style="font-family: 宋体;" face="宋体"&gt;&lt;span style="color: black; font-size: 9pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"&gt;测试&lt;/span&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: black; font-size: 9pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -21pt; margin-left: 21pt; mso-list: l1 level1 lfo1;"&gt;&lt;span style="font-family: Wingdings; color: black; font-size: 9pt; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings;" lang="EN-US"&gt;&lt;span style="mso-list: Ignore;"&gt;l&lt;span style="font: 7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: 9pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"&gt;&lt;span style="font-family: 宋体;" face="宋体"&gt;这几种，从前往后，需要的投入越大，&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: black; font-size: 9pt;" lang="EN-US"&gt;ROI &lt;/span&gt;&lt;span style="font-family: 宋体;" face="宋体"&gt;&lt;span style="color: black; font-size: 9pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"&gt;越低，但对开发的要求越低。&lt;/span&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: black; font-size: 9pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: black; font-size: 9pt;" lang="EN-US"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体;" face="宋体"&gt;&lt;span style="color: black; font-size: 9pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"&gt;不适合的：&lt;/span&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: black; font-size: 9pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -21pt; margin-left: 21pt; mso-list: l0 level1 lfo2;"&gt;&lt;span style="font-family: Wingdings; color: black; font-size: 9pt; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings;" lang="EN-US"&gt;&lt;span style="mso-list: Ignore;"&gt;l&lt;span style="font: 7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体;" face="宋体"&gt;&lt;span style="color: black; font-size: 9pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"&gt;易用性测试&lt;/span&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: black; font-size: 9pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -21pt; margin-left: 21pt; mso-list: l0 level1 lfo2;"&gt;&lt;span style="font-family: Wingdings; color: black; font-size: 9pt; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings;" lang="EN-US"&gt;&lt;span style="mso-list: Ignore;"&gt;l&lt;span style="font: 7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体;" face="宋体"&gt;&lt;span style="color: black; font-size: 9pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"&gt;探索性测试&lt;/span&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: black; font-size: 9pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -21pt; margin-left: 21pt; mso-list: l0 level1 lfo2;"&gt;&lt;span style="font-family: Wingdings; color: black; font-size: 9pt; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings;" lang="EN-US"&gt;&lt;span style="mso-list: Ignore;"&gt;l&lt;span style="font: 7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体;" face="宋体"&gt;&lt;span style="color: black; font-size: 9pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"&gt;重复率非常低的测试&lt;/span&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: black; font-size: 9pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -21pt; margin-left: 21pt; mso-list: l0 level1 lfo2;"&gt;&lt;span style="font-family: Wingdings; color: black; font-size: 9pt; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings;" lang="EN-US"&gt;&lt;span style="mso-list: Ignore;"&gt;l&lt;span style="font: 7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: 9pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"&gt;&lt;span style="font-family: 宋体;" face="宋体"&gt;不能快速返回结果的测试（比如说你需要等某个时间点完成一个&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: black; font-size: 9pt;" lang="EN-US"&gt;job,&lt;/span&gt;&lt;span style="color: black; font-size: 9pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"&gt;&lt;span style="font-family: 宋体;" face="宋体"&gt;与其这样，不如&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: black; font-size: 9pt;" lang="EN-US"&gt;maual &lt;/span&gt;&lt;span style="font-family: 宋体;" face="宋体"&gt;&lt;span style="color: black; font-size: 9pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"&gt;来做。&lt;/span&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: black; font-size: 9pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt;" &gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/waitrabbit/aggbug/2170410.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/waitrabbit/archive/2011/09/07/2170410.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/waitrabbit/archive/2011/09/07/2170394.html</id><title type="text">测试天生就要自动化的理由</title><summary type="text">1， 测试是一项重复的活动。这个重复体现在：l 我们在每次迭代、每个sprint结束， 都应重复以前的测试用例。l 版本控制中，我们在每个版本分支上有许多重复测试。l 因为FFR，每次改完BUG，我们需要重复。l 最可怕和最必要的重复：发布前的不断回归l 重要的一点，重复是严格的重复，只有机器能保证这一点2，测试是一项需要快速给出反馈的活动，需要快速的原因在于l 越快修改的代价越低l 越快越有利于发现Root Cause3, 测试是步骤重复，但是数据却不重复的测试。其他的独立于步骤的因素还有：l 不同权限的帐户l 产品不同的配置、不同的略微差异的版本。4，最后一点理由：测试脚本是强大的“动态”</summary><published>2011-09-07T15:43:00Z</published><updated>2011-09-07T15:43:00Z</updated><author><name>炭炭</name><uri>http://www.cnblogs.com/waitrabbit/</uri></author><link rel="alternate" href="http://www.cnblogs.com/waitrabbit/archive/2011/09/07/2170394.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/waitrabbit/archive/2011/09/07/2170394.html"/><content type="html">&lt;p style="text-indent: -18pt; margin-left: 18pt; mso-list: l2 level1 lfo1;"&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: black; font-size: 9pt; mso-fareast-font-family: Verdana; mso-bidi-font-family: Verdana;" lang="EN-US"&gt;&lt;span style="mso-list: Ignore;"&gt;1，&lt;span style="font: 7pt 'Times New Roman';"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体;" face="宋体"&gt;&lt;span style="color: black; font-size: 9pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"&gt;测试是一项重复的活动。这个重复体现在：&lt;/span&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: black; font-size: 9pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -21pt; margin-left: 63pt; mso-list: l1 level3 lfo2;"&gt;&lt;span style="font-family: Wingdings; color: black; font-size: 9pt; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings;" lang="EN-US"&gt;&lt;span style="mso-list: Ignore;"&gt;l&lt;span style="font: 7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: 9pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"&gt;&lt;span style="font-family: 宋体;" face="宋体"&gt;我们在每次迭代、每个&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: black; font-size: 9pt;" lang="EN-US"&gt;sprint&lt;/span&gt;&lt;span style="color: black; font-size: 9pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"&gt;&lt;span style="font-family: 宋体;" face="宋体"&gt;结束，&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: black; font-size: 9pt;"&gt; &lt;/span&gt;&lt;span style="font-family: 宋体;" face="宋体"&gt;&lt;span style="color: black; font-size: 9pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"&gt;都应重复以前的测试用例。&lt;/span&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: black; font-size: 9pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -21pt; margin-left: 63pt; mso-list: l1 level3 lfo2;"&gt;&lt;span style="font-family: Wingdings; color: black; font-size: 9pt; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings;" lang="EN-US"&gt;&lt;span style="mso-list: Ignore;"&gt;l&lt;span style="font: 7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体;" face="宋体"&gt;&lt;span style="color: black; font-size: 9pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"&gt;版本控制中，我们在每个版本分支上有许多重复测试。&lt;/span&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: black; font-size: 9pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -21pt; margin-left: 63pt; mso-list: l1 level3 lfo2;"&gt;&lt;span style="font-family: Wingdings; color: black; font-size: 9pt; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings;" lang="EN-US"&gt;&lt;span style="mso-list: Ignore;"&gt;l&lt;span style="font: 7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: 9pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"&gt;&lt;span style="font-family: 宋体;" face="宋体"&gt;因为&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: black; font-size: 9pt;" lang="EN-US"&gt;FFR&lt;/span&gt;&lt;span style="color: black; font-size: 9pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"&gt;&lt;span style="font-family: 宋体;" face="宋体"&gt;，每次改完&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: black; font-size: 9pt;" lang="EN-US"&gt;BUG&lt;/span&gt;&lt;span style="font-family: 宋体;" face="宋体"&gt;&lt;span style="color: black; font-size: 9pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"&gt;，我们需要重复。&lt;/span&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: black; font-size: 9pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -21pt; margin-left: 63pt; mso-list: l1 level3 lfo2;"&gt;&lt;span style="font-family: Wingdings; color: black; font-size: 9pt; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings;" lang="EN-US"&gt;&lt;span style="mso-list: Ignore;"&gt;l&lt;span style="font: 7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体;" face="宋体"&gt;&lt;span style="color: black; font-size: 9pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"&gt;最可怕和最必要的重复：发布前的不断回归&lt;/span&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: black; font-size: 9pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -21pt; margin-left: 63pt; mso-list: l1 level3 lfo2;"&gt;&lt;span style="font-family: Wingdings; color: black; font-size: 9pt; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings;" lang="EN-US"&gt;&lt;span style="mso-list: Ignore;"&gt;l&lt;span style="font: 7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体;" face="宋体"&gt;&lt;span style="color: black; font-size: 9pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"&gt;重要的一点，重复是严格的重复，只有机器能保证这一点&lt;/span&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: black; font-size: 9pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: black; font-size: 9pt;" lang="EN-US"&gt;2&lt;/span&gt;&lt;span style="font-family: 宋体;" face="宋体"&gt;&lt;span style="color: black; font-size: 9pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"&gt;，测试是一项需要快速给出反馈的活动，需要快速的原因在于&lt;/span&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: black; font-size: 9pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -21pt; margin-left: 63pt; mso-list: l0 level3 lfo3;"&gt;&lt;span style="font-family: Wingdings; color: black; font-size: 9pt; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings;" lang="EN-US"&gt;&lt;span style="mso-list: Ignore;"&gt;l&lt;span style="font: 7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体;" face="宋体"&gt;&lt;span style="color: black; font-size: 9pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"&gt;越快修改的代价越低&lt;/span&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: black; font-size: 9pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -21pt; margin-left: 63pt; mso-list: l0 level3 lfo3;"&gt;&lt;span style="font-family: Wingdings; color: black; font-size: 9pt; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings;" lang="EN-US"&gt;&lt;span style="mso-list: Ignore;"&gt;l&lt;span style="font: 7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: 9pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"&gt;&lt;span style="font-family: 宋体;" face="宋体"&gt;越快越有利于发现&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: black; font-size: 9pt;" lang="EN-US"&gt;Root Cause&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: black; font-size: 9pt;" lang="EN-US"&gt;3, &lt;/span&gt;&lt;span style="font-family: 宋体;" face="宋体"&gt;&lt;span style="color: black; font-size: 9pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"&gt;测试是步骤重复，但是数据却不重复的测试。其他的独立于步骤的因素还有：&lt;/span&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: black; font-size: 9pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -21pt; margin-left: 63pt; mso-list: l3 level1 lfo4;"&gt;&lt;span style="font-family: Wingdings; color: black; font-size: 9pt; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings;" lang="EN-US"&gt;&lt;span style="mso-list: Ignore;"&gt;l&lt;span style="font: 7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体;" face="宋体"&gt;&lt;span style="color: black; font-size: 9pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"&gt;不同权限的帐户&lt;/span&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: black; font-size: 9pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -21pt; margin-left: 63pt; mso-list: l3 level1 lfo4;"&gt;&lt;span style="font-family: Wingdings; color: black; font-size: 9pt; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings;" lang="EN-US"&gt;&lt;span style="mso-list: Ignore;"&gt;l&lt;span style="font: 7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体;" face="宋体"&gt;&lt;span style="color: black; font-size: 9pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"&gt;产品不同的配置、不同的略微差异的版本。&lt;/span&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: black; font-size: 9pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: black; font-size: 9pt;" lang="EN-US"&gt;4&lt;/span&gt;&lt;span style="color: black; font-size: 9pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"&gt;&lt;span style="font-family: 宋体;" face="宋体"&gt;，最后一点理由：测试脚本是强大的&amp;ldquo;动态&amp;rdquo;的文档。&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: black; font-size: 9pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/waitrabbit/aggbug/2170394.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/waitrabbit/archive/2011/09/07/2170394.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/waitrabbit/archive/2011/09/06/2168488.html</id><title type="text">Manager 如何在Scrum team中体现作用？</title><summary type="text">1， 确保敏捷原则的贯彻执行，在团队成员受到压力时给予支持。决策由team来做可能一直都是一个好主意？2， 解决跨团队的问题3， 团队的划分，人员划分4， 解决Scrum 的风险，客服Scrum 的缺点。5， 人员培训，多技能的测试人员：需求、文档、UI、自动化5 ， 测试策略的制定， 平时的scrum， 稳定阶段呢（regression会出现）， realease 阶段？ 把关？Question:Scrum 团队中包含tester? 比例？团队人员构成，成分？自动化工具？ 覆盖率？scrum 周期，release 周期？是否应用TDD？测试人员能有多大自主权？ 时间？ velocity?Ma</summary><published>2011-09-06T02:57:00Z</published><updated>2011-09-06T02:57:00Z</updated><author><name>炭炭</name><uri>http://www.cnblogs.com/waitrabbit/</uri></author><link rel="alternate" href="http://www.cnblogs.com/waitrabbit/archive/2011/09/06/2168488.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/waitrabbit/archive/2011/09/06/2168488.html"/><content type="html">&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;1， 确保敏捷原则的贯彻执行，在团队成员受到压力时给予支持。决策由team来做可能一直都是一个好主意？&lt;/p&gt;&#xD;
&lt;p&gt;2， 解决跨团队的问题&lt;/p&gt;&#xD;
&lt;p&gt;3， 团队的划分，人员划分&lt;/p&gt;&#xD;
&lt;p&gt;4， 解决Scrum 的风险，客服Scrum 的缺点。&lt;/p&gt;&#xD;
&lt;p&gt;5， 人员培训，多技能的测试人员：需求、文档、UI、自动化&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;5 ， 测试策略的制定， 平时的scrum， 稳定阶段呢（regression会出现）， realease 阶段？ 把关？&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;Question:&lt;/p&gt;&#xD;
&lt;p&gt;Scrum 团队中包含tester? 比例？&lt;/p&gt;&#xD;
&lt;p&gt;团队人员构成，成分？&lt;/p&gt;&#xD;
&lt;p&gt;自动化工具？ 覆盖率？&lt;/p&gt;&#xD;
&lt;p&gt;scrum 周期，release 周期？&lt;/p&gt;&#xD;
&lt;p&gt;是否应用TDD？&lt;/p&gt;&#xD;
&lt;p&gt;测试人员能有多大自主权？ 时间？ velocity?&lt;/p&gt;&#xD;
&lt;p&gt;Manager 的角色？&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;测试人员要注意进入稳定时的质量， 要注意us中的acceptance cretiaria&lt;/p&gt;&lt;img src="http://www.cnblogs.com/waitrabbit/aggbug/2168488.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/waitrabbit/archive/2011/09/06/2168488.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/waitrabbit/archive/2011/08/29/2157393.html</id><title type="text">测试与开发的冲突举例</title><summary type="text">1，有Block的bug，测试要不要继续？2，给Bug如何定级？3，要不要给Bug加regression 标签4，性能测试的指标谁说了算？5，开发能否干扰测试计划？6, 测试能不能给单元测试定标准？7, regression bug 多，开发有没有反省设计缺陷，还是抱怨测试不及时？8, 设计是否有足够健壮的中间层供测试？9，是否只依赖于基于UI的自动化测试做为防护网，还是有单元测试、API测试？</summary><published>2011-08-29T02:15:00Z</published><updated>2011-08-29T02:15:00Z</updated><author><name>炭炭</name><uri>http://www.cnblogs.com/waitrabbit/</uri></author><link rel="alternate" href="http://www.cnblogs.com/waitrabbit/archive/2011/08/29/2157393.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/waitrabbit/archive/2011/08/29/2157393.html"/><content type="html">&lt;p&gt;1，有Block的bug，测试要不要继续？&lt;/p&gt;&#xD;
&lt;p&gt;2，给Bug如何定级？&lt;/p&gt;&#xD;
&lt;p&gt;3，要不要给Bug加regression 标签&lt;/p&gt;&#xD;
&lt;p&gt;4，性能测试的指标谁说了算？&lt;/p&gt;&#xD;
&lt;p&gt;5，开发能否干扰测试计划？&lt;/p&gt;&#xD;
&lt;p&gt;6, 测试能不能给单元测试定标准？&lt;/p&gt;&#xD;
&lt;p&gt;7, regression bug 多，开发有没有反省设计缺陷，还是抱怨测试不及时？&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;8, 设计是否有足够健壮的中间层供测试？&lt;/p&gt;&#xD;
&lt;p&gt;9，是否只依赖于基于UI的自动化测试做为防护网，还是有单元测试、API测试？&lt;/p&gt;&lt;img src="http://www.cnblogs.com/waitrabbit/aggbug/2157393.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/waitrabbit/archive/2011/08/29/2157393.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry></feed>
