摘要:左耳朵耗子发表了《我们需要全职的QA吗?》后,一石激起千重浪,赞成者有之,激烈反对者有之;有人说文中对QA的定义不对,还有人说以偏概全…… 的确,在需不需要专职的QA角色这个问题上,很难用一个简单的“需要”或“不需要”来回答。前两天我写了一篇对该文的回应文章,但由于文章写就得比较仓促,很多观点来不及完整表述,因此,在“真理越辩越明”的原则下,在这边文章中,我准备就“我们需要什么样的测试”这个问题说说我自己的看法。
首先要说明的是,这篇文章完全不是讨论“我们是否需要专职QA”这个问题的,也不是讨论“各种情况下QA或测试工程需要做什么”,而是从我自身对测试的认知和个人经验出发,说一说我对不同特点的产品需要的测试的看法。
阅读全文
摘要:在第四届软件质量年会上的演讲,标题是”让测试敏捷起来“。
下面的链接是InfoQ上的视频和PPT:
http://www.infoq.com/cn/presentations/duannian-agile-test
阅读全文
摘要:在本系列的第一部分中,我们简要回顾了敏捷开发,以及敏捷测试与传统测试的不同。在第一部分中,我们特别提到,敏捷测试的要点之一就是,不依据于角色而是依据于任务来考虑整个开发过程中的测试。
但是,对一个开发组织来说,组织中一定存在开发工程师和测试工程师的角色划分,作为一个敏捷团队中的测试工程师,他的主要工作职责是什么呢?或者说,他可以在哪些工作上发挥自己的作用呢?
阅读全文
摘要:Agile testing(敏捷测试)基本上是伴随着敏捷开发的概念成长起来的,但在受关注程度上,远远不及敏捷开发本身。自然,开发队伍从数量和活跃度上来讲大于测试队伍,是其中的一个原因;除了这个原因之外,“敏捷测试究竟如何在项目中发挥作用”这个问题可能也是导致敏捷测试概念的流行度远远不如敏捷开发的原因之一。
在敏捷环境中工作了几年之后,对敏捷测试有了一些感悟,希望和大家分享。
阅读全文
摘要:

