![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
1. 测试的艺术
文章平均质量分 92
KerryZhu
同济大学特聘教授,CCF高级会员,软件绿色联盟标准评测组组长、QECon大会发起人、《软件质量报道》公众号博主。近三十年来一直从事软件测试、质量管理等工作,先后获得多项省、部级科技进步奖,已出版了二十多部著作和3本译作,代表作主要有《全程软件测试》、《敏捷测试》、《软件测试方法和技术》、《软件质量保证和管理》等。并经常在国内外学术会议或技术大会上发表演讲,曾任思科(中国)软件有限公司QA高级总监、IEEE ICST 2019工业论坛主席、IEEE ICST、QRS和DSA、NASAC程序委员等。
展开
-
ACTS:首屈一指的软件测试策略是什么?
如果问你,首屈一指的软件测试策略是什么?自然是基于风险的测试(RBT)策略。而RBT策略首先应用于测试需求分析,而且测试分析是测试设计、执行的基础。所以在我们发布的持续测试解决方案 ACTS中,其方法技术层的第一项就是“RBT分析”,今天我们就简单来讨论一下 RBT分析,而真正的RBT分析实战是我们咨询服务的一个亮点。1.什么是RBTRBT就是一种基于风险概率的软件测试策略,即根据软件的复杂性和耦合性、业务的关联性、功能的使用频率、应用场景、可能存在缺陷等来评估风险,并基于风险的..原创 2022-05-22 14:55:06 · 1473 阅读 · 0 评论 -
软件测试的底层逻辑是什么?
原创Test Ninja软件质量报道2021-12-08 07:55什么是底层逻辑?按照刘润老师的解释就是:“事物间的共同点,就是底层逻辑。只有不同之中的相同之处、变化背后不变的东西,才是底层逻辑。......底层逻辑+环境变量 =方法论”他还说:“只有底层逻辑,才是有生命力的。”所以我们要来探讨一下:软件测试的底层逻辑是什么?1. 对软件测试的基本认知对软件测试的基本认知,使我们达成共识,从而基于这个共识,更容易去讨论软件测试的底层逻辑...原创 2022-01-05 22:17:31 · 14068 阅读 · 3 评论 -
老话题新解说:究竟什么是敏捷测试?
7年前(2013 年),在 InfoQ 发表了相同标题的文章,但这篇文章是全新而作。在回答“究竟什么是敏捷测试”之前,我先问一个问题:你了解敏捷开发吗?如果不了解,那先需要去了解敏捷,例如看看我之前写过的一篇文章Scrum不再是Scrum,Scrum还是Scrum,可以有助于理解敏捷。理解敏捷,更重要的是去agilemanifesto.org仔细阅读著名的敏捷宣言和 12 项敏捷开发原...原创 2020-03-01 11:23:45 · 2919 阅读 · 0 评论 -
如何成为一个优秀的测试工程师
我一直在想,如何将自己的测试团队打造成世界一流的团队?流程、测试自动化、创新、扁平式管理、国际标准制定、测试社区贡献、…… 但首先一点是明确的,就是要将每一个测试工程师打造成优秀的测试工程师,优秀的团队必须由优秀的成员构成。所以,先讨论“如何成为一个优秀的测试工程师”,将来再慢慢讨论:一流的测试流程是什么?测试自动化如何突破?测试如何创新?……原创 2010-01-24 11:40:00 · 18613 阅读 · 23 评论 -
借助Google趋势来看软件测试
Google 趋势是一个新产品,但它基于巨量的用户搜索数据,其结果具有很好的可靠性。例如,输入一些名人的名字,如“易中天、余秋雨、于丹”等,进行对比分析,可以知道谁更有人气,而且还出现某些高峰时段,这期间一定有某些事件发生,如捐款门事件、毒舌门事件(狂砸两位主持人)等。 这里通过一些关键字的比较,可以获得一些有关软件测试的、比较有意思的结果,可以帮助我们更好地了解软件测试。原创 2009-09-10 17:44:00 · 5427 阅读 · 2 评论 -
《软件测试》邮电版的电子课件下载
经过近几周的努力,完成了《软件测试》邮电版的电子课件,现在可以下载了: 《软件测试》 邮电版 第1章 课件 《软件测试》 邮电版 第2章 课件 《软件测试》 邮电版 第3章 课件 《软件测试》 邮电版 第4章 课件 《软件测试》 邮电版 第5章 课件 《软件测试》 邮电版 第6章 课件 《软件测试》 邮电版 第7章 课件 《软件原创 2009-08-27 22:16:00 · 7355 阅读 · 11 评论 -
《全程软件测试》电子课件 陆续可下载
为了更好地让大家理解软件测试,共完成了8讲内容,目前已发布了3讲,在接下来的时间,将陆续发布其它几讲内容。 ------------------------------------------------------------------------先进的测试思想:测试过程可以看作质量保证和缺陷预防的过程,测试不再是产品质量的一个原创 2009-08-13 22:57:00 · 6357 阅读 · 16 评论 -
软件测试的两张藏宝图和三个层次
参加第二届(天津)国际软件测试会议,和软件测试同仁交流了经验,结交了不少朋友,观赏了新疆和内蒙的舞蹈和草原歌声,并和大学同学叙叙旧,颇有收获,其中还有两项收获就是:软件测试藏宝图,和我的软件测试全景图(如:基于过程的软件测试全景图)差异挺大,内容要丰富得多,覆盖了所有的知识点。而我的全景图,忽略细节和一般知识的具体内容,强调内涵和测试各环节的内在关系,逻辑清晰、实践性强,各原创 2009-04-28 21:24:00 · 11047 阅读 · 16 评论 -
关于软件测试的问与答(与神仙的对话)
作为芸芸众程序员的一员,我对软件开发中的一切都充满问题。今天是关于测试,作为一名唯物主义者,我相信众物都有其神,于是我找到了测试之神。 接着,我和神有了一次长谈,我问,他答。转载 2011-03-09 22:10:00 · 20377 阅读 · 7 评论 -
如何理解完美测试
《完美测试》前言 当写本书的时候,出于一种心愿,出于一种理想,取书名为《完美测试》。当真正开始写作时,又觉得是一件很困难的事。首先如何理解什么是完美的测试?然后又如何把测试工作做得完美?于是在微博上发出帖子,问大家如何理解什么是完美测试,但得到的答案也是不一样的。 @张定勇_darren:值得思考的问题。我的理解,软件测试是建立对产品信心的过程,将产品引发最终用户损失的风险降低到一个“可接受”原创 2012-03-27 21:02:16 · 17371 阅读 · 6 评论 -
神奇的曲线:探索式测试与基于脚本的测试之关系
[版权所有,转载请注明作者(朱少民)和出处]原来准备在上海MPD上和大家分享以前在新浪微博(查看原文:http://t.cn/zOSXmst)提到的 神奇的曲线:探索式测试与基于脚本的测试之关系,结果上周接到培训任务,去成都做了一场培训,和学员做了简单分享。探索式测试(Exploratory Test)经常被简称为ET,由 Cem Kaner 1983年建立的测试概念,这几年随着敏捷方法而大行其道原创 2012-04-23 15:17:59 · 9612 阅读 · 4 评论 -
专业测试团队会消亡还是新生
文/朱少民敏捷软件开发致使很多人质疑专业测试团队存在的价值,本文对此进行了深度的剖析,并结合技术发展现状给出了软件测试的未来方向。敏捷软件开发带来的困惑敏捷软件开发强调“拥抱变化”, 认为不能将需求定义一次做到位,也没必要一次做到位,需要不断挖掘,才能逐渐获得真实的需求。这就给测试带来极大的挑战,因为测试需要把验证的标准作为参 照系,否则如果需求不清楚,就很难确定测试中发现的问题是不是真正的缺陷,原创 2012-10-29 22:01:18 · 15837 阅读 · 8 评论 -
软件测试宣言的诠释
从2000年开始从事软件测试,逐渐形成自己的软件测试思想,而第一次比较清晰呈现自己的测试的思想是2007年出版的《全程软件测试》,正如前言所叙:“从项目启动的第一天起到需求和设计的评审阶段,从后期的缺陷修正到产品维护——在整个软件生命周期中,开发人员和测试人员愉快地合作、共同努力,将软件产品的开发效率和质量推到一个新的高度。”,这些思想在测试管理工作的体现就是让测试人员更早地融入项目中,更主动、更原创 2012-12-15 17:22:20 · 17385 阅读 · 9 评论 -
究竟什么是敏捷测试
时至今日,还讨论这样一个老话题,是否感觉老调重弹?因为两年前(2010年底)时任谷歌中国测试经理的段念先生就写了一篇文章《什么是敏捷软件测试》(刊登在InfoQ网站上[1]), 就已经谈到这个话题,“敏捷软件测试更多的是一种理念,而非过程”。在2011年,我自己也写了一篇文章《敏捷测试的思考和新发展》,刊登在《程序员》杂志上,谈到“在BDD、ATDD和TDD最根本的、共同的思想基础上,构成一个全新原创 2013-04-17 10:26:03 · 14973 阅读 · 6 评论 -
软件测试的起点和源泉——七种测试驱动模式(方法论)
在进行软件测试时,总要有一个出发点吧?从哪里开始分析?测试设计是基于什么?简单地说,什么驱动测试工作?这是一个基本问题,基于自己多年对软件工程、产品质量和测试等的理解,总结出七类测试驱动模式。原创 2014-10-01 13:01:01 · 9896 阅读 · 0 评论 -
十年了,测试变了,我也变了,但总有一些东西未变
(十三年前我设计的) 十年前,《全程软件测试》第一版和大家见面了。那是在WebEx七年测试工作之结晶,得到读者的喜欢,曾了解到,有好几家公司把这本书作为测试工程师入职培训教材。十年过去了,软件测试领域发生了很大变化,我自己也发生了很大变化。...原创 2019-02-27 16:16:19 · 2410 阅读 · 0 评论 -
预测:2009年国内软件测试的十大热点
2009年悄悄地来到了,送走了艰难的、折腾的2008年。人们对2009年会充满更多的期望,9是一个吉祥的数字,天长地久,而且农历是牛年,牛年更牛。 到了2009年,该为软件测试写点什么。顺民意,预测一下2009年国内软件测试的十大热点。基于云的测试将是新的课题,包括测试方法、技术和工具。而且,云环境下的测试也是减少测试成本的一个途径。基于原创 2009-01-06 22:25:00 · 6260 阅读 · 2 评论 -
21世纪的软件测试
原文来自于Testing in 21st Century,翻译出来,供大家思考。从我个人观点看,21世纪的测试可以简单地概括为3句话(三段论):全程软件测试,测试是重中之重。全程自动化测试,测试原来可以是这样的。全程缺陷预防,测试工作已经不是那么重要。————————————译文————————————————- 由于当前商业和IT环境的驱动,软件测试的理念、实践和翻译 2008-10-22 13:28:00 · 5265 阅读 · 4 评论 -
《软件测试方法和技术》电子课件下载
《软件测试方法和技术》在近两年,先后共印刷 8次,对于软件测试专业书,业绩已相当不错 :-) 为了不辜负读者的厚爱,将尽快修改,完成第二版的修订工作。为了配合高校的教学,现将电子课件上载到 Kerry Zhu CSDN下载频道:《软件测试方法和技术》电子课件之一《软件测试方法和技术》电子课件之二《软件测试方法和技术》电子课件之三《软件测试方法和技术》电子课件之四《软件测试方法和技术》电子原创 2008-04-22 22:29:00 · 35808 阅读 · 122 评论 -
最好的测试工具
非常Cool! 值得一看。盼望已久的测试工具:http://a3.v14853d.c14853.g.vm.akamaistream.net/5/3/14853/v003/1a1a1a72db3eb01f920167db4fb41745a9188ffd69d8399dcb2c97f865c62f5dc02f9ccbfc30689dd0ff6cdf44bc2c5bc83ba01888b7fc356原创 2006-05-30 13:14:00 · 7671 阅读 · 4 评论 -
测试的革命
测试的革命 作者:Sam Guckenheimer 翻译:Blueski 日期:2003-1-20 爱因斯坦在1915年发表了广义相对论,当时这还只是一项伟大的科学猜想。4年后,Arthur Eddington和一个英国科学家组成的小组完成了一项重要的实验,在实验中他们拍摄了在日蚀过程中Hyades星云的图片, 该实验表明,因受日蚀影响,图片中产生了很大的误差幅度,由此证转载 2006-05-30 13:13:00 · 3220 阅读 · 0 评论 -
测试方法的辩证统一(之二)
3. 手工测试和自动化测试 手工测试是指通过测试人员自身对系统进行操作来完成操作,而自动化测试是通过计算机运行测试工具和测试脚本自动进行。自动化测试具有很多优点,如执行速度高而缩短测试周期、可以多次重复运行相同的测试而减少测试的单调性、真实反映测试结果、二十四小时不知劳累运行等等,所以在测试工作中,我们尽力实现测试自动化、或扩大自动化测试的覆盖范围。但是自动化测试前期投入大,对被原创 2006-05-31 09:45:00 · 9669 阅读 · 5 评论 -
测试执行中非常有效的策略
版权所有 :-)对于大型项目,软件测试的执行,除了需要很好的测试范围分析、测试计划制定和测试资源的分配与组织之外,还是有一个容易被大家忽视的策略问题。对于大多数应用项目(非国防、载入飞船上天、净室工程等),我们都知道,测试不是为了证明所有的功能能正常工作,恰恰相反,测试就是为了找出那些不能正常工作、不一致性的问题,也就是说,测试的一般工作就是发现缺陷 (detect bug),当然这些缺陷包括需求原创 2006-06-14 18:50:00 · 14303 阅读 · 12 评论 -
世界杯-足球-软件测试
足球为什么好看?除了运动员有一个可以自由驰骋的绿茵场地、进攻的方式(长距离劲射、角球、点球、头球、倒勾…)比较多等因素之外,更重要的是胜负存在太多的变数啊!在一场比赛中,进一个球非常不容易(画外音:对于中国队,2002年世界杯更是让大家伤透心,理解非常深刻)。实力很强的队不一定能保证赢,也可能会阴沟翻船;看似弱的队,犹如一匹黑马横冲直撞,连爆冷门。正是这种变数,无数次让球迷大喜大悲、大原创 2006-06-16 19:34:00 · 6597 阅读 · 12 评论 -
软件测试的认识误区
测试在软件开发过程中一直都是备受关注的,即使在传统的软件工程中,也有一个明确、独立的测试阶段。随着软件危机的频频出现以及人们对于软件本质的进一步认识,测试的地位得到了前所未有的提高。测试已经不仅仅局限于软件开发中的一个阶段,它已经开始贯穿于整个软件开发过程,人们已经开始认识到:测试开始的时间越早,测试执行的越频繁,所带来的整个软件开发成本的下降就会越多。Extreme Programming更是把转载 2006-06-07 08:36:00 · 2955 阅读 · 0 评论 -
测试方法的辩证统一(之三)
4. 有计划测试和随机测试在测试执行前,我们一般都进行测试的策划、计划,分析测试的重点和范围,精心设计测试用例,来做好测试执行前的准备,通过测试计划和测试用例进行的测试是有计划的测试,而不通过事先计划或不借助测试用例,完全凭感觉、猜测而进行自由、灵活的测试,被称作随机的测试或ad-hoc test。有计划的测试效率高、针对性强,可以很好地达到测试目标,但由于用户使用软件的情景很多、千变万化,测原创 2006-06-08 19:44:00 · 8377 阅读 · 5 评论 -
再论软件测试的执行
虽然我们都认为,有效的测试计划是指导测试用例设计、测试执行的指导性文件,是成功测试的前提和必要条件,测试用例设计是测试工作的核心,测试用例的成功设计已经完成了一半的测试任务,但是测试的执行是基础,是测试计划和测试用例实现的基础,严格的测试执行使测试工作不会半途而废。而且,测试执行的管理相对复杂些,在整个测试执行阶段中,我们需要面对一系列问题,如: 如何确保测试环境满足测试用例所描述的要求? -原创 2006-06-16 19:56:00 · 7599 阅读 · 4 评论 -
测试方法的辩证统一(之四)
前面我们曾谈到测试执行中一种有效性策略,实际就是一个典型例子,显示了有效性和风险性之间的矛盾和统一。测试方法有效性和风险性的这种关系,实际表现在整个测试周期,存在整个开发周期。1. 有效性和风险性, 首先体现在一种测试理念的较量上。虽然,当我们问一个测试工程师,测试是什么?她/他可能会毫不犹豫地说,测试是发现缺陷。当她/他管理一个测试项目或进行测试时,总是想证明所有功能是正常原创 2006-06-22 18:27:00 · 7824 阅读 · 1 评论 -
如何用量化数据来激励测试工程师?
由于软件测试工作需要每个成员都需要有高度的责任感、全身心投入,我们就必须通过良好的管理方法和一系列激励措施,使测试团队保持高昂的士气和高度的责任感。在我写的《软件测试方法和技术》第12章介绍了许多有效的方法,在这里主要想详细讨论具体的量化方法。 从度量角度看,量化数据适合团队绩效的考核,而不宜用于个人绩效的考核。但是,有时为了实行一些测试改进方法、实施某些有效的策略,需要设定游戏规则,通过原创 2006-07-04 18:57:00 · 6448 阅读 · 19 评论 -
第8回 测试的三维空间
软件测试是一个过程,是哲学思想在软件工程中的运用,更是质量目标的扩展和延伸。软件测试构成了具有丰富内容的三维空间。 1. 测试目标— 质量特性的验证 正确性测试 (Correctness testing) 或功能性测试:是基于产品功能规格说明书、从用户角度针对产品特定的功能和特性所进行的验证活动,以确认每个功能是否得到完整的实现,用户能否正常使用这些功能原创 2006-08-17 12:43:00 · 7699 阅读 · 0 评论 -
技术布道——全程软件测试
软件测试理念需要宣传、布道,本周日(8/26)上午将有一次讲座,全力以赴讲解 ”全程软件测试 ” 理念,并试图揭开国际一流软件测试的面纱 ... .. 这次讲座,主要集中宣教两个问题: 广义测试 - 测试不仅仅是程序测试,测试活动不是在编程之后 展示从项目启动到项目结束的全过程首先会讲述软件测试最基本的理念 质量第一。原创 2007-08-21 12:55:00 · 6663 阅读 · 2 评论 -
如何有效又圆满地完成软件测试?
2000年刚建立测试团队时,测试和开发人员是一种对立的关系,开发人员觉得软件测试是挑他们的毛病、和他们过不去,有一个简单的故事可以说明这一点。当时,条件有限,测试人员和开发人员共享一台小型机服务器,测试人员发现了一个缺陷,告诉某个开发人员,而他趁测试人员不注意回到自己座位,偷偷地修改了代码、处理了那个缺陷,然后跑到测试人员身边,说“你把那个Bug再现给我看?”。结果,可想而知,这个原创 2007-09-30 10:50:00 · 8959 阅读 · 5 评论 -
十大负面测试用例
负面测试(Negative testing)是相对于正面测试(Positive testing)而言的。它们也是测试设计时的两个非常重要的划分。简单点说,正面测试就是测试系统是否完成了它应该完成的工作;而负面测试就是测试系统是否不执行它不应该完成的操作。形象一点,正面测试就象一个毕恭毕敬的小学生,老师叫我做什么,我就做什么;而负面测试就象一个调皮捣蛋的孩子,你叫我这样做,我偏不这样做,而且转载 2007-12-17 20:18:00 · 5718 阅读 · 3 评论 -
《全程软件测试》的一些亮点
《全程软件测试》出版以来很受读者欢迎。全程软件测试 在 当当 中国 互动 卓越 亚马逊 更多 。。。为了让更多的读者了解、让更多的(测试)人员不会错过它,特介绍一些书中的亮点,以供参考。 本书的亮点: 授之以渔,阐述测试的先进思想、理念和方法,而不是授之以鱼——交待软件测试的知识; 以项目为背景循序渐进,一步一步、手把手教大家进行软件测试;原创 2008-01-02 12:55:00 · 9939 阅读 · 10 评论 -
测试方法的辩证统一 (1)
软件测试的众多方法是辩证统一的,它们相互依赖而存在,相互对立又相互补充,任何一种测试方法都有其优点,在特定的测试领域能得到充分发挥。同时,任何一种测试方法都不能覆盖所有测试的需求,在某些场合存在一定的局限性和不足。这种测试的辩证统一,从下面这些相对应的测试方法就得到很好的印证。l 白盒测试方法和黑盒测试方法l 静态测试 (static test) 和原创 2006-05-30 13:07:00 · 17605 阅读 · 10 评论