软件测试中影响软件需求质量的因素有哪些?

软件的开发和上线应用,离不开软件测试这一过程,软件测试是分析者用来发现软件缺陷的过程。没有任何软件是完全无缺陷的,测试者的目标是减少在项目中找到的缺陷,并且将质量灌输到软件应用中。

软件测试和用户体验有非常直接的关系,因为软件测试者需要通过分析软件来获知软件是否符合用户的期望。软件测试是一种设计来适当保障软件符合用户所需求的质量活动。

用户所需求的也就是软件所需求的,所以软件需求是保证最终软件质量最为关键的一环,也是软件测试的基础。高质量的软件需求,为产品的最终质量打下了坚实的基础。

那么,影响高质量软件需求质量的因素有哪些?

一、理解性

需求必须是可以理解的,可理解的需求组织方式便于阅读、评审。下面是一些提高可理解性的方法:

1、根据对象(如用户、订单和发票)来组织需求。

2、用户需求应该按业务过程或者场景来进行组织,这样,行业专家就能快速判断是否有遗漏的需求。

3、将功能需求和非功能需求分开,例如,将功能需求和性能需求分开说明。

4、根据详细程度来组织需求。由需求对系统的影响来决定,例如“系统应该能够接收订单”与“系统应该能够接收销售点的零售订单”对系统就有不同的影响。

5、编写出来的需求应该符合语法规则,样式应该便于阅读、评审。如果需求是用word文档编写的,就应该启用拼写检查选项,同时注意上下文,因为word并不检查下文是否合适。

6、需求应该是明确的,在需求中应恰当的使用“应该”一词,而不要使用“将会”或者“应该会”,因为后面两个词讲的是目标,而不是需求。如果使用非命令式的词语,这样表明需求是可选的,可能会导致需求被误解,可能增加项目成本,也可能使时间周期增加,降低质量,或者出现合同纠纷。

二、必需性

需求应该是必需的。举个非必须需求的例子。假设下面这个需求已包含在需求规格说明书中:“如果有100个测试用例通过,那么系统应该是可接受的。”这实际是一个项目过程,而不是需求,不应该记录在需求规格说明里。需求必须与正在构建的目标应用或系统相关。

三、可修改

需求及相关信息必须是可以修改的。选用存储需求的技术影响着需求的可修改性,例如,字处理器中的需求比需求管理工具(如CaliberRM)中的更难修改。但是,针对非常小的项目,因为需求管理工具成本与学习曲线的关系,字处理器就成了最佳选择。

一致性也对可修改性有影响。需求的编写模板结构应该使需求很好呈现,从而方便修改。最佳实践应把每个需求用唯一标识符进行标记。任何需求的依赖关系都应该有标注,例如,需求X应该依赖于需求Y。

四、非冗余

不应该出现重复的需求,否则会引发问题。重复需求会加重维护工作,例如,每次修改某个需求时,也要修改与之重复的那个需求。重复需求还会提高出现注入需求错误的可能性。

五、简洁性

一个好的需求必须杜绝出现冗词赘句或者多余信息。一个简洁的需求表达应该一语中的,诸如“另一方面”、“然而”、“回想起来”这类词眼应该杜绝。

六、可测试

可测需求必须可以被验证确认,也可以说,需求的意图应该是能够证明的。不可测试的需求适合测试人员要做客观解释的时候。最好就是带着问题:我是否可以测试这个需求,了解它能否行得通?

七、跟踪性

需求必须是可跟踪的,这是验证是否满足需求的关键。复合需求很难跟踪,可能导致产品测试失败。例如“系统应该计算出退休金和遗属抚恤金”就是一个复合需求。通过列表方法可以避免在评审各个需求的跟踪能力时造成误解。

八、范围定义

所有需求必须在指定范围内定义。项目的范围是根据为项目建立的所有需求而定的。项目范围按照对需求的标识、分析和基准线来定义和细化。“跟踪能力矩阵”有助于保证需求位于指定范围内。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券