2007年09月
定义个人的价值是很容易的 – 它们是我们觉得对自己是最重要的原则。例如,我们的个人价值可能包括诚实、帮助别人、做好自己的工作。组织的价值类似于个人价值 – 它们是这个企业作为整体考虑的最重要的原则。阅读全文>
发表于 @ 2007年10月01日 16:56:00|评论(loading...)|编辑
你知道空降灭火员吗?他们是勇敢的、自信的救火队员,空降到很远的地方,背着80磅的装备准备消灭森林大火。如果空降比较顺利的话,他们会安全着陆。灭完火后,他们可能需要步行10英里的路程走出去。这不是一个胆小的、反应迟缓的、缺乏自信的人可以完成的工作。阅读全文>
发表于 @ 2007年09月30日 21:48:00|评论(loading...)|编辑
首先:替换测试员的是谁?是让非测试专业人员(程序员、业务专家、技术文档编写人员等)来执行这样的活动:帮助创建指导性的例子和对产品进行批判?还是,反过来,让测试员来做编程、业务分析、技术写作等工作呢?把“测试”仅仅作为技能的集合而存在,在项目中拥有充足的数量,用于服务所有需要这些技能的任务。阅读全文>
发表于 @ 2007年09月27日 16:49:00|评论(loading...)|编辑
为了帮助讨论和理解,我把“敏捷项目中的测试”这一主题分解成4个区分的主题。今天,我将完成矩阵的右边部分:面向技术的产品批判,而不是面向业务的。阅读全文>
发表于 @ 2007年09月26日 23:37:00|评论(loading...)|编辑
为了帮助讨论和理解,我把“敏捷项目中的测试”这一主题分解成4个区分的主题。今天,我开始讲矩阵的右边:产品批判。阅读全文>
发表于 @ 2007年09月26日 23:35:00|评论(loading...)|编辑
获取正确的信息对于很多公司来说都是挑战,而且即使你获得了所需要的文档,但是缺乏你真正需要的信息。阅读全文>
发表于 @ 2007年09月25日 22:08:00|评论(loading...)|编辑
并非每个企业都能严格按敏捷的相关开发方法进行项目管理,例如测试驱动、XP、SCRUM等。也并非都需要按这些方式管理才能实现敏捷。只要我们理解了敏捷的原则和精髓,我认为很多方法、很多地方都可以应用敏捷的思想,实现敏捷的管理。阅读全文>
发表于 @ 2007年09月25日 21:24:00|评论(loading...)|编辑
为了帮助讨论和理解,我把“敏捷项目中的测试”这一主题分解成4个区分的主题。今天,我讲一下我们怎样使用面向业务的例子来帮助和支援整个项目组的工作(不仅仅是程序员)。阅读全文>
发表于 @ 2007年09月25日 21:15:00|评论(loading...)|编辑
测试用例的编写作为QC特定的概念、技能,成为唯一广泛公认的东西,这是我进入测试行业时感到很惊讶的事情。现在,过去10多年了,我终于有点明白了。现在,我是探索性测试(Exploratory Testing)的鼓吹者,我在这之前甚至没有听过这个术语和方法。但是,我现在仍然写测试用例,在一些有意义的地方,相信“银弹”适用于任何地方是错误的。阅读全文>
发表于 @ 2007年09月25日 21:13:00|评论(loading...)|编辑
为了帮助讨论和理解,我把“敏捷项目中的测试”这一主题分解成4个区分的主题。今天,我讲一下我们怎样使用面向技术的例子来帮助和支援程序开发。阅读全文>
发表于 @ 2007年09月24日 17:38:00|评论(loading...)|编辑
设想两个XP程序员坐在代码前面。他们开始构建一个例子来说明下一步要做什么。他们会检查,在代码还没写之前。(如果写了,那是很特殊个别的情况。)他们编写代码。检查例子是否运行正确,其他例子也保持正确。然后继续下一个例子用于展示下一步应该做的事情。阅读全文>
发表于 @ 2007年09月24日 17:24:00|评论(loading...)|编辑
在XP Agile Universe上,两个人-或许更多-告诉我说,我在敏捷测试的发展方面贡献不够。我在过去5年里花了太多的时间说我不知道敏捷测试会怎样,没有足够的指示和指导。“但是让我们看看,也许我们可以找到。”他们可能是对的。因此我让本文作为这方面的一个起点。阅读全文>
发表于 @ 2007年09月24日 17:21:00|评论(loading...)|编辑
我们为什么要写测试计划?翻译并摘取自 Ainars Galvans 的 Why Do we write a test plan 。
阅读全文>
发表于 @ 2007年09月24日 17:03:00|评论(loading...)|编辑
软件同行评审的好处和坏处,翻译并摘自:Software Peer Review Guidelines – National Weather Service/OHD阅读全文>
发表于 @ 2007年09月23日 11:19:00|评论(loading...)|编辑
大家好像都对软件项目失败率很熟悉。有人说是70%,每隔几个月还在上升。但是很多人没有意识到那些所谓“真实数据”是基于很久以前做的研究调查出来。阅读全文>
发表于 @ 2007年09月22日 23:03:00|评论(loading...)|编辑
在51testing的博客新开了个自动化测试的栏目 ,以后与自动化测试相关的内容都将更新到那里,CSDN的博客主要记一些测试理论相关的东西。51testing的自动化测试栏目地址:http://www.51testing.com/?141783/action_spacelist_type_blog_itemtypeid_3706.html
阅读全文>
发表于 @ 2007年09月22日 21:10:00|评论(loading...)|编辑
自动化测试专家 Torsten Zelger 提出的几条提高测试自动化效率的建议。阅读全文>
发表于 @ 2007年09月21日 23:58:00|评论(loading...)|编辑
测试用例评审有效性的44个衡量标准(原文:“44” Metrics for Test Case Review Effectiveness - http://davidfrico.com/roi-metrics-f.htm)
阅读全文>
发表于 @ 2007年09月20日 16:23:00|评论(loading...)|编辑
以后关于TestComplete 的文章都转到51tesing的博客上阅读全文>
发表于 @ 2007年09月13日 21:32:00|评论(loading...)|编辑
TestComplete有三种调用外部函数的方法,分别是调用Win32API的函数,调用.NET Assembly的函数,调用DLL的函数。阅读全文>
发表于 @ 2007年09月11日 20:17:00|评论(loading...)|编辑
一个人的测试是很难成功的,因为每个人的思维都存在局限性,很想到方方面面。所以需要组成一个团队。团队不是几个人拼凑在一起,而是有机结合、互补互助。如何应用实用性测试的原则来组建一个实用的测试团队?阅读全文>
发表于 @ 2007年09月11日 20:14:00|评论(loading...)|编辑
新人来了,不用在烦招聘的事情了,现在可以专注在工作中了。但是你如何让他们尽快赶上你们的速度呢?阅读全文>
发表于 @ 2007年09月11日 20:12:00|评论(loading...)|编辑
不管你是在组建一个项目组还是在组建一个测试组,你都需要发现你认为能干的测试员是否如你所愿地能干。阅读全文>
发表于 @ 2007年09月11日 20:10:00|评论(loading...)|编辑
不要把公文与履历混淆了。履历是把你在各个公司的成绩列举出来(请按时间倒顺排列)。但是公文是用于展示你的工作。阅读全文>
发表于 @ 2007年09月11日 20:06:00|评论(loading...)|编辑
产品开发组是为了组织起来制造人们会买的一个产品。组织产品开发组的第二个目的是拥有不断地制造产品的能力。为了达到这些目的,产品开发组一般组织成功能型的团队或项目型的团队。特别是在软件工程中,很多时候很难在产品开发组和SQA之间划分界限。阅读全文>
发表于 @ 2007年09月11日 20:02:00|评论(loading...)|编辑
如果你的敏捷项目是像我碰到过的大部分项目一样,一些已经在组织中的人决定开始使用敏捷方法。那些项目已经成功了,现在是时候招聘更多的人。那么现在有更重要的问题:你怎么确定你正在面试的人是适合你的敏捷项目组的?阅读全文>
发表于 @ 2007年09月10日 21:34:00|评论(loading...)|编辑
TestComplete除了提供BuiltIn对象来访问常用的函数外,还提供Utilities对象。该对象实现了Borland VCL的SysUtils的很多功能。SysUtils中的很多函数编程了Utilites的方法,而变量则变成了Utilites的属性。阅读全文>
发表于 @ 2007年09月09日 16:57:00|评论(loading...)|编辑
三国时代,刘备三顾茅庐请诸葛亮出山。我在想,这时候诸葛亮不也是毕业生吗?!他在这之前没有任何实战经验啊。对于一个没有经验的人,刘备作为项目经理,为什么要招聘一个没有经验的员工呢?阅读全文>
发表于 @ 2007年09月09日 10:53:00|评论(loading...)|编辑
TestComplete通过BuiltIn对象访问所有内建的函数,这些函数基本上可以在TC支持的各种脚本语言中使用,提供各种常用的功能。本文介绍脚本编写中经常用到的函数。阅读全文>
发表于 @ 2007年09月08日 20:52:00|评论(loading...)|编辑
TestComplete支持5种脚本语言:VBScript、JScript、DelphiScript、C++Script、C#Script。这也是TC优于其他同类型测试工具的先进性之一。这5种语言有较大的区别,我们究竟该选择哪种脚本语言呢?阅读全文>
发表于 @ 2007年09月08日 15:13:00|评论(loading...)|编辑
大部分测试工具绑定了工具生产商指定的特定脚本语言,我们叫它厂商语言。这些语言很难学,实现得很弱,最重要的是,它们不鼓励测试员与开发人员之间的合作。测试员应该得到全特性的、标准的测试开发语言。为什么呢?
阅读全文>
发表于 @ 2007年09月08日 14:16:00|评论(loading...)|编辑
有鉴于各种各样的测试理论和测试工具、测试方法都过于理论化,有些甚至已经不适合现在的软件项目过程。为此提出实用性测试概念,倡导实用的测试技术和方法,倡导测试理论要联系实际,倡导测试理论的应用要结合软件项目的上下文进行修剪,倡导测试过程要讲究投入产出比,倡导每个测试员都成为讲求实用性的实用主义测试者。阅读全文>
发表于 @ 2007年09月08日 09:50:00|评论(loading...)|编辑
在自动化测试中,有时候需要对数据库进行操作,例如,从数据库读取测试数据、检查软件对数据库的更改操作是否正确等等。TestComplete提供好几种对数据库进行操作的方法。阅读全文>
发表于 @ 2007年09月07日 20:37:00|评论(loading...)|编辑
最近,好像整个软件开发界都在讨论和实践敏捷方法,做什么事情都要敏捷,开发要敏捷,测试也要敏捷。阅读全文>
发表于 @ 2007年09月07日 20:34:00|评论(loading...)|编辑
在极限编程中,程序员负责自己的单元测试。那么留给测试员的是什么工作呢?有人认为XP的成本比较低是因为省下了测试员的费用。那么由程序员测试就不需要测试员了吗?他们能真正替代测试员的工作吗?阅读全文>
发表于 @ 2007年09月07日 20:31:00|评论(loading...)|编辑
我们从上下文驱动测试的七大原则(www.context-driven-testing.com)可以看出,上下文驱动测试倾向于快速的反馈和适应变化的环境。所以上下文驱动测试的很多原则和做法可以应用到敏捷开发的软件测试中来。阅读全文>
发表于 @ 2007年09月07日 20:27:00|评论(loading...)|编辑
完成测试脚本的编写并验证工作正常后,就可以使用这些自动化的测试脚本来帮助你完成测试工作了。一般,我们都需要对每个编译出来的测试版本持续地运行脚本,并在某个特定的时间进行。例如:每天凌晨1:00执行这些脚本。阅读全文>
发表于 @ 2007年09月06日 20:05:00|评论(loading...)|编辑
敏捷宣言:个体和交互比过程和工具更有价值;能工作的软件比全面的文档更有价值;顾客的协作比合同谈判更有价值;及时响应变更比遵循计划更有价值。- www.agilemanifesto.org阅读全文>
发表于 @ 2007年09月05日 20:10:00|评论(loading...)|编辑
优秀的测试员是修炼成的,需要内炼内功,外炼招式和兵器。内功的修炼,即测试理论的学习,在《实用主义测试员眼中的测试理论》中已经讲过。这里我们来看看十八般兵器,我们测试员怎么把它们都耍好?阅读全文>
发表于 @ 2007年09月05日 20:07:00|评论(loading...)|编辑
自动化测试把记录的或编写的用户操作序列的脚本回放,能覆盖被测软件的一部分特定的区域。为了获取大面积的覆盖,你可以用不同的数据来输入。如果你测试一个窗体的输入,录制完脚本后,你只是获得了录制时输入的数据的脚本。而且通常你录制时指定的数据不会引起程序的错误,但是其他数据可能会。Data-Driven Testing,数据驱动测试让你用不同的数据输入来测试软件,确保软件在各种输入情况下都工作正常。阅读全文>
发表于 @ 2007年09月05日 20:04:00|评论(loading...)|编辑
软件测试是一门需要不断学习补充新知识的学科,要想成为一名优秀的测试员就必须像成为一名武林高手一样不断研习武艺,博采众家之长,消化吸收后据为己有,这样才能最终称霸武林,并且立于不败之地。阅读全文>
发表于 @ 2007年09月04日 21:54:00|评论(loading...)|编辑
自动化测试脚本的创建其实主要是编程任务。如果测试不需要加载数据,主要目的是测试一个对象而已(例如一个窗体),那么你可以写一两个脚本使用几个本地变量或全局变量就可以了。但是,大部分测试项目会很大,包括很多脚本单元并使用很多的测试数据,在这种情况下,如果使用面向对象的方式编程就会变得逻辑上简单点。例如为每个测试窗体创建一个对象,使用这些对象的方法和属性来测试窗体上的控件。阅读全文>
发表于 @ 2007年09月04日 21:49:00|评论(loading...)|编辑
分布式测试与非分布式测试是测试类型的一种划分方法。非分布式测试运行在一个独立的机器上,通常不与其他机器进行交互;相反,分布式测试是指测试由好几部分组成并且在不同的机器上执行。阅读全文>
发表于 @ 2007年09月04日 21:40:00|评论(loading...)|编辑
在某些开发人员眼里,测试很神秘;在某些开发人员眼里,测试很简单;在某些开发人员眼里,测试就是质量。下面是关于测试开发人员需要知道的一些基本的东西。阅读全文>
发表于 @ 2007年09月03日 21:24:00|评论(loading...)|编辑
相对于高级过程的录制和回放,低级过程录制的脚本可读性差,不易于维护。但是低级过程有时候却是高级过程不可替代的,例如对有些不能识别的控件的操作阅读全文>
发表于 @ 2007年09月03日 21:20:00|评论(loading...)|编辑
尝试把自动化测试想成是“任何使用工具来支持测试”。敏捷自动化测试就是把敏捷开发的原则应用在测试自动化上。阅读全文>
发表于 @ 2007年09月02日 16:44:00|评论(loading...)|编辑
作为动态软件开发(software development dynamics)的研究者,我对CMM很反感。我认为它过分简化了软件过程的问题,对于我们这些已经理解软件开发的人来说提供的益处太少,而对于那些不懂软件开发的人来说则提供了危险的建议。这是我推崇Judy Bamberger的原因。Judy不是一个过程官僚主义者-她是一个充满热情的、有自己思想的思考者。她应用CMM。而且她驯服了CMM,她让CMM跳过了火圈,她把CMM的智慧带出了字面,抛弃了CMM字面的苍白的内容。我从她的方法中感受到很多真实,让我想进一步理解得更好。-James Bach阅读全文>
发表于 @ 2007年09月01日 22:00:00|评论(loading...)|编辑
有位读者这样写道:“我最近管理一个QA组。就像许多测试组织一样,我们需要证明我们存在的价值。管理者经常问的一个问题就是:‘你的团队贡献了什么东西?’就像其他很多事情一样,我需要用定量的数据来说话。”阅读全文>
发表于 @ 2007年09月01日 21:54:00|评论(loading...)|编辑
自动化测试并不是所有地方都可以使用,只有计算机能识别、方便检查和比较的地方才能有效发挥自动化测试的功效。阅读全文>
发表于 @ 2007年09月01日 21:49:00|评论(loading...)|编辑