028-86261949

当前位置:首页 > 技术交流 > 3种测试需求类型:显式,隐式和潜在需求

3种测试需求类型:显式,隐式和潜在需求

2020/10/19 10:38 分类: 技术交流 浏览:0

假设你是一名新测试员。你开始工作的第一天,就被介绍给团队,并在办公桌旁看到。你启动计算机并遇到对手:你打算测试的软件。该软件的一组需求,可以指导你完成任务。

Internet上对“需求类型”的快速搜索提出了用于分类需求的各种系统,包括惠普的 FURPS +模型IEEE先进的系统。这些模型可能对收集需求的人有所帮助,但对测试人员而言并没有那么有用。对于测试人员,我提出了一个不同的,更简单的系统,其中按需求的测试方式对需求进行了分类。对于测试人员,实际上只有三类:显式,隐式和潜在需求。

明确的需求写下的内容
我们的第一类需求是明确的需求。这是最简单的类型,最容易测试。明确的需求最常见于利益相关者传达给开发团队的文档中。它们可能采用精心设计的规范,一组验收标准或一组线框的形式。

软件是明确需求描述的内容吗?如果是这样,那很好。如果不是,那就不好了------记录一个错误。简单吧?

如果没有详尽的说明该怎么办?你怎么知道某个东西是否是错误?

首先要记住的是,即使在没有明确的设计文档的情况下,总会有明确的需求摆在某个地方。以声明的形式寻找明确的需求,即与最终用户就软件可以做的事情进行沟通。这些通常可以在用户文档或营销材料中找到。

要记住的另一件事是,明确的需求只是难题的一部分。

隐式需求:客户期望的事物
隐式需求是第二种类型。这些是用户期望得到的所有未被明确捕获的东西。示例包括性能,可用性,可用性和安全性。用户希望他们的密码不会以纯文本形式存储;不需要任何人写下该需求。

考虑一个基于云存储产品,该产品可让你在线存储文件。该产品提出了一个新的明确需求:用户应该能够使用共享按钮通过URL与其他用户共享私人内容。但是,在测试时发现,通过修改生成的URL中的值,其他用户可以查看共享用户的所有私有内容。这违反了一个隐含的需求,即其他用户只能访问共享的内容,从而导致显示错误。

隐式需求有时被称为“非功能性”需求,尽管我发现用法令人困惑。当然,可以明确捕获对任何“非功能性”领域的业务期望,在这一点上可以将它们视为任何其他显式需求。

潜在需求:使客户满意的事物
最后,我们有潜在需求。潜在需求表示用户根据以前的经验不会期望的行为,但是这会使他们更喜欢该软件。例如:当我在帐户之间转移资金时,我的银行会有一个动态过渡。我没想到它能做到这一点,但是它确实帮助我了解到我成功了,而且看起来很酷,所以我很高兴。另一个例子是游戏中的云同步:当视频游戏开始允许用户访问任何计算机上保存的游戏文件时,该功能使用户感到惊讶和高兴。

当你开始登录时,有些网站会自动完成你的用户名,有些则不会。这是一个潜在需求的示例,随着时间的推移,该潜在需求将成为隐含需求。

测试三种类型的需求
为什么以这种方式分解需求?这是查看软件的有用方法吗?

对于测试人员,打破这样的需求是因为显性,隐性,和潜在的需求都必须用不同的关于他们测试的方式并在其中未满足的处理这些需求的方式处理有用。让我们依次解决每个问题。

测试:明确的需求
每当你将软件与任何书面文档进行比较时,都在使用明确的需求进行测试。但是请记住,明确的需求通常意味着也应执行一个或多个否定检查。

当软件无法满足明确的需求时,请首先检查是需要更改软件还是文档。可以是一个,也可以是两个。如果该软件在未达到其明确需求的情况下进入测试阶段,则值得退后一步并检查你团队的流程。显式需求的验证应由开发人员编写代码来进行,理想情况下,应通过创建一组自动检查来证明这些需求已得到满足,从而进行处理。

测试:隐式需求

在隐患发现方面和错误报告方面,隐含需求的测试都非常棘手。它还代表了测试人员帮助开发工作的最佳机会。

为了测试隐式需求,测试人员必须成为客户问题领域以及该软件用来解决这些问题的技术专家。测试隐式需求时,也很难证明“覆盖范围”,尽管使用启发式测试方法会有所帮助。

当软件无法满足隐式需求时,该失败的报告还必须包括对客户为何期望软件表现不同的解释。就其对客户体验的影响而言,错误的影响是什么?

测试:潜在需求
测试潜在需求是所有过程中最棘手的,因为在你接触到软件之前无法猜测这些需求是什么。要测试潜在需求,测试人员必须深刻理解客户的偏好,同时还要记住他们不是客户。

找出客户实际使用软件的方式,并使用该信息设计方案测试以发现潜在需求。还要记住,最终用户并不总是知道有什么可能,并且可能不会要求所有能让他们高兴的东西。

当软件未能满足潜在需求时,该故障代表了改进软件的机会。它还代表了计划外的工作。与其将这些机会视为错误,不如寻找一种方法将其纳入团队的常规计划流程中。一个具有适应新潜在需求的灵活机制的团队将生产出更满意的产品和更高兴的客户

测试不仅仅是检查明确的需求
将测试工作看做是规范与实际软件之间的比较可能会很诱人。但是,即使在存在规范(可能不存在)的情况下,测试人员也必须考虑没有写下来的隐性和潜在需求。专家测试员是一位能够深刻理解那些隐含和潜在需求以及如何对其进行测试的测试员。

#标签:测试,软件测试,程序员