Scrum交互瀑布式测试

有时候,在Scrum中对用户故事进行测试的时候需要在最后进行一些瀑布式的步骤。在这里我所阐述的情景是基于这样一种情况:在Scrum流程中,需要在Scrum流程的最后阶段进行一些顺序性的步骤来对所开发的功能进行测试。这些步骤在我们的组织中是必须的,而且这些步骤是为了产品发布的瀑布式流程,因此,我们不得不处理在Scrum中进行瀑布式流程的情况。然而,据我所知,遇到这种情况并不只有我们。我们把这种情景叫做“Scrum和瀑布式的交互”(详见Michele Sliger的《Bridging the gap: Agile projects in the Waterfall enterprise》)。我认为这种情形应该是很常见的,因为在一个组织中Scrum的实施一般是循序渐进的,也就是说会存在Scrum和瀑布式同时存在的时期。 Read more

失败是可选的

本文在于告诉你如何去失败,更准确地说,是如何在现在失败而在以后获得更大的成功。

Scrum的其中一个价值就是勇气。指出问题的勇气,寻求帮助的勇气,接受帮助的勇气,还有最重要的——当你知道有可能失败时,敢于承担风险的勇气。事实上,在敏捷的“检查和应用”的实践中,短期的失败是非常普遍的。我们都知道,一旦我们实施了新的实践,结果和我们预期不一致的情况出现的几率是非常高的,这个时候我们应该放弃它,然后寻找更好的办法。 Read more

敏捷测试:反学习的关键

“懂得如何反学习的人学得最快。”
——作者不明

当QA团队和管理层刚刚开始运用敏捷的实践的时候,他们通常会遇到如何将传统的并且在他们脑海里已经根深蒂固的思想和实践忘掉的问题。

下面是一些从QA的角度出发,在实施敏捷实践之前需要忘却的一些关键点: Read more

软件自动化测试工具介绍

一、功能测试工具

1、QTP测试工具
全名HP QuickTest Professional software ,最新的版本为HP QuickTest Professional 11.0
QTP是quicktest Professional的简称,是一种自动测试工具。使用QTP的目的是想用它来执行重复的手动测试,主要是用于回归测试和测试同一软件的新版本。因此你在测试前要考虑好如何对应用程序进行测试,例如要测试那些功能、操作步骤、输入数据和期望的输出数据等
QuickTest针对的是GUI应用程序,包括传统的Windows应用程序,以及现在越来越流行的Web应用。它可以覆盖绝大多数的软件开发技术,简单高效,并具备测试用例可重用的特点。其中包括:创建测试、插入检查点、检验数据、增强测试、运行测试、分析结果和维护测试等方面。 Read more

基于界面自动化测试框架的4个发展阶段

我们知道基于界面的软件自动化测试经历了4个发展阶段。

(1)无框架阶段(即简单的录制/回放)
  在早期,自动化测试并没有框架这一说,自动化测试只是简单的录制/回放,由工具录制并记录操作的过 程或数据,并形成脚本。通过对脚本的回放重复人工操作的过程。这种模式脚本与数据混合在一起。站在软件开发的角度来看,这种开发耦合度高,我们知道软件工 程的思想,是高内聚低耦合。而简单的录制回放完全违背了这一思想,简单的录制回放,重用性非常低,同时维护成本非常高。
Read more

如何进行测试自动化的成本估算

对于自动化测试团队而言,容易犯的一个典型的错误是:没有选择恰当的测试用例来实现自动化。
大部分测试自动化项 目失败的原因主要归咎于被测试应用程序的快速变化、不恰当的测试用例、不可靠的框架、脚本编程的问题。分析这些问题的根源,我们可以看到,自动化测试必须 分阶段逐步开展,而不能局限在某个阶段完成自动化测试。因此,建议自动化测试从选择那些重要的、合适的测试用例开始,然后慢慢地扩展到其他方面。这样会带来较低的维护成本,但是实现更重要的业务价值。
那么如何选择合适的测试用例呢? Read more

敏捷测试需注意的五种危险行为

如果开发团队采用了敏捷方法,那就意味着程序员需要做更多的软件测试。然而,这并不是说软件测试人员就没事做了。他们需要调整,并学会与以往不同的测试方式。

DragonFire公司的顾问Janet Gregory认为,对用户需求的测试尤为重要,“除非经过测试,否则不能认为任何业务需求已经完成。

STAREAST测试展会(STAREAST Conference and Testing Expo)上,Gregory讨论了“新晋敏捷测试员的危险行为与陷阱”,并解释了敏捷测试员所应做的工作。她指出软件测试人员经常做出的危险行为,这些危险行为可能带来的风险,以及如何规避这些危险和风险。 Read more

敏捷测试的启示

最近,好像整个软件开发界都在讨论和实践敏捷方法,做什么事情都要敏捷,开发要敏捷,测试也要敏捷。

什么是敏捷?

敏捷宣言:个体和交互比过程和工具更有价值;能工作的软件比全面的文档更有价值;顾客的协作比合同谈判更有价值;及时响应变更比遵循计划更有价值。-

敏捷开发是递增式的、迭代的、不断调整的开发模式。在敏捷开发中,工作被分解成“故事”,也叫特性或用例,组合成任务分派给不同的程序员。敏捷开发讲求合作,结对进行编程,避免个人拥有专门的知识,代码属于项目组共有。在敏捷开发中不存在回退,讲究持续地集成,单元测试(通常使用测试驱动的开发方式),持续地进行回归测试。

敏捷测试是指在敏捷开发模式中的测试。敏捷测试包括单元测试(通常由程序员完成)和可接受性测试(通常由测试人员完成)。 Read more

端到端测试 vs. 单元测试

最近两周一直跟公司里面的一些工程师讨论单元测试的价值,是不是只要有端到端的自动测试已经足够。很显然我的观点是都要有,而且要以单元测试为主,为基础。

持反对意见的工程师觉得因为我们已经有了从页面到数据库的端到端的测试,能够覆盖到系统中各个层次,因此就没有必要再去为每一层中的各个类去写单独的单元测试。我认为可以从几方面来考虑这个问题。

Read more