在4月26号下午的讲座中,我提到了“将Script放到HTML文件中尽量靠近尾部”的方法来提高用户感觉上的响应时间,有朋友对这个问题提出了疑问,因此在这里更详细的对该方法进行说明。
首先,浏览器对于script的下载是避免并行进行的。HTTP/1.1协议中规定浏览器和同一host之间只建立最多两个连接,也就是说允许的最大并行度为2(当然,对IE和Firefox来说,你都可以通过修改浏览器的设置来扩大这个并行度)。但对于Script的下载来说,浏览器在开始下载Script之后,是不会并行的下载其他element的。不会并行下载script这一点是一个事实,但浏览器为什么要采用这种策略,以及浏览器我们提到的“将Script放到HTML文件中尽量靠近尾部”到底能起到多大的作用,需要注意哪些事项,我希望在这篇文章中进一步的进行讨论。
阅读全文
摘要:追求问题的定义往往是一件非常好玩的事情。比如,这篇文章的标题:“什么是Test Automation(测试自动化)?”
许多人都在谈论测试自动化,但是要谈论测试自动化的人对测试自动化进行一个明确的定义,却不是一件容易的事情。不信,我们来看看:
阅读全文
摘要:昨天一个测试工程师发邮件给我,询问软件评测师考试的一个题目的答案。题目是关于估算系统中存在缺陷数量的,原题如下:
“两个小组独立地测试同一个程序,第一组发现25个错误,第二组发现30个错误,在两个小组发现的错误中有15个是共同的,那么可以估计程序中的错误总数是 ___个。
A.25 B.30 C.50 D.60”
当然,任何一个了解估算方法的朋友都可以根据公式计算出最终的结果是50个,这没有什么问题。——但是,我在这里引用这个题目,是希望我们可以把学习这件事情通过类比变得“更加有趣”一点。
其实,如何估算一个系统中存在的缺陷数,我们的老祖宗早就有现成的方法了。不信,请看我在我们老祖宗的数学专著中找到的一个实践问题:“有一口鱼塘,不知道其中有多少条鱼,如何才能估算出池塘中鱼的数量?”(当然,原文不是这样,请原谅我一下子找不到出处,只好凭记忆用我的语言描述一下了)。我们老祖宗给出的答案是这样的:
………………
阅读全文
摘要: 从内心来说,我非常非常同意Raymond的话:你要自己去“挣”回一个答案。在我看来,简单的说,关于提出问题,大致是3点:
1. 没有人有义务回答你的问题,所以请不要动辄大叫“为什么没有人回答我的问题?高手在哪里?”——越是高手,越是时间宝贵,也许根本原因是,你的问题不值得他们浪费时间;
2. 不要把提问变成一个简单的索取,你的问题只有在给其他人带去同样的价值和收获的时候,才会引起他人的关注,所以请不要在论坛上大叫“这段话我看不懂,谁能给我讲一下?”
3. 请只有在确认自己无法解决这个问题的时候,才向他人提问——“确认”的意思是说,你无法从其他任何来源获得关于此问题的信息,不想看,不愿看,看不明白不在此列。
阅读全文
摘要: 很多测试工程师强调测试的方法和思想,到底什么是测试的方法和思想?
测试的思路是一种立体的思路,物理学在说到多维空间的时候,往往会用“生活在球面上的动物”来形象地说明二维空间和三维空间的不同,在这里我也想借用多维空间的概念说一说测试。
阅读全文
摘要:摘要: 目前,不少网站在用户登录、用户提交信息等登录和输入的页面上使用了验证码技术。验证码技术可以有效防止恶意用户对网站的滥用,使得网站可以有效避免用户信息失窃、广告SPAM等问题。但与此同时,验证码技术的使用却使得WEB自动化测试面临了较大的困难——由于验证码的存在,传统的“录制”-“回放”工具由于不能识别验证码而失效。在各大软件测试的论坛中,经常能看到测试工程师在焦急地发问:“自动化测试时如何处理页面上的验证码?”,可见,该问题确实是一个对相当多的测试工程师造成严重困扰的问题。其实,验证码并不像它表面上看起来那么神秘,也并不像一些测试工程师认为的那样坚不可摧,通过一些技术和非技术性的手段,测试工程师完全可以把这个阻碍测试的绊脚石踢开。
本文是这一系列的最后一部分,描述了针对各种不同的针对验证码的“解决方案”,并对其进行了比较,说明各自的适用范围和优缺点。
阅读全文
摘要:最近有个学员对我在课程中提到的单元测试的概念产生了疑问,原因是他看到了《软件测试方法和技术》(朱少民 清华大学出版社 2005年7月第一版)中的一段对单元测试的定义,对比我在单元测试中提到的主要是针对类的单元测试,觉得两者不太一致,于是对单元测试的对象和范围产生了一些疑问。
本文针对这个问题进行了深入的探讨和描述。
阅读全文
摘要:演讲的题目是《企业测试自动化的策略、过程与误区》,放上来的是PPT转换的PDF文件。
关于本次演讲的文字资料和照片,可以参见以下链接:
http://tech.sina.com.cn/it/2006-09-23/15491156013.shtml(新浪)
http://www.enet.com.cn/article/2006/0923/A20060923208113.shtml(硅谷动力)
阅读全文
摘要:在敏捷测试(Agile testing)中,探索性测试是作为一个重要组成部分而出现的,把“对系统的探索”和“对系统进行测试”结合在一起,敏捷测试可以利用探索性测试达成“敏捷”的目标。
探索性测试并不是一个最近才被提出来的测试技术,也不是一种很深奥的技术——事实上,许多测试工程师在自觉或不自觉地使用这种技术。那么,究竟什么是探索性测试呢?
阅读全文