-
RBT
测试
测试
人员
的首要职责是找
bug
,
但是最重要、
最根本的职责应该是在软件产品发布前确保
公司的软件产品满足
顾客的需求。
< br>测试组采用
RBT
(
Requi
rements-based testing
),基于需求的测试方法会使测试更加<
/p>
有效,因为它使测试专注于质量问题产生的根源。
研究报告指出,多年来,大部分的软件项目不能按计划完成,
不能有效控制成本。大部分
项目失败的首要原因是软件质量差,导致大量的返工、重新设
计和编码。
其中软件质量差的两大原因是:软件需求规格说明
书的错误、有问题的系统测试覆盖。
需求规格说明书中的错误
我们经常听到最终用户抱怨、
不用我
们的软件,
而这些软件还通过了严格的测试和
QA
。
对于这点我们不会感到惊讶,原因是我们知道需求从一开始就是错误的。<
/p>
一项调查(
James Marti
n
(“An Information Systems Manifesto,” Prentice
Hall, 1984
)
表明
56%<
/p>
的缺陷其实是在软件需求阶段被引入的。而这其中的
50%
是由于需求文档编写有
问题、不明确、不清晰、不正确导致的。剩下的
50%
是由于需求的遗漏导致的。
有问题的测试覆盖
要获得满意的测试覆盖率是很难的。
尤其现在的系统都比较复杂,
功能场景很多,
逻辑
分支很多,要做到完全的覆盖几乎不可能。
再者,需求的变更往往缺乏控制,需求与测试用例之间往往缺
乏可跟踪性。
RBT
三大最佳实践
1
、
Test
early and
often.
尽早测试,频繁地测试
确认需求的业务价值。
各利益相关方应该对需求进行评审。
通过用例检查需求的完整性
应用语言分析
技术
确保需求文档清晰一致,不会引起同一问题不同人有不同的解释。
2
、
Test with your head, not your
gut.
不要单凭经验测试
不要依赖测试人员的经验来设计测试用例,应该采用系统、严
格的测试用例设计方法,
而不是依赖有经验的测试人员的技巧。通过这样的方式来增加测
试覆盖的有效性。格式化、
结构化的需求文档有助于测试人员评估需求的测试覆盖率。<
/p>
通过测试
用例评审来检查测试用例存在的错误,并且找出需求的不足之处。
3
、
Test with measurement and improvement
in mind.
测试过程中要保持度量
在使用基于需求的测试方法的过程
中,
保持对需求的可追踪性非常重要。
保持需求与测
试用例及测试之间的可追踪性有助于监视进度、度量覆盖率,当然也有助于控制需求变更。
---
hink
we need to break out of the mythology that testing
is some kind of robotic process.
我想我们需要
粉碎这种测试观点
:
测试是一种机械的过程
需求开发不是在项目启动时一次搞定的。
实际上,
需求是贯穿在项目生命周期中的两方谈判。
一方在问:我们需要什么?
而另一方则在问:我们能构建什么?
这两方对话的质量帮助决定产品的最终质量。
我把需求理解成众多想法的集合,
它们共同为特定产品定义质量。
我把测试定义成开发一套
评估系统的过程,用于对产品质量进行评估。
RISK AND REQUIREMENTS TESTING
风险与需求测试
至少有四种关于需求
与测试的
腐朽观点
:
1.
除非有稳定的需求,否则测试不可能进行。
p>
2.
一个软件产品必须满足它的特定的需求。
3.
所有测试用例必须可追踪到一个或多个特定的需求项,
反之亦然。
4.
需求必须以可测的方式描述。
然而,当我们考虑到风险,我相信有更丰富的概念出现。
Testing without stated requirements
没有特定需求下的测试
满足需求是非
常重要的,
测试员的工作之一就是确认产品满足需求,
所以明显
测试人员需要
清楚需求。所以上面说的不无道理,并且在大部分情况下是对的。
但是,
由于不完整性和不清晰性,
测试不能仅仅认为是一个确认过程。
测试同时还是探索需
< br>求和实现的过程。
因此,
测试不仅可以没有特定需求,<
/p>
而且在需求不确定的情况下特别有用。
我想我们需要粉碎这种测试
观点
:
测试是一种机械的过程
.
通过测试和开发的合作会产生巨
大的价值。
有
经验的测试员通过他们对未定需求的理解评价产品,
并且通过观察来挑战或提
问项目成员对质量的共同理解。
一个好的测试员
会对特定需求的差距始终保持警惕,
并且解决这些差距到一定的程度:
< br>满足
特定情况下的风险。
Satisfying stated requirements
满足特定需求
如果每一个特定的需求
项都是产品的真实声明,
然后我们把产品质量定义为这一前提的延伸。
< br>那么软件产品必须满足它的特定需求这一观点是成立的。
但是那有赖于我们有非常
清晰和完
整的需求集合。否则,你将被锁定在一个很窄的质量范围内。
< br>
关于满足需求的更广泛的思考范围是把我们的思维转变到考虑不满足特定需求的
风险。
好的
测试员会努力地回答这个问题:什么是这个产品的重
要问题?
Tracing test cases to
requirements
把测试用例跟踪到需求
需求如果要发挥作用,则测试与需求之间应该有所关联。谈到
可追踪性,通常摘要为:
为每个需求项
ID
,列举关联的测试用例的
ID
;
为每个测试
ID
,列举关联的需求
ID
。
-
-
-
-
-
-
-
-
-
上一篇:2012年暨南大学华侨大学两校联招语文试题
下一篇:外研版英语选修六答案